Что подразумевается под Целью и ее значением при проверке Сертификата?

может ли кто-нибудь сказать мне, для чего используются значения «Цель» при проверке сертификатов и что они означают?


person Balamurugan    schedule 20.07.2011    source источник


Ответы (1)


Чтобы узнать, что они означают, посмотрите Расширения сертификатов< /a> на справочной странице OpenSSL x509.

Вот как они относятся к коду (взято из v3_purp.c< /а>):

static X509_PURPOSE xstandard[] = {
{X509_PURPOSE_SSL_CLIENT, X509_TRUST_SSL_CLIENT, 0, check_purpose_ssl_client, "SSL client", "sslclient", NULL},
{X509_PURPOSE_SSL_SERVER, X509_TRUST_SSL_SERVER, 0, check_purpose_ssl_server, "SSL server", "sslserver", NULL},
{X509_PURPOSE_NS_SSL_SERVER, X509_TRUST_SSL_SERVER, 0, check_purpose_ns_ssl_server, "Netscape SSL server", "nssslserver", NULL},
{X509_PURPOSE_SMIME_SIGN, X509_TRUST_EMAIL, 0, check_purpose_smime_sign, "S/MIME signing", "smimesign", NULL},
{X509_PURPOSE_SMIME_ENCRYPT, X509_TRUST_EMAIL, 0, check_purpose_smime_encrypt, "S/MIME encryption", "smimeencrypt", NULL},
{X509_PURPOSE_CRL_SIGN, X509_TRUST_COMPAT, 0, check_purpose_crl_sign, "CRL signing", "crlsign", NULL},
{X509_PURPOSE_ANY, X509_TRUST_DEFAULT, 0, no_check, "Any Purpose", "any", NULL},
{X509_PURPOSE_OCSP_HELPER, X509_TRUST_COMPAT, 0, ocsp_helper, "OCSP helper", "ocsphelper", NULL},
{X509_PURPOSE_TIMESTAMP_SIGN, X509_TRUST_TSA, 0, check_purpose_timestamp_sign, "Time Stamp signing", "timestampsign", NULL},
};

При программной проверке вам обычно приходится иметь дело только с целочисленными константами, такими как X509_PURPOSE_SSL_SERVER. Эти цели используются во время проверки сертификата. Сертификат (путь) проверяется, и, наконец, OpenSSL проверяет, содержит ли имеющийся сертификат расширение ExtendedKeyUsage, которое содержит запрошенные «цели». В противном случае сертификат будет отклонен.

OpenSSL применяет разумные значения по умолчанию, где это возможно, но если у вас есть особые требования, вы можете добавить свои собственные цели для проверки во время проверки сертификата. Также можно проверить пользовательские ExtendedKeyUsage, если хотите, но обычно достаточно предопределенных значений по умолчанию.

person emboss    schedule 20.07.2011