Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DSACertificateExtensions.cs
Go to the documentation of this file.
1
using
System.Runtime.Versioning
;
2
using
Internal.Cryptography
;
3
using
Internal.Cryptography.Pal
;
4
5
namespace
System.Security.Cryptography.X509Certificates
;
6
7
[UnsupportedOSPlatform(
"ios"
)]
8
[UnsupportedOSPlatform(
"tvos"
)]
9
public
static
class
DSACertificateExtensions
10
{
11
public
static
DSA
?
GetDSAPublicKey
(
this
X509Certificate2
certificate)
12
{
13
return
certificate.
GetPublicKey
<
DSA
>();
14
}
15
16
public
static
DSA
?
GetDSAPrivateKey
(
this
X509Certificate2
certificate)
17
{
18
return
certificate.GetPrivateKey<
DSA
>();
19
}
20
21
public
static
X509Certificate2
CopyWithPrivateKey
(
this
X509Certificate2
certificate,
DSA
privateKey)
22
{
23
if
(certificate ==
null
)
24
{
25
throw
new
ArgumentNullException
(
"certificate"
);
26
}
27
if
(privateKey ==
null
)
28
{
29
throw
new
ArgumentNullException
(
"privateKey"
);
30
}
31
if
(certificate.
HasPrivateKey
)
32
{
33
throw
new
InvalidOperationException
(
System
.
SR
.
Cryptography_Cert_AlreadyHasPrivateKey
);
34
}
35
using
(
DSA
dSA = certificate.GetDSAPublicKey())
36
{
37
if
(dSA ==
null
)
38
{
39
throw
new
ArgumentException
(
System
.
SR
.
Cryptography_PrivateKey_WrongAlgorithm
);
40
}
41
DSAParameters
dSAParameters = dSA.
ExportParameters
(includePrivateParameters:
false
);
42
DSAParameters
dSAParameters2 = privateKey.
ExportParameters
(includePrivateParameters:
false
);
43
if
(!dSAParameters.
G
.ContentsEqual(dSAParameters2.
G
) || !dSAParameters.
P
.ContentsEqual(dSAParameters2.
P
) || !dSAParameters.
Q
.ContentsEqual(dSAParameters2.
Q
) || !dSAParameters.
Y
.ContentsEqual(dSAParameters2.
Y
))
44
{
45
throw
new
ArgumentException
(
System
.
SR
.
Cryptography_PrivateKey_DoesNotMatch
,
"privateKey"
);
46
}
47
}
48
ICertificatePal
pal = certificate.
Pal
.
CopyWithPrivateKey
(privateKey);
49
return
new
X509Certificate2
(pal);
50
}
51
}
System.ArgumentException
Definition
ArgumentException.cs:9
System.ArgumentNullException
Definition
ArgumentNullException.cs:10
System.InvalidOperationException
Definition
InvalidOperationException.cs:9
System.SR.Cryptography_Cert_AlreadyHasPrivateKey
static string Cryptography_Cert_AlreadyHasPrivateKey
Definition
SR.cs:40
System.SR.Cryptography_PrivateKey_WrongAlgorithm
static string Cryptography_PrivateKey_WrongAlgorithm
Definition
SR.cs:86
System.SR.Cryptography_PrivateKey_DoesNotMatch
static string Cryptography_PrivateKey_DoesNotMatch
Definition
SR.cs:84
System.SR
Definition
SR.cs:7
System.Security.Cryptography.DSA.ExportParameters
DSAParameters ExportParameters(bool includePrivateParameters)
System.Security.Cryptography.DSA
Definition
DSA.cs:13
System.Security.Cryptography.X509Certificates.DSACertificateExtensions.GetDSAPrivateKey
static ? DSA GetDSAPrivateKey(this X509Certificate2 certificate)
Definition
DSACertificateExtensions.cs:16
System.Security.Cryptography.X509Certificates.DSACertificateExtensions.CopyWithPrivateKey
static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, DSA privateKey)
Definition
DSACertificateExtensions.cs:21
System.Security.Cryptography.X509Certificates.DSACertificateExtensions.GetDSAPublicKey
static ? DSA GetDSAPublicKey(this X509Certificate2 certificate)
Definition
DSACertificateExtensions.cs:11
System.Security.Cryptography.X509Certificates.DSACertificateExtensions
Definition
DSACertificateExtensions.cs:10
System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey
bool HasPrivateKey
Definition
X509Certificate2.cs:95
System.Security.Cryptography.X509Certificates.X509Certificate2.Pal
new ICertificatePal Pal
Definition
X509Certificate2.cs:36
System.Security.Cryptography.X509Certificates.X509Certificate2
Definition
X509Certificate2.cs:13
System.Security.Cryptography.X509Certificates.X509Certificate.GetPublicKey
virtual byte[] GetPublicKey()
Definition
X509Certificate.cs:462
Internal.Cryptography.ICertificatePal.CopyWithPrivateKey
ICertificatePal CopyWithPrivateKey(DSA privateKey)
Internal.Cryptography.ICertificatePal
Definition
ICertificatePal.cs:10
Internal.Cryptography.Pal
Definition
CERT_BASIC_CONSTRAINTS2_INFO.cs:1
Internal.Cryptography
Definition
AesBCryptModes.cs:5
System.Runtime.Versioning
Definition
NonVersionableAttribute.cs:1
System.Security.Cryptography.X509Certificates
Definition
CertificateAsn.cs:4
System
Definition
BlockingCollection.cs:8
System.Security.Cryptography.DSAParameters.Y
byte?[] Y
Definition
DSAParameters.cs:11
System.Security.Cryptography.DSAParameters.Q
byte?[] Q
Definition
DSAParameters.cs:7
System.Security.Cryptography.DSAParameters.G
byte?[] G
Definition
DSAParameters.cs:9
System.Security.Cryptography.DSAParameters.P
byte?[] P
Definition
DSAParameters.cs:5
System.Security.Cryptography.DSAParameters
Definition
DSAParameters.cs:4
source
System.Security.Cryptography.X509Certificates
System.Security.Cryptography.X509Certificates
DSACertificateExtensions.cs
Generated by
1.10.0