openssl X509_verify_cert() APIは証明書のRSA署名を検証しますか?openssl X509_verify_cert()は証明書の署名を検証しますか?
私の理解では、そのAPIは証明書の有効性(日付チェックなど)のみをチェックします。
誰か明確にしてください。
openssl X509_verify_cert() APIは証明書のRSA署名を検証しますか?openssl X509_verify_cert()は証明書の署名を検証しますか?
私の理解では、そのAPIは証明書の有効性(日付チェックなど)のみをチェックします。
誰か明確にしてください。
は、本質的に証明書の有効性をチェックします。これには、CAに所属する証明書に署名した署名が有効であり、日付であることを検証することも含まれます。そのようなチェーン全体を処理します。
ただし、特定のRSA署名が有効であることを確認しません.RSA署名をその作業の一部として検証しますが、それを行うために使用するものではありません。
広義には、SSLサイトを参照する証明書エラーが発生したときに実行される機能と同様です。
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
を述べた証明書の信頼チェーン