Поделиться через


Константы для расширений Netscape

Следующие расширения Netscape используются для операций кодирования и декодирования. Предопределенные константы и строки идентификатора объекта Netscape не используются непосредственно с функциями кодирования или декодирования, CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject или CryptDecodeObjectEx. Вместо этого для этих расширений требуется использовать показанный lpszStructType .

Дополнительные сведения, применимые к некоторым расширениям Netscape, см. в примечаниях, приведенных в таблице .

Идентификаторы объектов расширения сертификата Netscape lpszStructType Соответствующий pvStructInfo
szOID_NETSCAPE_BASE_URL"2.16.840.1.113730.1.2"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING добавлен в начало всех относительных URL-адресов в сертификате. Это расширение можно считать оптимизацией для уменьшения размера расширений URL-адресов.
szOID_NETSCAPE_CA_POLICY_URL"2.16.840.1.113730.1.8"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, относительный или абсолютный URL-адрес веб-страницы, описывающий политики, в соответствии с которым был выдан сертификат.
szOID_NETSCAPE_CA_REVOCATION_URL"2.16.840.1.113730.1.4"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, который является относительным или абсолютным URL-адресом, используемым для проверка состояния отзыва сертификатов, подписанных центром сертификации, к которому принадлежит текущий сертификат.
szOID_NETSCAPE_CERT_RENEWAL_URL"2.16.840.1.113730.1.7"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, который является относительным или абсолютным URL-адресом формы продления сертификата.
szOID_NETSCAPE_CERT_SEQUENCE"2.16.840.1.113730.2.5"
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY
szOID_NETSCAPE_CERT_TYPE"2.16.840.1.113730.1.1"
X509_BITS CRYPT_BIT_BLOB
szOID_NETSCAPE_COMMENT"2.16.840.1.113730.1.13"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, который является комментарием, отображаемым при просмотре сертификата.
szOID_NETSCAPE_REVOCATION_URL"2.16.840.1.113730.1.3"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, который является относительным или абсолютным URL-адресом, используемым для проверка состояния отзыва сертификата.
szOID_NETSCAPE_SSL_SERVER_NAME"2.16.840.1.113730.1.12"
X509_ANY_STRING или X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Для элемента dwValueType задано значение CERT_RDN_IA5_STRING. Элемент pbData элемента Value указывает на IA5_STRING, который является выражением оболочки, используемым для сопоставления имени узла с SSL-сервера, использующего этот сертификат.

 

Для всех функций кодирования, использующих X509_ANY_STRING или X5O9_UNICODE_ANY_STRING lpszStructType, X509_ANY_STRING используется, если строковый формат в элементе pbData элемента Value имеет значение ASCII, а X509_UNICODE_ANY_STRING используется, если строковый формат — ЮНИКОД. В случае Юникода строка должна быть преобразована в IA5_STRING перед кодировкой, задав элементу dwValueType структуры CERT_NAME_VALUE значение CERT_RDN_IA5_STRING.

Для функций декодирования пользователь выбирает формат выходной строки. Используйте X509_ANY_STRING, если нужным форматом строки является ASCII, и X509_UNICODE_ANY_STRING, если нужным форматом строки является Юникод.

Для расширения szOID_NETSCAPE_CERT_RENEWAL_URL структура данных содержит относительный или абсолютный URL-адрес, указывающий на форму продления сертификата. Форма продления будет доступна с помощью метода HTTP GET, используя URL-адрес, который представляет собой объединение URL-адреса продления и серийного номера сертификата. Серийный номер сертификата кодируется как строка шестнадцатеричных цифр ASCII. Например, если netscape-base-url имеет значение https:// URL-адрес центра сертификации/, netscape-cert-renewal-url — cgi-bin/проверка-renew.cgi?, а серийный номер сертификата — 173420, полученный URL-адрес будет иметь следующий вид: URL-адрес центра сертификации https:///cgi-bin/проверка-renew.cgi?02a56c. Возвращаемый документ должен быть HTML-формой, которая позволит пользователю запросить продление сертификата.

Для расширения szOID_NETSCAPE_CERT_SEQUENCE, использующий X509_ASN_ENCODING, сертификат кодируется как PKCS_CONTENT_INFO структура, которая упаковывает последовательность ANY. Значением элемента contentType является pszObjId, а поле содержимого имеет следующую структуру:

SequenceOfAny ::= SEQUENCE OF ANY

CRYPT_DER_BLOBв точке-члене rgValueCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY на закодированные сертификаты X509.

Для расширений szOID_NETSCAPE_CERT_TYPE определяются следующие биты.

Битовое значение Соответствующий тип
0x80 NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE
0x40 NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE
0x04 NETSCAPE_SSL_CA_CERT_TYPE

 

Для расширений szOID_NETSCAPE_REVOCATION_URL можно использовать относительный или абсолютный URL-адрес для проверка состояния отзыва сертификата. Проверка отзыва будет выполняться как метод HTTP GET с использованием URL-адреса, который представляет собой объединение URL-адреса отзыва и серийного номера сертификата. Серийный номер сертификата кодируется как строка шестнадцатеричных цифр ASCII. Например, если netscape-base-url имеет значение https://www.certs-r-us.com/, netscape-revocation-url имеет значение cgi-bin/проверка-rev.cgi?, а серийный номер сертификата — 173420, полученный URL-адрес будет следующим:https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.

Сервер должен вернуть документ с типом содержимого application/x-netscape-revocation. Документ должен содержать одну цифру ASCII: "1", если сертификат не действителен в данный момент, и "0", если он действителен в данный момент.

Обратите внимание, что для всех URL-адресов, включающих серийный номер сертификата, серийный номер будет закодирован в виде строки, состоящей из четного числа шестнадцатеричных цифр. Если число значащей цифры нечетное, строка будет иметь один начальный ноль, чтобы обеспечить четное число цифр.