模块 OpenSSL::X509::Extension::SubjectKeyIdentifier

公共实例方法

subject_key_identifier() 点击切换源代码

从 subjectKeyIdentifier 扩展中获取主题的密钥标识符,如 RFC5280 第 4.2.1.2 节所述。

返回二进制 String 密钥标识符或 nil,或引发 ASN1::ASN1Error

# File ext/openssl/lib/openssl/x509.rb, line 82
def subject_key_identifier
  ext = find_extension("subjectKeyIdentifier")
  return nil if ext.nil?

  ski_asn1 = ASN1.decode(ext.value_der)
  if ext.critical? || ski_asn1.tag_class != :UNIVERSAL || ski_asn1.tag != ASN1::OCTET_STRING
    raise ASN1::ASN1Error, "invalid extension"
  end

  ski_asn1.value
end