Строки UTF8 и T61, как узнать, что использует мой сертификат SSL?

Как я могу использовать инструмент openssl x509, чтобы увидеть, имеют ли мои строки код T61 или UTF8 в сертификате? Есть ли способ лучше?

1 ответ

Решение

openssl x509: Если вы имеете в виду поля "Тема" и / или "Эмитент", самый простой и читаемый способ (ИМО)

openss x509 -in certpemfile -noout -text -nameopt multiline,show_type 

или если вы хотите изменить только имя поля -text в -subject и / или -issuer, Существуют и другие форматы, и если вы хотите, чтобы нетривиально закодированные данные отображались для удобства, вам могут потребоваться дополнительные опции; см. справочную страницу в вашей системе или по адресу https://www.openssl.org/docs/apps/x509.html. Если ваш ввод "DER" (двоичный), не намного более распространенный "PEM" (текстовый), добавьте -inform der,

Если вы имеете в виду расширения, которые могут содержать (отличительные) поля имени - я считаю SAN/IAN, NameConstraints, CRLDP, AIA/SIA, хотя я не понимаю, как DN будет полезен в последних трех, и, безусловно, их больше -- это не поддерживается, что я знаю. Но посмотрим дальше.

Другой: openssl asn1parse выдает точные типы, длины и, в основном, значения любой структуры BER/DER ASN.1, включая сертификат. Для расширений формы X.509 (обернутых в OCTET STRING) вы можете использовать -strparse offset ASN.1-декодировать вложенную структуру. Идентификация и выбор нужных полей - ваша работа, и в целом это может быть затруднительно, но поскольку DN и расширения маркируют каждый из своих элементов предшествующим OID (который OpenSSL называет просто OBJECT), и asn1parse декодирует все OID, известные openssl (и вы можете дать ему дополнительные), которые вы обычно можете просто визуально просмотреть countryName, commonName и тому подобное. Примечание по PEM: много openssl функции создают или принимают и игнорируют "комментарии" в данных формата PEM, но asn1parse не. Он будет обрабатывать строки dash-BEGIN и dash-END, но почти все остальное он будет рассматривать как часть данных, вызывающих неверные результаты. Убедитесь, что ваш входной файл (или канал или что-то еще) содержит только один сертификат.

Другие вопросы по тегам