模块 OpenSSL::X509::Extension::AuthorityInfoAccess
公共实例方法
ca_issuer_uris() 点击切换源代码
从证书的授权信息访问扩展扩展中获取发行者的信息和服务,如 RFC5280 第 4.2.2.1 节所述。
返回字符串数组或 nil,或引发 ASN1::ASN1Error
。
# File ext/openssl/lib/openssl/x509.rb, line 162 def ca_issuer_uris aia_asn1 = parse_aia_asn1 return nil if aia_asn1.nil? ca_issuer = aia_asn1.value.select do |authority_info_access| authority_info_access.value.first.value == "caIssuers" end ca_issuer&.map(&:value)&.map(&:last)&.map(&:value) end
ocsp_uris() 点击切换源代码
从证书的授权信息访问扩展扩展中获取 OCSP
的 URI,如 RFC5280 第 4.2.2.1 节所述。
返回字符串数组或 nil,或引发 ASN1::ASN1Error
。
# File ext/openssl/lib/openssl/x509.rb, line 177 def ocsp_uris aia_asn1 = parse_aia_asn1 return nil if aia_asn1.nil? ocsp = aia_asn1.value.select do |authority_info_access| authority_info_access.value.first.value == "OCSP" end ocsp&.map(&:value)&.map(&:last)&.map(&:value) end
私有实例方法
parse_aia_asn1() 点击切换源代码
# File ext/openssl/lib/openssl/x509.rb, line 190 def parse_aia_asn1 ext = find_extension("authorityInfoAccess") return nil if ext.nil? aia_asn1 = ASN1.decode(ext.value_der) if ext.critical? || aia_asn1.tag_class != :UNIVERSAL || aia_asn1.tag != ASN1::SEQUENCE raise ASN1::ASN1Error, "invalid extension" end aia_asn1 end