2012-05-08 44 views

答えて

3

は、本質的に証明書の有効性をチェックします。これには、CAに所属する証明書に署名した署名が有効であり、日付であることを検証することも含まれます。そのようなチェーン全体を処理します。

ただし、特定のRSA署名が有効であることを確認しません.RSA署名をその作業の一部として検証しますが、それを行うために使用するものではありません。

広義には、SSLサイトを参照する証明書エラーが発生したときに実行される機能と同様です。

2

API X509_verify_cert()は、X509_store構造体に設定された検証フラグuに基づいて検証します。 Uは、証明書を確認することができ、このAPIにより
1.Expiry
2.Issuer(信頼パス)
2.1中間証明書の有効期限、
2.2中間証明書の信頼チェーン、
2.3中間証明書失効、
3.Revocation CRL
3.1 CRLに対する証明書の有効期限
3.2 CRL信頼パス
(注:uはstore_ctx変数で少なくとも最小の証明書を必要とCRLをベリファイ)
さまざまな検証のための

フラグがx509_vfy.hファイルに

 /* Send issuer+subject checks to verify_cb */ 
     #define X509_V_FLAG_CB_ISSUER_CHECK  0x1 
     /* Use check time instead of current time */ 
     #define X509_V_FLAG_USE_CHECK_TIME  0x2 
     /* Lookup CRLs */ 
     #define X509_V_FLAG_CRL_CHECK   0x4 
     /* Lookup CRLs for whole chain */ 
     #define X509_V_FLAG_CRL_CHECK_ALL  0x8 
     /* Ignore unhandled critical extensions */ 
     #define X509_V_FLAG_IGNORE_CRITICAL  0x10 
    /* Disable workarounds for broken certificates */ 
    #define X509_V_FLAG_X509_STRICT   0x20 
    /* Enable proxy certificate validation */ 
     #define X509_V_FLAG_ALLOW_PROXY_CERTS  0x40 
     /* Enable policy checking */ 
     #define X509_V_FLAG_POLICY_CHECK  0x80 
    /* Policy variable require-explicit-policy */ 
    #define X509_V_FLAG_EXPLICIT_POLICY  0x100 
    /* Policy variable inhibit-any-policy */ 
    #define X509_V_FLAG_INHIBIT_ANY   0x200 
    /* Policy variable inhibit-policy-mapping */ 
     #define X509_V_FLAG_INHIBIT_MAP   0x400 
    /* Notify callback that policy is OK */ 
    #define X509_V_FLAG_NOTIFY_POLICY  0x800 
    /* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ 
    #define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 
    /* Delt1a CRL support */ 
    #define X509_V_FLAG_USE_DELTAS   0x2000 
    /* Check selfsigned CA signature */ 
    #define X509_V_FLAG_CHECK_SS_SIGNATURE  0x4000 
を述べた証明書の信頼チェーン
5.Signatureの4.Depth
関連する問題