Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PssParamsAsn.cs
Go to the documentation of this file.
1
using
System.Formats.Asn1
;
2
3
namespace
System.Security.Cryptography.Asn1
;
4
5
internal
struct
PssParamsAsn
6
{
7
internal
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn
HashAlgorithm
;
8
9
internal
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn
MaskGenAlgorithm
;
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
{
34
Encode
(
writer
,
Asn1Tag
.
Sequence
);
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);
42
if
(!asnWriter.
EncodedValueEquals
(
DefaultHashAlgorithm
))
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);
50
if
(!asnWriter2.
EncodedValueEquals
(
DefaultMaskGenAlgorithm
))
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
);
58
if
(!asnWriter3.
EncodedValueEquals
(
DefaultSaltLength
))
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
);
66
if
(!asnWriter4.
EncodedValueEquals
(
DefaultTrailerField
))
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
}
System.Formats.Asn1.AsnWriter.EncodedValueEquals
bool EncodedValueEquals(ReadOnlySpan< byte > other)
Definition
AsnWriter.cs:232
System.Formats.Asn1.AsnWriter.CopyTo
void CopyTo(AsnWriter destination)
Definition
AsnWriter.cs:328
System.Formats.Asn1.AsnWriter.WriteInteger
void WriteInteger(long value, Asn1Tag? tag=null)
Definition
AsnWriter.cs:665
System.Formats.Asn1.AsnWriter
Definition
AsnWriter.cs:13
System.Security.Cryptography.HashAlgorithm
Definition
HashAlgorithm.cs:10
System.Formats.Asn1.TagClass
TagClass
Definition
TagClass.cs:4
System.Formats.Asn1.AsnEncodingRules
AsnEncodingRules
Definition
AsnEncodingRules.cs:4
System.Formats.Asn1
Definition
Asn1Tag.cs:3
System.Security.Cryptography.Asn1
Definition
AlgorithmIdentifierAsn.cs:3
System.ExceptionArgument.writer
@ writer
System.Formats.Asn1.Asn1Tag.Sequence
static readonly Asn1Tag Sequence
Definition
Asn1Tag.cs:29
System.Formats.Asn1.Asn1Tag
Definition
Asn1Tag.cs:6
System.ReadOnlySpan
Definition
ReadOnlySpan.cs:14
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn
Definition
AlgorithmIdentifierAsn.cs:6
System.Security.Cryptography.Asn1.PssParamsAsn.TrailerField
int TrailerField
Definition
PssParamsAsn.cs:13
System.Security.Cryptography.Asn1.PssParamsAsn.Encode
void Encode(AsnWriter writer, Asn1Tag tag)
Definition
PssParamsAsn.cs:37
System.Security.Cryptography.Asn1.PssParamsAsn.DefaultHashAlgorithm
static ReadOnlySpan< byte > DefaultHashAlgorithm
Definition
PssParamsAsn.cs:15
System.Security.Cryptography.Asn1.PssParamsAsn.DefaultSaltLength
static ReadOnlySpan< byte > DefaultSaltLength
Definition
PssParamsAsn.cs:28
System.Security.Cryptography.Asn1.PssParamsAsn.HashAlgorithm
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn HashAlgorithm
Definition
PssParamsAsn.cs:7
System.Security.Cryptography.Asn1.PssParamsAsn.MaskGenAlgorithm
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn MaskGenAlgorithm
Definition
PssParamsAsn.cs:9
System.Security.Cryptography.Asn1.PssParamsAsn.DefaultMaskGenAlgorithm
static ReadOnlySpan< byte > DefaultMaskGenAlgorithm
Definition
PssParamsAsn.cs:21
System.Security.Cryptography.Asn1.PssParamsAsn.DefaultTrailerField
static ReadOnlySpan< byte > DefaultTrailerField
Definition
PssParamsAsn.cs:30
System.Security.Cryptography.Asn1.PssParamsAsn.SaltLength
int SaltLength
Definition
PssParamsAsn.cs:11
System.Security.Cryptography.Asn1.PssParamsAsn.Encode
void Encode(AsnWriter writer)
Definition
PssParamsAsn.cs:32
System.Security.Cryptography.Asn1.PssParamsAsn
Definition
PssParamsAsn.cs:6
source
System.Security.Cryptography.X509Certificates
System.Security.Cryptography.Asn1
PssParamsAsn.cs
Generated by
1.10.0