public override byte[] GetSignatureAlgorithmIdentifier(HashAlgorithmName hashAlgorithm) { string oid; if (hashAlgorithm == HashAlgorithmName.SHA256) { oid = Oids.RsaPkcs1Sha256; } else if (hashAlgorithm == HashAlgorithmName.SHA384) { oid = Oids.RsaPkcs1Sha384; } else if (hashAlgorithm == HashAlgorithmName.SHA512) { oid = Oids.RsaPkcs1Sha512; } else { throw new ArgumentOutOfRangeException( nameof(hashAlgorithm), hashAlgorithm, SR.Format(SR.Cryptography_UnknownHashAlgorithm, hashAlgorithm.Name)); } return(DerEncoder.ConstructSequence( DerEncoder.SegmentedEncodeOid(oid), DerEncoder.SegmentedEncodeNull())); }