003 File Manager
Current Path:
/usr/src/crypto/heimdal/doc/doxyout/hx509/html
usr
/
src
/
crypto
/
heimdal
/
doc
/
doxyout
/
hx509
/
html
/
📁
..
📄
doxygen.css
(8.88 KB)
📄
doxygen.png
(1.25 KB)
📄
graph_legend.dot
(2.12 KB)
📄
graph_legend.html
(4.54 KB)
📄
graph_legend.png
(4.16 KB)
📄
group__hx509.html
(3.95 KB)
📄
group__hx509__ca.html
(55.3 KB)
📄
group__hx509__cert.html
(65.17 KB)
📄
group__hx509__cms.html
(25.02 KB)
📄
group__hx509__crypto.html
(4.23 KB)
📄
group__hx509__env.html
(13.29 KB)
📄
group__hx509__error.html
(13.12 KB)
📄
group__hx509__keyset.html
(36.57 KB)
📄
group__hx509__lock.html
(1.32 KB)
📄
group__hx509__misc.html
(3.59 KB)
📄
group__hx509__name.html
(20.51 KB)
📄
group__hx509__peer.html
(10.64 KB)
📄
group__hx509__print.html
(20.44 KB)
📄
group__hx509__query.html
(1.19 KB)
📄
group__hx509__revoke.html
(17.33 KB)
📄
group__hx509__verify.html
(32.31 KB)
📄
index.html
(2.19 KB)
📄
modules.html
(2.37 KB)
📄
page_ca.html
(1.24 KB)
📄
page_cert.html
(1.87 KB)
📄
page_cms.html
(1.67 KB)
📄
page_env.html
(1.27 KB)
📄
page_error.html
(1.27 KB)
📄
page_keyset.html
(1.86 KB)
📄
page_lock.html
(1.32 KB)
📄
page_name.html
(2.22 KB)
📄
page_peer.html
(1.41 KB)
📄
page_print.html
(1.26 KB)
📄
page_revoke.html
(1.74 KB)
📄
pages.html
(1.96 KB)
📄
tab_b.gif
(35 B)
📄
tab_l.gif
(706 B)
📄
tab_r.gif
(2.52 KB)
📄
tabs.css
(1.72 KB)
Editing: group__hx509__cms.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Heimdalx509library: hx509 CMS/pkcs7 functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <p> <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> </ul> </div> </div> <div class="contents"> <h1>hx509 CMS/pkcs7 functions</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#g59a1f6dc31e384a0d378c8179f2be9c3">hx509_cms_wrap_ContentInfo</a> (const heim_oid *oid, const heim_octet_string *buf, heim_octet_string *res)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gacbd636f3053c560782d83251f42b71a">hx509_cms_unwrap_ContentInfo</a> (const heim_octet_string *in, heim_oid *oid, heim_octet_string *out, int *have_data)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gb13d28bf986e3b66c05e7e33799be07b">hx509_cms_unenvelope</a> (hx509_context context, hx509_certs certs, int flags, const void *data, size_t length, const heim_octet_string *encryptedContent, time_t time_now, heim_oid *contentType, heim_octet_string *content)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#g618f32b35fa6f679cc5f32fb8abdbe85">hx509_cms_envelope_1</a> (hx509_context context, int flags, hx509_cert cert, const void *data, size_t length, const heim_oid *encryption_type, const heim_oid *contentType, heim_octet_string *content)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gedaf18507474021a8d092ca6ac90a1ad">hx509_cms_verify_signed</a> (hx509_context context, hx509_verify_ctx ctx, unsigned int flags, const void *data, size_t length, const heim_octet_string *signedContent, hx509_certs pool, heim_oid *contentType, heim_octet_string *content, hx509_certs *signer_certs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#g8dfb6d8d72f6a71caffaf11b9d847921">hx509_cms_create_signed_1</a> (hx509_context context, int flags, const heim_oid *eContentType, const void *data, size_t length, const AlgorithmIdentifier *digest_alg, hx509_cert cert, hx509_peer_info peer, hx509_certs anchors, hx509_certs pool, heim_octet_string *signed_data)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> See the <a class="el" href="page_cms.html">CMS/PKCS7 message functions.</a> for description and examples. <hr><h2>Function Documentation</h2> <a class="anchor" name="g8dfb6d8d72f6a71caffaf11b9d847921"></a><!-- doxytag: member="cms.c::hx509_cms_create_signed_1" ref="g8dfb6d8d72f6a71caffaf11b9d847921" args="(hx509_context context, int flags, const heim_oid *eContentType, const void *data, size_t length, const AlgorithmIdentifier *digest_alg, hx509_cert cert, hx509_peer_info peer, hx509_certs anchors, hx509_certs pool, heim_octet_string *signed_data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_create_signed_1 </td> <td>(</td> <td class="paramtype">hx509_context </td> <td class="paramname"> <em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_oid * </td> <td class="paramname"> <em>eContentType</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const AlgorithmIdentifier * </td> <td class="paramname"> <em>digest_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_cert </td> <td class="paramname"> <em>cert</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_peer_info </td> <td class="paramname"> <em>peer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_certs </td> <td class="paramname"> <em>anchors</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_certs </td> <td class="paramname"> <em>pool</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>signed_data</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode SignedData and verify that the signature is correct.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>eContentType</em> </td><td>the type of the data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>data to sign </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>length of the data that data point to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>digest_alg</em> </td><td>digest algorithm to use, use NULL to get the default or the peer determined algorithm. </td></tr> <tr><td valign="top"></td><td valign="top"><em>cert</em> </td><td>certificate to use for sign the data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>peer</em> </td><td>info about the peer the message to send the message to, like what digest algorithm to use. </td></tr> <tr><td valign="top"></td><td valign="top"><em>anchors</em> </td><td>trust anchors that the client will use, used to polulate the certificates included in the message </td></tr> <tr><td valign="top"></td><td valign="top"><em>pool</em> </td><td>certificates to use in try to build the path to the trust anchors. </td></tr> <tr><td valign="top"></td><td valign="top"><em>signed_data</em> </td><td>the output of the function, free with der_free_octet_string(). </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g618f32b35fa6f679cc5f32fb8abdbe85"></a><!-- doxytag: member="cms.c::hx509_cms_envelope_1" ref="g618f32b35fa6f679cc5f32fb8abdbe85" args="(hx509_context context, int flags, hx509_cert cert, const void *data, size_t length, const heim_oid *encryption_type, const heim_oid *contentType, heim_octet_string *content)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_envelope_1 </td> <td>(</td> <td class="paramtype">hx509_context </td> <td class="paramname"> <em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_cert </td> <td class="paramname"> <em>cert</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_oid * </td> <td class="paramname"> <em>encryption_type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_oid * </td> <td class="paramname"> <em>contentType</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>content</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Encrypt end encode EnvelopedData.<p> Encrypt and encode EnvelopedData. The data is encrypted with a random key and the the random key is encrypted with the certificates private key. This limits what private key type can be used to RSA.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>flags to control the behavior.<ul> <li>HX509_CMS_EV_NO_KU_CHECK - Dont check KU on certificate</li><li>HX509_CMS_EV_ALLOW_WEAK - Allow weak crytpo</li><li>HX509_CMS_EV_ID_NAME - prefer issuer name and serial number </li></ul> </td></tr> <tr><td valign="top"></td><td valign="top"><em>cert</em> </td><td>Certificate to encrypt the EnvelopedData encryption key with. </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>pointer the data to encrypt. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>length of the data that data point to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>encryption_type</em> </td><td>Encryption cipher to use for the bulk data, use NULL to get default. </td></tr> <tr><td valign="top"></td><td valign="top"><em>contentType</em> </td><td>type of the data that is encrypted </td></tr> <tr><td valign="top"></td><td valign="top"><em>content</em> </td><td>the output of the function, free with der_free_octet_string(). </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gb13d28bf986e3b66c05e7e33799be07b"></a><!-- doxytag: member="cms.c::hx509_cms_unenvelope" ref="gb13d28bf986e3b66c05e7e33799be07b" args="(hx509_context context, hx509_certs certs, int flags, const void *data, size_t length, const heim_octet_string *encryptedContent, time_t time_now, heim_oid *contentType, heim_octet_string *content)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_unenvelope </td> <td>(</td> <td class="paramtype">hx509_context </td> <td class="paramname"> <em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_certs </td> <td class="paramname"> <em>certs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_octet_string * </td> <td class="paramname"> <em>encryptedContent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"> <em>time_now</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_oid * </td> <td class="paramname"> <em>contentType</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>content</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode and unencrypt EnvelopedData.<p> Extract data and parameteres from from the EnvelopedData. Also supports using detached EnvelopedData.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>certs</em> </td><td>Certificate that can decrypt the EnvelopedData encryption key. </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>HX509_CMS_UE flags to control the behavior. </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>pointer the structure the contains the DER/BER encoded EnvelopedData stucture. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>length of the data that data point to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>encryptedContent</em> </td><td>in case of detached signature, this contains the actual encrypted data, othersize its should be NULL. </td></tr> <tr><td valign="top"></td><td valign="top"><em>time_now</em> </td><td>set the current time, if zero the library uses now as the date. </td></tr> <tr><td valign="top"></td><td valign="top"><em>contentType</em> </td><td>output type oid, should be freed with der_free_oid(). </td></tr> <tr><td valign="top"></td><td valign="top"><em>content</em> </td><td>the data, free with der_free_octet_string(). </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gacbd636f3053c560782d83251f42b71a"></a><!-- doxytag: member="cms.c::hx509_cms_unwrap_ContentInfo" ref="gacbd636f3053c560782d83251f42b71a" args="(const heim_octet_string *in, heim_oid *oid, heim_octet_string *out, int *have_data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_unwrap_ContentInfo </td> <td>(</td> <td class="paramtype">const heim_octet_string * </td> <td class="paramname"> <em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_oid * </td> <td class="paramname"> <em>oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>have_data</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode an ContentInfo and unwrap data and oid it.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>in</em> </td><td>the encoded buffer. </td></tr> <tr><td valign="top"></td><td valign="top"><em>oid</em> </td><td>type of the content. </td></tr> <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>data to be wrapped. </td></tr> <tr><td valign="top"></td><td valign="top"><em>have_data</em> </td><td>since the data is optional, this flags show dthe diffrence between no data and the zero length data.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns an hx509 error code. </dd></dl> </div> </div><p> <a class="anchor" name="gedaf18507474021a8d092ca6ac90a1ad"></a><!-- doxytag: member="cms.c::hx509_cms_verify_signed" ref="gedaf18507474021a8d092ca6ac90a1ad" args="(hx509_context context, hx509_verify_ctx ctx, unsigned int flags, const void *data, size_t length, const heim_octet_string *signedContent, hx509_certs pool, heim_oid *contentType, heim_octet_string *content, hx509_certs *signer_certs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_verify_signed </td> <td>(</td> <td class="paramtype">hx509_context </td> <td class="paramname"> <em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_verify_ctx </td> <td class="paramname"> <em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_octet_string * </td> <td class="paramname"> <em>signedContent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_certs </td> <td class="paramname"> <em>pool</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_oid * </td> <td class="paramname"> <em>contentType</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">hx509_certs * </td> <td class="paramname"> <em>signer_certs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode SignedData and verify that the signature is correct.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>a hx509 verify context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>to control the behaivor of the function.<ul> <li>HX509_CMS_VS_NO_KU_CHECK - Don't check KeyUsage</li><li>HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH - allow oid mismatch</li><li>HX509_CMS_VS_ALLOW_ZERO_SIGNER - no signer, see below. </li></ul> </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>pointer to CMS SignedData encoded data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>length of the data that data point to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>signedContent</em> </td><td>external data used for signature. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pool</em> </td><td>certificate pool to build certificates paths. </td></tr> <tr><td valign="top"></td><td valign="top"><em>contentType</em> </td><td>free with der_free_oid(). </td></tr> <tr><td valign="top"></td><td valign="top"><em>content</em> </td><td>the output of the function, free with der_free_octet_string(). </td></tr> <tr><td valign="top"></td><td valign="top"><em>signer_certs</em> </td><td>list of the cerficates used to sign this request, free with <a class="el" href="group__hx509__keyset.html#ga3df96cfe4137beaea7e7b87b95dbe3f">hx509_certs_free()</a>. </td></tr> </table> </dl> <p> If HX509_CMS_VS_NO_KU_CHECK is set, allow more liberal search for matching certificates by not considering KeyUsage bits on the certificates.<p> If HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH, allow encapContentInfo mismatch with the oid in signedAttributes (or if no signedAttributes where use, pkcs7-data oid). This is only needed to work with broken CMS implementations that doesn't follow CMS signedAttributes rules.<p> If HX509_CMS_VS_NO_VALIDATE flags is set, do not verify the signing certificates and leave that up to the caller.<p> If HX509_CMS_VS_ALLOW_ZERO_SIGNER is set, allow empty SignerInfo (no signatures). If SignedData have no signatures, the function will return 0 with signer_certs set to NULL. Zero signers is allowed by the standard, but since its only useful in corner cases, it make into a flag that the caller have to turn on. </div> </div><p> <a class="anchor" name="g59a1f6dc31e384a0d378c8179f2be9c3"></a><!-- doxytag: member="cms.c::hx509_cms_wrap_ContentInfo" ref="g59a1f6dc31e384a0d378c8179f2be9c3" args="(const heim_oid *oid, const heim_octet_string *buf, heim_octet_string *res)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hx509_cms_wrap_ContentInfo </td> <td>(</td> <td class="paramtype">const heim_oid * </td> <td class="paramname"> <em>oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const heim_octet_string * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">heim_octet_string * </td> <td class="paramname"> <em>res</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Wrap data and oid in a ContentInfo and encode it.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>oid</em> </td><td>type of the content. </td></tr> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>data to be wrapped. If a NULL pointer is passed in, the optional content field in the ContentInfo is not going be filled in. </td></tr> <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>the encoded buffer, the result should be freed with der_free_octet_string().</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns an hx509 error code. </dd></dl> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small> Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> </body> </html>
Upload File
Create Folder