private static bool IssuerAndSerialMatch( CadesIssuerSerial issuerSerial, ReadOnlySpan <byte> issuerDirectoryName, ReadOnlySpan <byte> serialNumber) { GeneralName[] issuerNames = issuerSerial.Issuer; if (issuerNames == null || issuerNames.Length != 1) { return(false); } GeneralName requiredName = issuerNames[0]; if (requiredName.DirectoryName == null) { return(false); } if (!requiredName.DirectoryName.Value.Span.SequenceEqual(issuerDirectoryName)) { return(false); } return(serialNumber.SequenceEqual(issuerSerial.SerialNumber.Span)); }
private static bool IssuerAndSerialMatch( CadesIssuerSerial issuerSerial, string issuerDirectoryName, string serialNumber) { GeneralName[] issuerNames = issuerSerial.Issuer; if (issuerNames == null || issuerNames.Length != 1) { return(false); } GeneralName requiredName = issuerNames[0]; if (requiredName.DirectoryName == null) { return(false); } if (issuerDirectoryName != new X500DistinguishedName(requiredName.DirectoryName.Value.ToArray()).Name) { return(false); } return(serialNumber == issuerSerial.SerialNumber.Span.ToSkiString()); }