private X509Certificate getOcspIssuerCert()

in net/JetBrains.SignatureVerifier/src/Crypt/OcspVerifier.cs [195:221]


    private X509Certificate getOcspIssuerCert(BasicOcspResp ocspResp)
    {
      var certs = ocspResp.GetCerts()?.Cast<X509Certificate>().ToList();

      if (certs is null || certs.Count < 1)
        return null;

      var responderId = ocspResp.ResponderId.ToAsn1Object();

      if (responderId.Name is not null)
      {
        return certs.FirstOrDefault(f => f.SubjectDN.Equivalent(responderId.Name));
      }
      else
      {
        var keyHash = responderId.GetKeyHash();

        if (keyHash is null)
          return null;

        return certs.FirstOrDefault(f =>
        {
          var ki = f.GetSubjectKeyIdentifierRaw();
          return ki is not null && keyHash.SequenceEqual(ki);
        });
      }
    }