Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
X509BasicConstraintsExtension.cs
Go to the documentation of this file.
2
4
6{
8
10
11 private int _pathLenConstraint;
12
13 private bool _decoded;
14
16 {
17 get
18 {
19 if (!_decoded)
20 {
22 }
24 }
25 }
26
28 {
29 get
30 {
31 if (!_decoded)
32 {
34 }
36 }
37 }
38
40 {
41 get
42 {
43 if (!_decoded)
44 {
46 }
47 return _pathLenConstraint;
48 }
49 }
50
52 : base(System.Security.Cryptography.Oids.BasicConstraints2Oid)
53 {
54 _decoded = true;
55 }
56
57 public X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical)
58 : base(System.Security.Cryptography.Oids.BasicConstraints2Oid, EncodeExtension(certificateAuthority, hasPathLengthConstraint, pathLengthConstraint), critical)
59 {
60 }
61
62 public X509BasicConstraintsExtension(AsnEncodedData encodedBasicConstraints, bool critical)
63 : base(System.Security.Cryptography.Oids.BasicConstraints2Oid, encodedBasicConstraints.RawData, critical)
64 {
65 }
66
67 public override void CopyFrom(AsnEncodedData asnEncodedData)
68 {
69 base.CopyFrom(asnEncodedData);
70 _decoded = false;
71 }
72
73 private static byte[] EncodeExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint)
74 {
75 if (hasPathLengthConstraint && pathLengthConstraint < 0)
76 {
77 throw new ArgumentOutOfRangeException("pathLengthConstraint", System.SR.Arg_OutOfRange_NeedNonNegNum);
78 }
79 return X509Pal.Instance.EncodeX509BasicConstraints2Extension(certificateAuthority, hasPathLengthConstraint, pathLengthConstraint);
80 }
81
82 private void DecodeExtension()
83 {
84 if (base.Oid.Value == "2.5.29.10")
85 {
86 X509Pal.Instance.DecodeX509BasicConstraintsExtension(base.RawData, out _certificateAuthority, out _hasPathLenConstraint, out _pathLenConstraint);
87 }
88 else
89 {
90 X509Pal.Instance.DecodeX509BasicConstraints2Extension(base.RawData, out _certificateAuthority, out _hasPathLenConstraint, out _pathLenConstraint);
91 }
92 _decoded = true;
93 }
94}
static string Arg_OutOfRange_NeedNonNegNum
Definition SR.cs:26
Definition SR.cs:7
X509BasicConstraintsExtension(AsnEncodedData encodedBasicConstraints, bool critical)
static byte[] EncodeExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint)
X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical)