Current Path : /usr/opt/openssl11/share/doc/openssl/html/man3/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/opt/openssl11/share/doc/openssl/html/man3/CMS_add0_recipient_key.html |
<?xml version="1.0" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CMS_add1_recipient_cert</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rev="made" href="mailto:root@hsxx.drive.ne.jp" /> </head> <body style="background-color: white"> <!-- INDEX BEGIN --> <div name="index"> <p><a name="__index__"></a></p> <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#return_values">RETURN VALUES</a></li> <li><a href="#see_also">SEE ALSO</a></li> <li><a href="#copyright">COPYRIGHT</a></li> </ul> <hr name="index" /> </div> <!-- INDEX END --> <p> </p> <hr /> <h1><a name="name">NAME</a></h1> <p>CMS_add1_recipient_cert, CMS_add0_recipient_key - add recipients to a CMS enveloped data structure</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <pre> #include <openssl/cms.h></pre> <pre> CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509 *recip, unsigned int flags);</pre> <pre> CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, unsigned char *key, size_t keylen, unsigned char *id, size_t idlen, ASN1_GENERALIZEDTIME *date, ASN1_OBJECT *otherTypeId, ASN1_TYPE *otherType);</pre> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>CMS_add1_recipient_cert() adds recipient <strong>recip</strong> to CMS_ContentInfo enveloped data structure <strong>cms</strong> as a KeyTransRecipientInfo structure.</p> <p>CMS_add0_recipient_key() adds symmetric key <strong>key</strong> of length <strong>keylen</strong> using wrapping algorithm <strong>nid</strong>, identifier <strong>id</strong> of length <strong>idlen</strong> and optional values <strong>date</strong>, <strong>otherTypeId</strong> and <strong>otherType</strong> to CMS_ContentInfo enveloped data structure <strong>cms</strong> as a KEKRecipientInfo structure.</p> <p>The CMS_ContentInfo structure should be obtained from an initial call to <code>CMS_encrypt()</code> with the flag <strong>CMS_PARTIAL</strong> set.</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>The main purpose of this function is to provide finer control over a CMS enveloped data structure where the simpler <code>CMS_encrypt()</code> function defaults are not appropriate. For example if one or more KEKRecipientInfo structures need to be added. New attributes can also be added using the returned CMS_RecipientInfo structure and the CMS attribute utility functions.</p> <p>OpenSSL will by default identify recipient certificates using issuer name and serial number. If <strong>CMS_USE_KEYID</strong> is set it will use the subject key identifier value instead. An error occurs if all recipient certificates do not have a subject key identifier extension.</p> <p>Currently only AES based key wrapping algorithms are supported for <strong>nid</strong>, specifically: NID_id_aes128_wrap, NID_id_aes192_wrap and NID_id_aes256_wrap. If <strong>nid</strong> is set to <strong>NID_undef</strong> then an AES wrap algorithm will be used consistent with <strong>keylen</strong>.</p> <p> </p> <hr /> <h1><a name="return_values">RETURN VALUES</a></h1> <p>CMS_add1_recipient_cert() and CMS_add0_recipient_key() return an internal pointer to the CMS_RecipientInfo structure just added or NULL if an error occurs.</p> <p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p><em>ERR_get_error(3)</em>, <em>CMS_decrypt(3)</em>, <em>CMS_final(3)</em>,</p> <p> </p> <hr /> <h1><a name="copyright">COPYRIGHT</a></h1> <p>Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.</p> <p>Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <a href="https://www.openssl.org/source/license.html">https://www.openssl.org/source/license.html</a>.</p> </body> </html>