57 #ifndef OPENSSL_HEADER_PKCS8_H 58 #define OPENSSL_HEADER_PKCS8_H 64 #if defined(__cplusplus) 107 size_t pass_raw_len);
125 const char *pass,
int pass_len,
126 uint8_t *salt,
size_t salt_len,
188 #if defined(__cplusplus) 204 #define PKCS8_R_BAD_PKCS12_DATA 100 205 #define PKCS8_R_BAD_PKCS12_VERSION 101 206 #define PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 102 207 #define PKCS8_R_CRYPT_ERROR 103 208 #define PKCS8_R_DECODE_ERROR 104 209 #define PKCS8_R_ENCODE_ERROR 105 210 #define PKCS8_R_ENCRYPT_ERROR 106 211 #define PKCS8_R_ERROR_SETTING_CIPHER_PARAMS 107 212 #define PKCS8_R_INCORRECT_PASSWORD 108 213 #define PKCS8_R_KEYGEN_FAILURE 109 214 #define PKCS8_R_KEY_GEN_ERROR 110 215 #define PKCS8_R_METHOD_NOT_SUPPORTED 111 216 #define PKCS8_R_MISSING_MAC 112 217 #define PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12 113 218 #define PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED 114 219 #define PKCS8_R_PKCS12_TOO_DEEPLY_NESTED 115 220 #define PKCS8_R_PRIVATE_KEY_DECODE_ERROR 116 221 #define PKCS8_R_PRIVATE_KEY_ENCODE_ERROR 117 222 #define PKCS8_R_TOO_LONG 118 223 #define PKCS8_R_UNKNOWN_ALGORITHM 119 224 #define PKCS8_R_UNKNOWN_CIPHER 120 225 #define PKCS8_R_UNKNOWN_CIPHER_ALGORITHM 121 226 #define PKCS8_R_UNKNOWN_DIGEST 122 227 #define PKCS8_R_UNKNOWN_HASH 123 228 #define PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 124 229 #define PKCS8_R_UNSUPPORTED_KEYLENGTH 125 230 #define PKCS8_R_UNSUPPORTED_SALT_TYPE 126 231 #define PKCS8_R_UNSUPPORTED_CIPHER 127 232 #define PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 128 233 #define PKCS8_R_BAD_ITERATION_COUNT 129 234 #define PKCS8_R_UNSUPPORTED_PRF 130 Definition: WebCryptoAPI.idl:40
OPENSSL_EXPORT X509_SIG * PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, const char *pass, int pass_len, uint8_t *salt, size_t salt_len, int iterations, PKCS8_PRIV_KEY_INFO *p8inf)
Definition: pkcs8.c:542
OPENSSL_EXPORT int PKCS12_parse(const PKCS12 *p12, const char *password, EVP_PKEY **out_pkey, X509 **out_cert, STACK_OF(X509) **out_ca_certs)
Definition: pkcs8.c:1147
OPENSSL_EXPORT PKCS8_PRIV_KEY_INFO * PKCS8_decrypt(X509_SIG *pkcs8, const char *pass, int pass_len)
Definition: pkcs8.c:486
OPENSSL_EXPORT int PKCS12_get_key_and_certs(EVP_PKEY **out_key, STACK_OF(X509) *out_certs, CBS *in, const char *password)
Definition: pkcs8.c:892
OPENSSL_EXPORT int PKCS12_verify_mac(const PKCS12 *p12, const char *password, int password_len)
Definition: pkcs8.c:1188
#define STACK_OF(type)
Definition: stack.h:112
OPENSSL_EXPORT void PKCS12_free(PKCS12 *p12)
Definition: pkcs8.c:1213
#define OPENSSL_EXPORT
Definition: base.h:160
OPENSSL_EXPORT PKCS8_PRIV_KEY_INFO * PKCS8_decrypt_pbe(X509_SIG *pkcs8, const uint8_t *pass_raw, size_t pass_raw_len)
Definition: pkcs8.c:504
unsigned char uint8_t
Definition: ptypes.h:89
Definition: bytestring.h:37
OPENSSL_EXPORT PKCS12 * d2i_PKCS12_fp(FILE *fp, PKCS12 **out_p12)
Definition: pkcs8.c:1133
OPENSSL_EXPORT PKCS12 * d2i_PKCS12_bio(BIO *bio, PKCS12 **out_p12)
Definition: pkcs8.c:1084
OPENSSL_EXPORT void PKCS12_PBE_add(void)
Definition: pkcs8.c:1050
OPENSSL_EXPORT X509_SIG * PKCS8_encrypt_pbe(int pbe_nid, const EVP_CIPHER *cipher, const uint8_t *pass_raw, size_t pass_raw_len, uint8_t *salt, size_t salt_len, int iterations, PKCS8_PRIV_KEY_INFO *p8inf)
Definition: pkcs8.c:561
Definition: bytestring_test.cc:31
required unsigned long iterations
Definition: WebCryptoAPI.idl:275
OPENSSL_EXPORT PKCS12 * d2i_PKCS12(PKCS12 **out_p12, const uint8_t **ber_bytes, size_t ber_len)
Definition: pkcs8.c:1057