Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PssParamsAsn.cs
Go to the documentation of this file.
2
4
5internal struct PssParamsAsn
6{
8
10
11 internal int SaltLength;
12
13 internal int TrailerField;
14
15 private static ReadOnlySpan<byte> DefaultHashAlgorithm => new byte[11]
16 {
17 48, 9, 6, 5, 43, 14, 3, 2, 26, 5,
18 0
19 };
20
21 private static ReadOnlySpan<byte> DefaultMaskGenAlgorithm => new byte[24]
22 {
23 48, 22, 6, 9, 42, 134, 72, 134, 247, 13,
24 1, 1, 8, 48, 9, 6, 5, 43, 14, 3,
25 2, 26, 5, 0
26 };
27
28 private static ReadOnlySpan<byte> DefaultSaltLength => new byte[3] { 2, 1, 20 };
29
30 private static ReadOnlySpan<byte> DefaultTrailerField => new byte[3] { 2, 1, 1 };
31
32 internal void Encode(AsnWriter writer)
33 {
35 }
36
37 internal void Encode(AsnWriter writer, Asn1Tag tag)
38 {
39 writer.PushSequence(tag);
40 AsnWriter asnWriter = new AsnWriter(AsnEncodingRules.DER);
41 HashAlgorithm.Encode(asnWriter);
43 {
44 writer.PushSequence(new Asn1Tag(TagClass.ContextSpecific, 0));
45 asnWriter.CopyTo(writer);
46 writer.PopSequence(new Asn1Tag(TagClass.ContextSpecific, 0));
47 }
48 AsnWriter asnWriter2 = new AsnWriter(AsnEncodingRules.DER);
49 MaskGenAlgorithm.Encode(asnWriter2);
51 {
52 writer.PushSequence(new Asn1Tag(TagClass.ContextSpecific, 1));
53 asnWriter2.CopyTo(writer);
54 writer.PopSequence(new Asn1Tag(TagClass.ContextSpecific, 1));
55 }
56 AsnWriter asnWriter3 = new AsnWriter(AsnEncodingRules.DER);
57 asnWriter3.WriteInteger(SaltLength);
59 {
60 writer.PushSequence(new Asn1Tag(TagClass.ContextSpecific, 2));
61 asnWriter3.CopyTo(writer);
62 writer.PopSequence(new Asn1Tag(TagClass.ContextSpecific, 2));
63 }
64 AsnWriter asnWriter4 = new AsnWriter(AsnEncodingRules.DER);
65 asnWriter4.WriteInteger(TrailerField);
67 {
68 writer.PushSequence(new Asn1Tag(TagClass.ContextSpecific, 3));
69 asnWriter4.CopyTo(writer);
70 writer.PopSequence(new Asn1Tag(TagClass.ContextSpecific, 3));
71 }
72 writer.PopSequence(tag);
73 }
74}
bool EncodedValueEquals(ReadOnlySpan< byte > other)
Definition AsnWriter.cs:232
void CopyTo(AsnWriter destination)
Definition AsnWriter.cs:328
void WriteInteger(long value, Asn1Tag? tag=null)
Definition AsnWriter.cs:665
static readonly Asn1Tag Sequence
Definition Asn1Tag.cs:29
void Encode(AsnWriter writer, Asn1Tag tag)
static ReadOnlySpan< byte > DefaultHashAlgorithm
static ReadOnlySpan< byte > DefaultSaltLength
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn HashAlgorithm
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn MaskGenAlgorithm
static ReadOnlySpan< byte > DefaultMaskGenAlgorithm
static ReadOnlySpan< byte > DefaultTrailerField