Spec-Zone.ru › Ruby 4.0
  1. OpenSSL::
  2. X509::
  3. Extension::
  4. AuthorityInfoAccess

модуль 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–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

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