EN JA
hx509 CA functions(3)
hx509 CA functions(3) Heimdalx509library hx509 CA functions(3)

名称

hx509 CA 関数-

関数


int hx509_ca_tbs_init (hx509_context context, hx509_ca_tbs *tbs)
 
void hx509_ca_tbs_free (hx509_ca_tbs *tbs)
 
int hx509_ca_tbs_set_notBefore (hx509_context context, hx509_ca_tbs tbs, time_t t)
 
int hx509_ca_tbs_set_notAfter (hx509_context context, hx509_ca_tbs tbs, time_t t)
 
int hx509_ca_tbs_set_notAfter_lifetime (hx509_context context, hx509_ca_tbs tbs, time_t delta)
 
struct units * hx509_ca_tbs_template_units (void)
 
int hx509_ca_tbs_set_template (hx509_context context, hx509_ca_tbs tbs, int flags, hx509_cert cert)
 
int hx509_ca_tbs_set_ca (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)
 
int hx509_ca_tbs_set_proxy (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)
 
int hx509_ca_tbs_set_domaincontroller (hx509_context context, hx509_ca_tbs tbs)
 
int hx509_ca_tbs_set_spki (hx509_context context, hx509_ca_tbs tbs, const SubjectPublicKeyInfo *spki)
 
int hx509_ca_tbs_set_serialnumber (hx509_context context, hx509_ca_tbs tbs, const heim_integer *serialNumber)
 
int hx509_ca_tbs_add_eku (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid)
 
int hx509_ca_tbs_add_crl_dp_uri (hx509_context context, hx509_ca_tbs tbs, const char *uri, hx509_name issuername)
 
int hx509_ca_tbs_add_san_otherName (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid, const heim_octet_string *os)
 
int hx509_ca_tbs_add_san_pkinit (hx509_context context, hx509_ca_tbs tbs, const char *principal)
 
int hx509_ca_tbs_add_san_ms_upn (hx509_context context, hx509_ca_tbs tbs, const char *principal)
 
int hx509_ca_tbs_add_san_jid (hx509_context context, hx509_ca_tbs tbs, const char *jid)
 
int hx509_ca_tbs_add_san_hostname (hx509_context context, hx509_ca_tbs tbs, const char *dnsname)
 
int hx509_ca_tbs_add_san_rfc822name (hx509_context context, hx509_ca_tbs tbs, const char *rfc822Name)
 
int hx509_ca_tbs_set_subject (hx509_context context, hx509_ca_tbs tbs, hx509_name subject)
 
int hx509_ca_tbs_set_unique (hx509_context context, hx509_ca_tbs tbs, const heim_bit_string *subjectUniqueID, const heim_bit_string *issuerUniqueID)
 
int hx509_ca_tbs_subject_expand (hx509_context context, hx509_ca_tbs tbs, hx509_env env)
 
int hx509_ca_sign (hx509_context context, hx509_ca_tbs tbs, hx509_cert signer, hx509_cert *certificate)
 
int hx509_ca_sign_self (hx509_context context, hx509_ca_tbs tbs, hx509_private_key signer, hx509_cert *certificate)
 

詳細説明

説明と実行例については、 Hx509 CA 関数を参照してください。

関数説明

int hx509_ca_sign (hx509_context context, hx509_ca_tbs tbs, hx509_cert signer, hx509_cert * certificate)

発行者の証明書で to-be-signed 証明書オブジェクトに署名します。

呼び出し側は、少なくとも to-be-signed 証明書オブジェクトで次の関数を呼び出す必要があります:

hx509_ca_tbs_init()
hx509_ca_tbs_set_subject()
hx509_ca_tbs_set_spki()

実行されたとき、to-be-signed 証明書オブジェクトは、 hx509_ca_tbs_free() で解放されるべきです。

自己署名証明書を作成するとき、代わりに hx509_ca_sign_self() を使用します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
signer (秘密鍵を必要とする) 署名された CA 証明書オブジェクト。
 
certificate 証明書を返します、 hx509_cert_free() で解放します。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_sign_self (hx509_context context, hx509_ca_tbs tbs, hx509_private_key signer, hx509_cert * certificate)

ちょうど hx509_ca_sign() のように動作しますが、それ自体で署名します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
signer 署名する秘密鍵。
 
certificate 証明書を返します、 hx509_cert_free() で解放します。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_crl_dp_uri (hx509_context context, hx509_ca_tbs tbs, const char * uri, hx509_name issuername)

to-be-signed 証明書オブジェクトに CRL 配布点 URI を追加します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
uri CRL への uri。
 
issuername 発行者の名前。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

issuername は、サポートされません。

int hx509_ca_tbs_add_eku (hx509_context context, hx509_ca_tbs tbs, const heim_oid * oid)

to-be-signed 証明書オブジェクトへの拡張キー使用法。複写が検知され、追加されません。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
oid 追加する拡張キー使用法。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_hostname (hx509_context context, hx509_ca_tbs tbs, const char * dnsname)

to-be-signed 証明書オブジェクトに Subject Alternative Name ホスト名を追加します。ドメインのマッチは、. で始まります、正確なマッチは、行いません。

ドメインのマッチの例は、次の通りです: .domain.se は、ホスト名 host.domain.se にマッチします。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
dnsname ホスト名。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_jid (hx509_context context, hx509_ca_tbs tbs, const char * jid)

