1b077aed3SPierre Pronchery=pod 2b077aed3SPierre Pronchery 3b077aed3SPierre Pronchery=head1 NAME 4b077aed3SPierre Pronchery 5b077aed3SPierre Proncherylife_cycle-pkey - The PKEY algorithm life-cycle 6b077aed3SPierre Pronchery 7b077aed3SPierre Pronchery=head1 DESCRIPTION 8b077aed3SPierre Pronchery 9b077aed3SPierre ProncheryAll public keys (PKEYs) go through a number of stages in their life-cycle: 10b077aed3SPierre Pronchery 11b077aed3SPierre Pronchery=over 4 12b077aed3SPierre Pronchery 13b077aed3SPierre Pronchery=item start 14b077aed3SPierre Pronchery 15b077aed3SPierre ProncheryThis state represents the PKEY before it has been allocated. It is the 16b077aed3SPierre Proncherystarting state for any life-cycle transitions. 17b077aed3SPierre Pronchery 18b077aed3SPierre Pronchery=item newed 19b077aed3SPierre Pronchery 20b077aed3SPierre ProncheryThis state represents the PKEY after it has been allocated. 21b077aed3SPierre Pronchery 22b077aed3SPierre Pronchery=item decapsulate 23b077aed3SPierre Pronchery 24b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to perform a private key decapsulation 25*aa795734SPierre Proncheryoperation. 26b077aed3SPierre Pronchery 27b077aed3SPierre Pronchery=item decrypt 28b077aed3SPierre Pronchery 29b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to decrypt some ciphertext. 30b077aed3SPierre Pronchery 31b077aed3SPierre Pronchery=item derive 32b077aed3SPierre Pronchery 33b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to derive a shared secret. 34b077aed3SPierre Pronchery 35b077aed3SPierre Pronchery=item digest sign 36b077aed3SPierre Pronchery 37b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to perform a private key signature 38b077aed3SPierre Proncheryoperation. 39b077aed3SPierre Pronchery 40b077aed3SPierre Pronchery=item encapsulate 41b077aed3SPierre Pronchery 42b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to perform a public key encapsulation 43*aa795734SPierre Proncheryoperation. 44b077aed3SPierre Pronchery 45b077aed3SPierre Pronchery=item encrypt 46b077aed3SPierre Pronchery 47b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to encrypt some plaintext. 48b077aed3SPierre Pronchery 49b077aed3SPierre Pronchery=item key generation 50b077aed3SPierre Pronchery 51b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to generate a new public/private key. 52b077aed3SPierre Pronchery 53b077aed3SPierre Pronchery=item parameter generation 54b077aed3SPierre Pronchery 55b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to generate key parameters. 56b077aed3SPierre Pronchery 57b077aed3SPierre Pronchery=item verify 58b077aed3SPierre Pronchery 59b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to verify a public key signature. 60b077aed3SPierre Pronchery 61b077aed3SPierre Pronchery=item verify recover 62b077aed3SPierre Pronchery 63b077aed3SPierre ProncheryThis state represents the PKEY when it is ready to recover a public key signature data. 64b077aed3SPierre Pronchery 65b077aed3SPierre Pronchery=item freed 66b077aed3SPierre Pronchery 67b077aed3SPierre ProncheryThis state is entered when the PKEY is freed. It is the terminal state 68b077aed3SPierre Proncheryfor all life-cycle transitions. 69b077aed3SPierre Pronchery 70b077aed3SPierre Pronchery=back 71b077aed3SPierre Pronchery 72b077aed3SPierre Pronchery=head2 State Transition Diagram 73b077aed3SPierre Pronchery 74b077aed3SPierre ProncheryThe usual life-cycle of a PKEY object is illustrated: 75b077aed3SPierre Pronchery 76b077aed3SPierre Pronchery=begin man 77b077aed3SPierre Pronchery 78b077aed3SPierre Pronchery +-------------+ 79b077aed3SPierre Pronchery | | 80b077aed3SPierre Pronchery | start | 81b077aed3SPierre Pronchery | | 82b077aed3SPierre Pronchery EVP_PKEY_derive +-------------+ 83b077aed3SPierre Pronchery +-------------+ EVP_PKEY_derive_set_peer | +-------------+ 84b077aed3SPierre Pronchery | |----------------------------+ | +----------------------------| | 85b077aed3SPierre Pronchery | derive | | | | EVP_PKEY_verify | verify | 86b077aed3SPierre Pronchery | |<---------------------------+ | +--------------------------->| | 87b077aed3SPierre Pronchery +-------------+ | +-------------+ 88b077aed3SPierre Pronchery ^ | ^ 89b077aed3SPierre Pronchery | EVP_PKEY_derive_init | EVP_PKEY_verify_init | 90b077aed3SPierre Pronchery +---------------------------------------+ | +---------------------------------------+ 91b077aed3SPierre Pronchery | | | 92b077aed3SPierre Pronchery +-------------+ | | | +-------------+ 93b077aed3SPierre Pronchery | |----------------------------+ | | | +----------------------------| | 94b077aed3SPierre Pronchery | digest sign | EVP_PKEY_sign | | | | | EVP_PKEY_verify_recover | verify | 95b077aed3SPierre Pronchery | |<---------------------------+ | | | +--------------------------->| recover | 96b077aed3SPierre Pronchery +-------------+ | | | +-------------+ 97b077aed3SPierre Pronchery ^ | | | ^ 98b077aed3SPierre Pronchery | EVP_PKEY_sign_init | | | EVP_PKEY_verify_recover_init | 99b077aed3SPierre Pronchery +---------------------------------+ | | | +---------------------------------+ 100b077aed3SPierre Pronchery | | | | | 101b077aed3SPierre Pronchery +-------------+ | | | | | +-------------+ 102b077aed3SPierre Pronchery | |----------------------------+ | | | | | +----------------------------| | 103b077aed3SPierre Pronchery | decapsulate | EVP_PKEY_decapsulate | | | | | | | EVP_PKEY_decrypt | decrypt | 104b077aed3SPierre Pronchery | |<---------------------------+ | | v | | +--------------------------->| | 105b077aed3SPierre Pronchery +-------------+ | +-------------+ | +-------------+ 106b077aed3SPierre Pronchery ^ +---| |---+ ^ 107b077aed3SPierre Pronchery | EVP_PKEY_decapsulate_init | | EVP_PKEY_decrypt_init | 108b077aed3SPierre Pronchery +-------------------------------------| newed |-------------------------------------+ 109b077aed3SPierre Pronchery | | 110b077aed3SPierre Pronchery +---| |---+ 111b077aed3SPierre Pronchery +-------------+ | +-------------+ | +-------------+ 112b077aed3SPierre Pronchery | |----------------------------+ | | | | +----------------------------| | 113b077aed3SPierre Pronchery | encapsulate | EVP_PKEY_encapsulate | | | | | | EVP_PKEY_encrypt | encrypt | 114b077aed3SPierre Pronchery | |<---------------------------+ | | | | +--------------------------->| | 115b077aed3SPierre Pronchery +-------------+ | | | | +-------------+ 116b077aed3SPierre Pronchery ^ | | | | ^ 117b077aed3SPierre Pronchery | EVP_PKEY_encapsulate_init | | | | EVP_PKEY_encrypt_init | 118b077aed3SPierre Pronchery +---------------------------------+ | | +---------------------------------+ 119b077aed3SPierre Pronchery | | 120b077aed3SPierre Pronchery +---------------------------------------+ +---------------------------------------+ 121b077aed3SPierre Pronchery | EVP_PKEY_paramgen_init EVP_PKEY_keygen_init | 122b077aed3SPierre Pronchery v v 123b077aed3SPierre Pronchery +-------------+ +-------------+ 124b077aed3SPierre Pronchery | |----------------------------+ +----------------------------| | 125b077aed3SPierre Pronchery | parameter | | | | key | 126b077aed3SPierre Pronchery | generation |<---------------------------+ +--------------------------->| generation | 127b077aed3SPierre Pronchery +-------------+ EVP_PKEY_paramgen EVP_PKEY_keygen +-------------+ 128b077aed3SPierre Pronchery EVP_PKEY_gen EVP_PKEY_gen 129b077aed3SPierre Pronchery 130b077aed3SPierre Pronchery 131b077aed3SPierre Pronchery + - - - - - + +-----------+ 132b077aed3SPierre Pronchery ' ' EVP_PKEY_CTX_free | | 133b077aed3SPierre Pronchery ' any state '------------------->| freed | 134b077aed3SPierre Pronchery ' ' | | 135b077aed3SPierre Pronchery + - - - - - + +-----------+ 136b077aed3SPierre Pronchery 137b077aed3SPierre Pronchery=end man 138b077aed3SPierre Pronchery 139b077aed3SPierre Pronchery=for html <img src="img/pkey.png"> 140b077aed3SPierre Pronchery 141b077aed3SPierre Pronchery=head2 Formal State Transitions 142b077aed3SPierre Pronchery 143b077aed3SPierre ProncheryThis section defines all of the legal state transitions. 144b077aed3SPierre ProncheryThis is the canonical list. 145b077aed3SPierre Pronchery 146b077aed3SPierre Pronchery=begin man 147b077aed3SPierre Pronchery 148b077aed3SPierre Pronchery Function Call ---------------------------------------------------------------------- Current State ---------------------------------------------------------------------- 149b077aed3SPierre Pronchery start newed digest verify verify encrypt decrypt derive encapsulate decapsulate parameter key freed 150b077aed3SPierre Pronchery sign recover generation generation 151b077aed3SPierre Pronchery EVP_PKEY_CTX_new newed 152b077aed3SPierre Pronchery EVP_PKEY_CTX_new_id newed 153b077aed3SPierre Pronchery EVP_PKEY_CTX_new_from_name newed 154b077aed3SPierre Pronchery EVP_PKEY_CTX_new_from_pkey newed 155b077aed3SPierre Pronchery EVP_PKEY_sign_init digest digest digest digest digest digest digest digest digest digest digest 156b077aed3SPierre Pronchery sign sign sign sign sign sign sign sign sign sign sign 157b077aed3SPierre Pronchery EVP_PKEY_sign digest 158b077aed3SPierre Pronchery sign 159b077aed3SPierre Pronchery EVP_PKEY_verify_init verify verify verify verify verify verify verify verify verify verify verify 160b077aed3SPierre Pronchery EVP_PKEY_verify verify 161b077aed3SPierre Pronchery EVP_PKEY_verify_recover_init verify verify verify verify verify verify verify verify verify verify verify 162b077aed3SPierre Pronchery recover recover recover recover recover recover recover recover recover recover recover 163b077aed3SPierre Pronchery EVP_PKEY_verify_recover verify 164b077aed3SPierre Pronchery recover 165b077aed3SPierre Pronchery EVP_PKEY_encrypt_init encrypt encrypt encrypt encrypt encrypt encrypt encrypt encrypt encrypt encrypt encrypt 166b077aed3SPierre Pronchery EVP_PKEY_encrypt encrypt 167b077aed3SPierre Pronchery EVP_PKEY_decrypt_init decrypt decrypt decrypt decrypt decrypt decrypt decrypt decrypt decrypt decrypt decrypt 168b077aed3SPierre Pronchery EVP_PKEY_decrypt decrypt 169b077aed3SPierre Pronchery EVP_PKEY_derive_init derive derive derive derive derive derive derive derive derive derive derive 170b077aed3SPierre Pronchery EVP_PKEY_derive_set_peer derive 171b077aed3SPierre Pronchery EVP_PKEY_derive derive 172b077aed3SPierre Pronchery EVP_PKEY_encapsulate_init encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate encapsulate 173b077aed3SPierre Pronchery EVP_PKEY_encapsulate encapsulate 174b077aed3SPierre Pronchery EVP_PKEY_decapsulate_init decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate decapsulate 175b077aed3SPierre Pronchery EVP_PKEY_decapsulate decapsulate 176b077aed3SPierre Pronchery EVP_PKEY_paramgen_init parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter parameter 177b077aed3SPierre Pronchery generation generation generation generation generation generation generation generation generation generation generation 178b077aed3SPierre Pronchery EVP_PKEY_paramgen parameter 179b077aed3SPierre Pronchery generation 180b077aed3SPierre Pronchery EVP_PKEY_keygen_init key key key key key key key key key key key 181b077aed3SPierre Pronchery generation generation generation generation generation generation generation generation generation generation generation 182b077aed3SPierre Pronchery EVP_PKEY_keygen key 183b077aed3SPierre Pronchery generation 184b077aed3SPierre Pronchery EVP_PKEY_gen parameter key 185b077aed3SPierre Pronchery generation generation 186b077aed3SPierre Pronchery EVP_PKEY_CTX_get_params newed digest verify verify encrypt decrypt derive encapsulate decapsulate parameter key 187b077aed3SPierre Pronchery sign recover generation generation 188b077aed3SPierre Pronchery EVP_PKEY_CTX_set_params newed digest verify verify encrypt decrypt derive encapsulate decapsulate parameter key 189b077aed3SPierre Pronchery sign recover generation generation 190b077aed3SPierre Pronchery EVP_PKEY_CTX_gettable_params newed digest verify verify encrypt decrypt derive encapsulate decapsulate parameter key 191b077aed3SPierre Pronchery sign recover generation generation 192b077aed3SPierre Pronchery EVP_PKEY_CTX_settable_params newed digest verify verify encrypt decrypt derive encapsulate decapsulate parameter key 193b077aed3SPierre Pronchery sign recover generation generation 194b077aed3SPierre Pronchery EVP_PKEY_CTX_free freed freed freed freed freed freed freed freed freed freed freed freed 195b077aed3SPierre Pronchery 196b077aed3SPierre Pronchery=end man 197b077aed3SPierre Pronchery 198b077aed3SPierre Pronchery=begin html 199b077aed3SPierre Pronchery 200b077aed3SPierre Pronchery<table style="border:1px solid; border-collapse:collapse"> 201b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">Function Call</th> 202b077aed3SPierre Pronchery <th style="border:1px solid" colspan="13">Current State</th></tr> 203b077aed3SPierre Pronchery<tr><th style="border:1px solid"></th> 204b077aed3SPierre Pronchery <th style="border:1px solid" align="center">start</th> 205b077aed3SPierre Pronchery <th style="border:1px solid" align="center">newed</th> 206b077aed3SPierre Pronchery <th style="border:1px solid" align="center">digest<br>sign</th> 207b077aed3SPierre Pronchery <th style="border:1px solid" align="center">verify</th> 208b077aed3SPierre Pronchery <th style="border:1px solid" align="center">verify<br>recover</th> 209b077aed3SPierre Pronchery <th style="border:1px solid" align="center">encrypt</th> 210b077aed3SPierre Pronchery <th style="border:1px solid" align="center">decrypt</th> 211b077aed3SPierre Pronchery <th style="border:1px solid" align="center">derive</th> 212b077aed3SPierre Pronchery <th style="border:1px solid" align="center">encapsulate</th> 213b077aed3SPierre Pronchery <th style="border:1px solid" align="center">decapsulate</th> 214b077aed3SPierre Pronchery <th style="border:1px solid" align="center">parameter<br>generation</th> 215b077aed3SPierre Pronchery <th style="border:1px solid" align="center">key<br>generation</th> 216b077aed3SPierre Pronchery <th style="border:1px solid" align="center">freed</th> 217b077aed3SPierre Pronchery</tr> 218b077aed3SPierre Pronchery 219b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_new</th> 220b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 221b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 222b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 223b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 224b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 225b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 226b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 227b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 228b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 229b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 230b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 231b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 232b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 233b077aed3SPierre Pronchery</tr> 234b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_new_id</th> 235b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 236b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 237b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 238b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 239b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 240b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 241b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 242b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 243b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 244b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 245b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 246b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 247b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 248b077aed3SPierre Pronchery</tr> 249b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_new_from_name</th> 250b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 251b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 252b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 253b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 254b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 255b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 256b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 257b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 258b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 259b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 260b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 261b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 262b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 263b077aed3SPierre Pronchery</tr> 264b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_new_from_pkey</th> 265b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 266b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 267b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 268b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 269b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 270b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 271b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 272b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 273b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 274b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 275b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 276b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 277b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 278b077aed3SPierre Pronchery</tr> 279b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_sign_init</th> 280b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 281b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 282b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 283b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 284b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 285b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 286b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 287b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 288b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 289b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 290b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 291b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 292b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 293b077aed3SPierre Pronchery</tr> 294b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_sign</th> 295b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 296b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 297b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 298b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 299b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 300b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 301b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 302b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 303b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 304b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 305b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 306b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 307b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 308b077aed3SPierre Pronchery</tr> 309b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_verify_init</th> 310b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 311b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 312b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 313b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 314b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 315b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 316b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 317b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 318b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 319b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 320b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 321b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 322b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 323b077aed3SPierre Pronchery</tr> 324b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_verify</th> 325b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 326b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 327b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 328b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 329b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 330b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 331b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 332b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 333b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 334b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 335b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 336b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 337b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 338b077aed3SPierre Pronchery</tr> 339b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_verify_recover_init</th> 340b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 341b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 342b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 343b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 344b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 345b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 346b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 347b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 348b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 349b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 350b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 351b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 352b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 353b077aed3SPierre Pronchery</tr> 354b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_verify_recover</th> 355b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 356b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 357b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 358b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 359b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 360b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 361b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 362b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 363b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 364b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 365b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 366b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 367b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 368b077aed3SPierre Pronchery</tr> 369b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_encrypt_init</th> 370b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 371b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 372b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 373b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 374b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 375b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 376b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 377b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 378b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 379b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 380b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 381b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 382b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 383b077aed3SPierre Pronchery</tr> 384b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_encrypt</th> 385b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 386b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 387b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 388b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 389b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 390b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 391b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 392b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 393b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 394b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 395b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 396b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 397b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 398b077aed3SPierre Pronchery</tr> 399b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_decrypt_init</th> 400b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 401b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 402b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 403b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 404b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 405b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 406b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 407b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 408b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 409b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 410b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 411b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 412b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 413b077aed3SPierre Pronchery</tr> 414b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_decrypt</th> 415b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 416b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 417b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 418b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 419b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 420b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 421b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 422b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 423b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 424b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 425b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 426b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 427b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 428b077aed3SPierre Pronchery</tr> 429b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_derive_init</th> 430b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 431b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 432b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 433b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 434b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 435b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 436b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 437b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 438b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 439b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 440b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 441b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 442b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 443b077aed3SPierre Pronchery</tr> 444b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_derive_set_peer</th> 445b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 446b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 447b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 448b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 449b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 450b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 451b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 452b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 453b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 454b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 455b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 456b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 457b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 458b077aed3SPierre Pronchery</tr> 459b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_derive</th> 460b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 461b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 462b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 463b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 464b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 465b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 466b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 467b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 468b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 469b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 470b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 471b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 472b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 473b077aed3SPierre Pronchery</tr> 474b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_encapsulate_init</th> 475b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 476b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 477b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 478b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 479b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 480b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 481b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 482b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 483b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 484b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 485b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 486b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 487b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 488b077aed3SPierre Pronchery</tr> 489b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_encapsulate</th> 490b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 491b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 492b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 493b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 494b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 495b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 496b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 497b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 498b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 499b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 500b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 501b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 502b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 503b077aed3SPierre Pronchery</tr> 504b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_decapsulate_init</th> 505b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 506b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 507b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 508b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 509b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 510b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 511b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 512b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 513b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 514b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 515b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 516b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 517b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 518b077aed3SPierre Pronchery</tr> 519b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_decapsulate</th> 520b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 521b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 522b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 523b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 524b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 525b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 526b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 527b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 528b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 529b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 530b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 531b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 532b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 533b077aed3SPierre Pronchery</tr> 534b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_paramgen_init</th> 535b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 536b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 537b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 538b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 539b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 540b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 541b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 542b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 543b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 544b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 545b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 546b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 547b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 548b077aed3SPierre Pronchery</tr> 549b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_paramgen</th> 550b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 551b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 552b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 553b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 554b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 555b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 556b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 557b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 558b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 559b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 560b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 561b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 562b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 563b077aed3SPierre Pronchery</tr> 564b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_keygen_init</th> 565b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 566b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 567b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 568b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 569b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 570b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 571b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 572b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 573b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 574b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 575b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 576b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 577b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 578b077aed3SPierre Pronchery</tr> 579b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_keygen</th> 580b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 581b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 582b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 583b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 584b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 585b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 586b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 587b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 588b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 589b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 590b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 591b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 592b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 593b077aed3SPierre Pronchery</tr> 594b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_gen</th> 595b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 596b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 597b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 598b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 599b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 600b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 601b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 602b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 603b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 604b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 605b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 606b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 607b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 608b077aed3SPierre Pronchery</tr> 609b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_get_params</th> 610b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 611b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 612b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 613b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 614b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 615b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 616b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 617b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 618b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 619b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 620b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 621b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 622b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 623b077aed3SPierre Pronchery</tr> 624b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_set_params</th> 625b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 626b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 627b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 628b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 629b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 630b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 631b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 632b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 633b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 634b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 635b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 636b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 637b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 638b077aed3SPierre Pronchery</tr> 639b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_gettable_params</th> 640b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 641b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 642b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 643b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 644b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 645b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 646b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 647b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 648b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 649b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 650b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 651b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 652b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 653b077aed3SPierre Pronchery</tr> 654b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_settable_params</th> 655b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 656b077aed3SPierre Pronchery <td style="border:1px solid" align="center">newed</td> 657b077aed3SPierre Pronchery <td style="border:1px solid" align="center">digest<br>sign</td> 658b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify</td> 659b077aed3SPierre Pronchery <td style="border:1px solid" align="center">verify<br>recover</td> 660b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encrypt</td> 661b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decrypt</td> 662b077aed3SPierre Pronchery <td style="border:1px solid" align="center">derive</td> 663b077aed3SPierre Pronchery <td style="border:1px solid" align="center">encapsulate</td> 664b077aed3SPierre Pronchery <td style="border:1px solid" align="center">decapsulate</td> 665b077aed3SPierre Pronchery <td style="border:1px solid" align="center">parameter<br>generation</td> 666b077aed3SPierre Pronchery <td style="border:1px solid" align="center">key<br>generation</td> 667b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 668b077aed3SPierre Pronchery</tr> 669b077aed3SPierre Pronchery<tr><th style="border:1px solid" align="left">EVP_PKEY_CTX_free</th> 670b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 671b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 672b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 673b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 674b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 675b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 676b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 677b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 678b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 679b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 680b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 681b077aed3SPierre Pronchery <td style="border:1px solid" align="center">freed</td> 682b077aed3SPierre Pronchery <td style="border:1px solid" align="center"></td> 683b077aed3SPierre Pronchery</tr> 684b077aed3SPierre Pronchery</table> 685b077aed3SPierre Pronchery 686b077aed3SPierre Pronchery=end html 687b077aed3SPierre Pronchery 688b077aed3SPierre Pronchery=head1 NOTES 689b077aed3SPierre Pronchery 690b077aed3SPierre ProncheryAt some point the EVP layer will begin enforcing the transitions described 691b077aed3SPierre Proncheryherein. 692b077aed3SPierre Pronchery 693b077aed3SPierre Pronchery=head1 SEE ALSO 694b077aed3SPierre Pronchery 695b077aed3SPierre ProncheryL<EVP_PKEY_new(3)>, 696b077aed3SPierre ProncheryL<EVP_PKEY_decapsulate(3)>, L<EVP_PKEY_decrypt(3)>, L<EVP_PKEY_encapsulate(3)>, 697b077aed3SPierre ProncheryL<EVP_PKEY_encrypt(3)>, L<EVP_PKEY_derive(3)>, L<EVP_PKEY_keygen(3)>, 698b077aed3SPierre ProncheryL<EVP_PKEY_sign(3)>, L<EVP_PKEY_verify(3)>, L<EVP_PKEY_verify_recover(3)> 699b077aed3SPierre Pronchery 700b077aed3SPierre Pronchery=head1 HISTORY 701b077aed3SPierre Pronchery 702b077aed3SPierre ProncheryThe provider PKEY interface was introduced in OpenSSL 3.0. 703b077aed3SPierre Pronchery 704b077aed3SPierre Pronchery=head1 COPYRIGHT 705b077aed3SPierre Pronchery 706*aa795734SPierre ProncheryCopyright 2021-2023 The OpenSSL Project Authors. All Rights Reserved. 707b077aed3SPierre Pronchery 708b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 709b077aed3SPierre Proncherythis file except in compliance with the License. You can obtain a copy 710b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at 711b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>. 712b077aed3SPierre Pronchery 713b077aed3SPierre Pronchery=cut 714