Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
X509BasicConstraintsExtension.cs
Go to the documentation of this file.
1
using
Internal.Cryptography.Pal
;
2
3
namespace
System.Security.Cryptography.X509Certificates
;
4
5
public
sealed
class
X509BasicConstraintsExtension
:
X509Extension
6
{
7
private
bool
_certificateAuthority
;
8
9
private
bool
_hasPathLenConstraint
;
10
11
private
int
_pathLenConstraint
;
12
13
private
bool
_decoded
;
14
15
public
bool
CertificateAuthority
16
{
17
get
18
{
19
if
(!
_decoded
)
20
{
21
DecodeExtension
();
22
}
23
return
_certificateAuthority
;
24
}
25
}
26
27
public
bool
HasPathLengthConstraint
28
{
29
get
30
{
31
if
(!
_decoded
)
32
{
33
DecodeExtension
();
34
}
35
return
_hasPathLenConstraint
;
36
}
37
}
38
39
public
int
PathLengthConstraint
40
{
41
get
42
{
43
if
(!
_decoded
)
44
{
45
DecodeExtension
();
46
}
47
return
_pathLenConstraint
;
48
}
49
}
50
51
public
X509BasicConstraintsExtension
()
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
}
Internal.Cryptography.Pal.X509Pal.Instance
static IX509Pal Instance
Definition
X509Pal.cs:14
Internal.Cryptography.Pal.X509Pal
Definition
X509Pal.cs:13
System.ArgumentOutOfRangeException
Definition
ArgumentOutOfRangeException.cs:9
System.SR.Arg_OutOfRange_NeedNonNegNum
static string Arg_OutOfRange_NeedNonNegNum
Definition
SR.cs:26
System.SR
Definition
SR.cs:7
System.Security.Cryptography.AsnEncodedData.RawData
byte[] RawData
Definition
AsnEncodedData.cs:25
System.Security.Cryptography.AsnEncodedData
Definition
AsnEncodedData.cs:7
System.Security.Cryptography.Oids
Definition
Oids.cs:4
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension._certificateAuthority
bool _certificateAuthority
Definition
X509BasicConstraintsExtension.cs:7
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.DecodeExtension
void DecodeExtension()
Definition
X509BasicConstraintsExtension.cs:82
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.X509BasicConstraintsExtension
X509BasicConstraintsExtension(AsnEncodedData encodedBasicConstraints, bool critical)
Definition
X509BasicConstraintsExtension.cs:62
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension._decoded
bool _decoded
Definition
X509BasicConstraintsExtension.cs:13
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.PathLengthConstraint
int PathLengthConstraint
Definition
X509BasicConstraintsExtension.cs:40
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension._pathLenConstraint
int _pathLenConstraint
Definition
X509BasicConstraintsExtension.cs:11
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension._hasPathLenConstraint
bool _hasPathLenConstraint
Definition
X509BasicConstraintsExtension.cs:9
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.CertificateAuthority
bool CertificateAuthority
Definition
X509BasicConstraintsExtension.cs:16
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.HasPathLengthConstraint
bool HasPathLengthConstraint
Definition
X509BasicConstraintsExtension.cs:28
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.EncodeExtension
static byte[] EncodeExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint)
Definition
X509BasicConstraintsExtension.cs:73
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.CopyFrom
override void CopyFrom(AsnEncodedData asnEncodedData)
Definition
X509BasicConstraintsExtension.cs:67
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.X509BasicConstraintsExtension
X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical)
Definition
X509BasicConstraintsExtension.cs:57
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension.X509BasicConstraintsExtension
X509BasicConstraintsExtension()
Definition
X509BasicConstraintsExtension.cs:51
System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension
Definition
X509BasicConstraintsExtension.cs:6
System.Security.Cryptography.X509Certificates.X509Extension
Definition
X509Extension.cs:6
Internal.Cryptography.Pal
Definition
CERT_BASIC_CONSTRAINTS2_INFO.cs:1
System.Security.Cryptography.X509Certificates
Definition
CertificateAsn.cs:4
System
Definition
BlockingCollection.cs:8
source
System.Security.Cryptography.X509Certificates
System.Security.Cryptography.X509Certificates
X509BasicConstraintsExtension.cs
Generated by
1.10.0