diff --git a/doc/crypto/PKCS12_parse.pod b/doc/crypto/PKCS12_parse.pod new file mode 100644 index 0000000000000000000000000000000000000000..51344f883a9b7d7a05dee04ad8520e175eca99da --- /dev/null +++ b/doc/crypto/PKCS12_parse.pod @@ -0,0 +1,50 @@ +=pod + +=head1 NAME + +PKCS12_parse - parse a PKCS#12 structure + +=head1 SYNOPSIS + + #include + +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca); + +=head1 DESCRIPTION + +PKCS12_parse() parses a PKCS12 structure. + +B is the B structure to parse. B is the passphrase to use. +If successful the private key will be written to B<*pkey>, the corresponding +certificate to B<*cert> and any additional certificates to B<*ca>. + +=head1 NOTES + +The parameters B and B cannot be B. B can be +in which case additional certificates will be discarded. B<*ca> can also +be a valid STACK in which case additional certificates are appended to +B<*ca>. If B<*ca> is B a new STACK will be allocated. + +The B and B attributes (if present) on each certificate +will be stored in the B and B attributes of the B structure. + +=head1 BUGS + +Only a single private key and corresponding certificate is returned by this function. +More complex PKCS#12 files with multiple private keys will only return the first +match. + +Only B and B attributes are currently stored in certificates. +Other attributes are discarded. + +Attributes currently cannot be store in the private key B structure. + +=head1 SEE ALSO + +L + +=head1 HISTORY + +PKCS12_parse was added in OpenSSL 0.9.3 + +=cut diff --git a/doc/crypto/PKCS7_encrypt.pod b/doc/crypto/PKCS7_encrypt.pod index c2597a2b15440290fe64271028332e12f62651fa..1a507b22a29bfd580329fb9ac997af3172e7e21b 100644 --- a/doc/crypto/PKCS7_encrypt.pod +++ b/doc/crypto/PKCS7_encrypt.pod @@ -29,6 +29,11 @@ RC2. These can be used by passing EVP_rc2_40_cbc() and EVP_rc2_64_cbc() respecti The algorithm passed in the B parameter must support ASN1 encoding of its parameters. +Many browsers implement a "sign and encrypt" option which is simply an S/MIME +envelopedData containing an S/MIME signed message. This can be readily produced +by storing the S/MIME signed message in a memory BIO and passing it to +PKCS7_encrypt(). + The following flags can be passed in the B parameter. If the B flag is set MIME headers for type B are prepended