to-be-signed 証明書オブジェクトに Jabber/XMPP jid Subject Alternative Name を追加します。 jid は、UTF8 文字列です。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
jid UTF8 の jabber の文字列。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_ms_upn (hx509_context context, hx509_ca_tbs tbs, const char * principal)

to-be-signed 証明書オブジェクトに Microsoft UPN Subject Alternative Name を追加します。プリンシパル文字列は、UTF8 文字列です。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
principal Microsoft UPN 文字列。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_otherName (hx509_context context, hx509_ca_tbs tbs, const heim_oid * oid, const heim_octet_string * os)

to-be-signed 証明書オブジェクトに Subject Alternative Name otherName を追加します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
oid OtherName の oid。
 
os 別の名前のデータ。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_pkinit (hx509_context context, hx509_ca_tbs tbs, const char * principal)

to-be-signed 証明書オブジェクトに Kerberos Subject Alternative Name を追加します。プリンシパル文字列は、UTF8 文字列です。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
principal 証明書を追加する Kerberos プリンシパル。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_add_san_rfc822name (hx509_context context, hx509_ca_tbs tbs, const char * rfc822Name)

to-be-signed 証明書オブジェクトに Subject Alternative Name rfc822 (電子メールアドレス) を追加します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
rfc822Name 電子メールアドレスへの文字列。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

void hx509_ca_tbs_free (hx509_ca_tbs * tbs)

To Be Signed オブジェクトを解放します。

パラメータ:

tbs 解放するオブジェクト。

 

int hx509_ca_tbs_init (hx509_context context, hx509_ca_tbs * tbs)

証明書に変換される to-be-signed 証明書オブジェクトを割り付けます。

パラメータ:

context hx509 コンテキスト。
 
tbs to-be-signed 証明書オブジェクトを返します、 hx509_ca_tbs_free() で解放します。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_ca (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)

to-be-signed 証明書オブジェクトを CA 証明書にします。 pathLenConstraint が負であるなら、強制的にパスの長さが使用されます。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
pathLenConstraint 強制的なパスの長さ、負、強制なし。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_domaincontroller (hx509_context context, hx509_ca_tbs tbs)

to-be-signed 証明書オブジェクトをsウィンドウドメインコントローラ証明書にします。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_notAfter (hx509_context context, hx509_ca_tbs tbs, time_t t)

証明書が有効なとき、絶対的時間に設定します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
t 証明書の有効期限が切れるときの時間。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_notAfter_lifetime (hx509_context context, hx509_ca_tbs tbs, time_t delta)

証明書の有効期限が切れるとき、相対的な時間を設定します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
delta 証明書の有効期限が切れる秒。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_notBefore (hx509_context context, hx509_ca_tbs tbs, time_t t)

証明書が有効なとき、絶対的な時間を設定します。設定されなければ、現在の時間が使用されます。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
t 証明書が有効となり始める時間。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_proxy (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)

to-be-signed 証明書オブジェクトを代理 (proxy) 証明書にします。 pathLenConstraint が負であるなら、強制的にパスの長さが使用されます。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
pathLenConstraint 強制的なパスの長さ、負、強制なし。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_serialnumber (hx509_context context, hx509_ca_tbs tbs, const heim_integer * serialNumber)

to-be-signed 証明書オブジェクトに使用するシリアル番号を設定します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
serialNumber to-be-signed 証明書オブジェクトに使用するシリアル番号。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_spki (hx509_context context, hx509_ca_tbs tbs, const SubjectPublicKeyInfo * spki)

to-be-signed 証明書オブジェクトに subject public key info (SPKI) を設定します。 SPKI は、証明書の公開鍵とキーに関連するパラメータです。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
spki to-be-signed 証明書オブジェクトのために使用する subject 公開鍵の情報。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_subject (hx509_context context, hx509_ca_tbs tbs, hx509_name subject)

to-be-signed 証明書オブジェクトの subject 名を設定します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
subject subject 設定する名前。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_template (hx509_context context, hx509_ca_tbs tbs, int flags, hx509_cert cert)

テンプレート証明書から to-be-signed 証明書オブジェクトを初期化します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
flags テンプレート証明書からコピーするものを選択するビットフィールド。
 
cert テンプレート証明書。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_set_unique (hx509_context context, hx509_ca_tbs tbs, const heim_bit_string * subjectUniqueID, const heim_bit_string * issuerUniqueID)

issuerUniqueID と subjectUniqueID を設定します。

2 つの拡張 SubjectKeyIdentifier と IssuerKeyIdentifier によって置き換えられる、バージョン 2 の証明書で考慮されて使用されると単に想定されます。この関数によって、アプリケーションは、それらを発行するために古いプロトコルを使用することを許可します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
issuerUniqueID セットであること;
 
subjectUniqueID 設定される。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

int hx509_ca_tbs_subject_expand (hx509_context context, hx509_ca_tbs tbs, hx509_env env)

hx509_name_expand() を使用する、to-be-signed 証明書オブジェクトの subject 名を拡張します。

パラメータ:

context hx509 コンテキスト。
 
tbs 署名されるオブジェクト。
 
env subject 名の拡張する環境変数、hx509_env_init() を参照。

返り値:

hx509 エラーコードを返します、 hx509_get_error_string() 参照。

 

struct units* hx509_ca_tbs_template_units (void) [read]

テンプレートユニットの作成、parse_units() で hx509_ca_tbs_set_template() へのフラグ引数を構築するために使用します。

返り値:

ユニット構造体。

 
11 Jan 2012 Version 1.5.2