Spec-Zone.ru › Ruby 3.2

модуль OpenSSL::X509::Extension::AuthorityInfoAccess

Включенные модули:
OpenSSL::X509::Extension::Helpers

Открытые методы экземпляра

ca_issuer_uris() Показать исходный код
# 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

Получить информацию и сервисы для издателя из расширения доступа к информации об авторитете сертификата, как описано в RFC5280 Раздел 4.2.2.1.

Возвращает массив строк или nil, или вызывает ASN1::ASN1Error.

ocsp_uris() Показать исходный код
# 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

Получить URI для OCSP из расширения доступа к информации об авторитете сертификата, как описано в RFC5280 Раздел 4.2.2.1.

Возвращает массив строк или nil, или вызывает ASN1::ASN1Error.

Приватные методы экземпляра

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

Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API