Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetSignatureAlgorithmIdentifier()

override byte[] System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator.GetSignatureAlgorithmIdentifier ( HashAlgorithmName hashAlgorithm)
inline

Definition at line 15 of file ECDsaX509SignatureGenerator.cs.

16 {
17 string oidValue;
18 if (hashAlgorithm == HashAlgorithmName.SHA256)
19 {
20 oidValue = "1.2.840.10045.4.3.2";
21 }
22 else if (hashAlgorithm == HashAlgorithmName.SHA384)
23 {
24 oidValue = "1.2.840.10045.4.3.3";
25 }
26 else
27 {
28 if (!(hashAlgorithm == HashAlgorithmName.SHA512))
29 {
30 throw new ArgumentOutOfRangeException("hashAlgorithm", hashAlgorithm, System.SR.Format(System.SR.Cryptography_UnknownHashAlgorithm, hashAlgorithm.Name));
31 }
32 oidValue = "1.2.840.10045.4.3.4";
33 }
34 AsnWriter asnWriter = new AsnWriter(AsnEncodingRules.DER);
35 asnWriter.PushSequence();
36 asnWriter.WriteObjectIdentifier(oidValue);
37 asnWriter.PopSequence();
38 return asnWriter.Encode();
39 }
void WriteObjectIdentifier(string oidValue, Asn1Tag? tag=null)
Definition AsnWriter.cs:954
Scope PushSequence(Asn1Tag? tag=null)
int Encode(Span< byte > destination)
Definition AsnWriter.cs:195
void PopSequence(Asn1Tag? tag=null)
static string Cryptography_UnknownHashAlgorithm
Definition SR.cs:152
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7

References System.SR.Cryptography_UnknownHashAlgorithm, System.Formats.Asn1.AsnWriter.Encode(), System.SR.Format(), System.Security.Cryptography.HashAlgorithmName.Name, System.Formats.Asn1.AsnWriter.PopSequence(), System.Formats.Asn1.AsnWriter.PushSequence(), System.Security.Cryptography.HashAlgorithmName.SHA256, System.Security.Cryptography.HashAlgorithmName.SHA384, System.Security.Cryptography.HashAlgorithmName.SHA512, and System.Formats.Asn1.AsnWriter.WriteObjectIdentifier().