hx509 CMS/pkcs7 functions(3) | Heimdalx509library | hx509 CMS/pkcs7 functions(3) |
名称
hx509 CMS/pkcs7 functions -関数
int hx509_cms_wrap_ContentInfo (const heim_oid *oid, const heim_octet_string *buf, heim_octet_string *res)
詳細説明
説明と実行例については、 CMS/PKCS7 メッセージ関数. 参照してください。関数説明
int hx509_cms_create_signed_1 (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)
SignedData をデコードし、署名が正確であるか検証します。パラメータ:
int hx509_cms_envelope_1 (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)
EnvelopedData を暗号化して、エンコードします。EnvelopedData を暗号化して、エンコードします。データは、ランダムキーで暗号化され、ランダムキーは、証明書秘密鍵で暗号化されます。これは、どの秘密鍵タイプを RSA に使用することができるかを制限します。
パラメータ:
- •
- HX509_CMS_EV_NO_KU_CHECK - 証明書 KU をチェックしません。
- •
- HX509_CMS_EV_ALLOW_WEAK - 弱い暗号化を許可します。
- •
- HX509_CMS_EV_ID_NAME - 好みの発行人名とシリアル番号。
cert EnvelopedData 暗号鍵を暗号化する証明書。
data 暗号化するデータへのポインタ。
length data が指すデータの長さ。
encryption_type 大量のデータのために使用する暗号化暗号、デフォルトを取得するために NULL を使用します。
contentType 暗号化されるデータのタイプ。
content 関数の出力、der_free_octet_string() で解放します。
int hx509_cms_unenvelope (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)
EnvelopedData をデコードして、復号化します。EnvelopedData からデータとパラメータを抽出します。また、デタッチされた EnvelopedData を使用することをサポートします。
パラメータ:
int hx509_cms_unwrap_ContentInfo (const heim_octet_string * in, heim_oid * oid, heim_octet_string * out, int * have_data)
ContentInfo をデコードし、データと oid をアンラップ (unwrap) します。パラメータ:
返り値:
int hx509_cms_verify_signed (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)
SignedData をデコードし、署名が正確であるか検証します。パラメータ:
- •
- HX509_CMS_VS_NO_KU_CHECK - KeyUsage をチェックしません。
- •
- HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH - oid ミスマッチを許可します。
- •
- HX509_CMS_VS_ALLOW_ZERO_SIGNER - 署名者なし、下記参照。
data CMS SignedData エンコードされたデータへのポインタ。
length data が指すデータの長さ。
signedContent 署名のために使用される外部データ。
pool 証明書にパスを構築する証明書プール。
contentType der_free_oid() で解放します。
content 関数の出力、der_free_octet_string() で解放します。
signer_certs このリクエストを署名するために使用する証明書のりすと、 hx509_certs_free() で解放します。
HX509_CMS_VS_NO_KU_CHECK が設定されるなら、証明書の KeyUsage ビットを考慮しないことによって、証明書とマッチするためのより進歩的な検索を許可します。
HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH であるなら、 signedAttributes の oid がある encapContentInfo ミスマッチを許可します、 (または、使用するところで、signedAttributes でないなら、 pkcs7-data oid)。これは、CMS signedAttributes 規則に従わない故障した CMS 実装で動作するためだけに必要です。
HX509_CMS_VS_NO_VALIDATE フラグが設定されるなら、署名証明書を検証せず、呼び出し側に任せます。
HX509_CMS_VS_ALLOW_ZERO_SIGNER が設定されるなら、 (署名なしの) 空の SignerInfo を許可します。 SignedData に署名がなければ、関数は、signer_certs を NULL に設定して、 0 を返します。 0 の署名者は、標準によって許可されますが、角の場合だけに役に立つので、呼び出し側がオンにしなければならない、フラグに行います。
int hx509_cms_wrap_ContentInfo (const heim_oid * oid, const heim_octet_string * buf, heim_octet_string * res)
ContentInfo のデータと oid をラップして、それをエンコードします。パラメータ:
返り値:
11 Jan 2012 | Version 1.5.2 |