webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Typedefs | Functions
pkcs8.c File Reference
#include <openssl/pkcs8.h>
#include <assert.h>
#include <limits.h>
#include <string.h>
#include <openssl/asn1.h>
#include <openssl/buf.h>
#include <openssl/bytestring.h>
#include <openssl/cipher.h>
#include <openssl/digest.h>
#include <openssl/err.h>
#include <openssl/hmac.h>
#include <openssl/mem.h>
#include <openssl/obj.h>
#include <openssl/x509.h>
#include "internal.h"
#include "../internal.h"
#include "../bytestring/internal.h"

Classes

struct  pbe_suite
 
struct  pkcs12_context
 
struct  pkcs12_st
 

Macros

#define PKCS12_KEY_ID   1
 
#define PKCS12_IV_ID   2
 
#define PKCS12_MAC_ID   3
 
#define PBE_UCS2_CONVERT_PASSWORD   0x1
 

Typedefs

typedef int(* keygen_func) (EVP_CIPHER_CTX *ctx, const uint8_t *pass_raw, size_t pass_raw_len, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int is_encrypt)
 

Functions

PKCS8_PRIV_KEY_INFOPKCS8_decrypt (X509_SIG *pkcs8, const char *pass, int pass_len)
 
PKCS8_PRIV_KEY_INFOPKCS8_decrypt_pbe (X509_SIG *pkcs8, const uint8_t *pass_raw, size_t pass_raw_len)
 
X509_SIGPKCS8_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)
 
X509_SIGPKCS8_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)
 
EVP_PKEYEVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
 
PKCS8_PRIV_KEY_INFOEVP_PKEY2PKCS8 (EVP_PKEY *pkey)
 
int PKCS12_get_key_and_certs (EVP_PKEY **out_key, STACK_OF(X509) *out_certs, CBS *ber_in, const char *password)
 
void PKCS12_PBE_add (void)
 
PKCS12d2i_PKCS12 (PKCS12 **out_p12, const uint8_t **ber_bytes, size_t ber_len)
 
PKCS12d2i_PKCS12_bio (BIO *bio, PKCS12 **out_p12)
 
PKCS12d2i_PKCS12_fp (FILE *fp, PKCS12 **out_p12)
 
int PKCS12_parse (const PKCS12 *p12, const char *password, EVP_PKEY **out_pkey, X509 **out_cert, STACK_OF(X509) **out_ca_certs)
 
int PKCS12_verify_mac (const PKCS12 *p12, const char *password, int password_len)
 
void PKCS12_free (PKCS12 *p12)
 

Macro Definition Documentation

◆ PBE_UCS2_CONVERT_PASSWORD

#define PBE_UCS2_CONVERT_PASSWORD   0x1

◆ PKCS12_IV_ID

#define PKCS12_IV_ID   2

◆ PKCS12_KEY_ID

#define PKCS12_KEY_ID   1

◆ PKCS12_MAC_ID

#define PKCS12_MAC_ID   3

Typedef Documentation

◆ keygen_func

typedef int(* keygen_func) (EVP_CIPHER_CTX *ctx, const uint8_t *pass_raw, size_t pass_raw_len, ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int is_encrypt)

Function Documentation

◆ d2i_PKCS12()

PKCS12* d2i_PKCS12 ( PKCS12 **  out_p12,
const uint8_t **  ber_bytes,
size_t  ber_len 
)

◆ d2i_PKCS12_bio()

PKCS12* d2i_PKCS12_bio ( BIO bio,
PKCS12 **  out_p12 
)

◆ d2i_PKCS12_fp()

PKCS12* d2i_PKCS12_fp ( FILE *  fp,
PKCS12 **  out_p12 
)

◆ EVP_PKCS82PKEY()

EVP_PKEY* EVP_PKCS82PKEY ( PKCS8_PRIV_KEY_INFO p8)

◆ EVP_PKEY2PKCS8()

PKCS8_PRIV_KEY_INFO* EVP_PKEY2PKCS8 ( EVP_PKEY pkey)

◆ PKCS12_free()

void PKCS12_free ( PKCS12 p12)

◆ PKCS12_get_key_and_certs()

int PKCS12_get_key_and_certs ( EVP_PKEY **  out_key,
STACK_OF(X509) *  out_certs,
CBS ber_in,
const char *  password 
)

◆ PKCS12_parse()

int PKCS12_parse ( const PKCS12 p12,
const char *  password,
EVP_PKEY **  out_pkey,
X509 **  out_cert,
STACK_OF(X509) **  out_ca_certs 
)

◆ PKCS12_PBE_add()

void PKCS12_PBE_add ( void  )

◆ PKCS12_verify_mac()

int PKCS12_verify_mac ( const PKCS12 p12,
const char *  password,
int  password_len 
)

◆ PKCS8_decrypt()

PKCS8_PRIV_KEY_INFO* PKCS8_decrypt ( X509_SIG pkcs8,
const char *  pass,
int  pass_len 
)

◆ PKCS8_decrypt_pbe()

PKCS8_PRIV_KEY_INFO* PKCS8_decrypt_pbe ( X509_SIG pkcs8,
const uint8_t pass_raw,
size_t  pass_raw_len 
)

◆ PKCS8_encrypt()

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 
)

◆ PKCS8_encrypt_pbe()

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 
)