«testuser.p12» представляется файлом PKCS # 12 в соответствии с постфиксом.Считывание формата PKCS # 12 в качестве формата сертификата X.509 приводит к ошибке декодирования ASN.1.
Вместо этого следует выполнить OpenSSL::PKCS12.new(File.read("testuser.p12"))
.Если файл защищен парольной фразой (это нормально), укажите парольную фразу в качестве второго параметра для PKCS12.new, например OpenSSL::PKCS12.new(File.read("testuser.p12"), "pass")
. Вы можете извлечь сертификаты и сертификаты CA с помощью методов PKCS12#certificate
и PKCS12#ca_certs
.
p12 = OpenSSL::PKCS12.new(File.read("testuser.p12"), "pass")
p p12.certificate
p p12.ca_certs