public IEnumerable GetHashAgilityV2Hashes()

in net/JetBrains.SignatureVerifier/src/Crypt/AppleSignatureVerifier.cs [145:177]


  public IEnumerable<DigestInfo> GetHashAgilityV2Hashes(SignedMessage signedMessage)
  {
    List<DigestInfo> tokens = new List<DigestInfo>();

    var signersStore = signedMessage.SignedData.GetSignerInfos();

    foreach (SignerInformation signer in signersStore.GetSigners())
    {
      if (signer.SignedAttributes != null)
      {
        var appleHashAgilitiesV2 = signer.SignedAttributes.GetAll(OIDs.APPLE_HASH_AGILITY_V2);

        foreach (Attribute appleHashAgility in appleHashAgilitiesV2)
        {
          foreach (var appleHashAgilityValue in appleHashAgility.AttrValues)
          {
            var seq = (Asn1Sequence)appleHashAgilityValue;

            if (seq.Count == 2 && seq[0] is DerObjectIdentifier)
            {
              var algorithmIdentifier = new AlgorithmIdentifier((DerObjectIdentifier)seq[0]);
              var digest = Asn1OctetString.GetInstance(seq[1]).GetOctets();
              var contentInfo = new DigestInfo(algorithmIdentifier, digest);

              tokens.Add(contentInfo);
            }
          }
        }
      }
    }

    return tokens;
  }