Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RSACertificateExtensions.cs
Go to the documentation of this file.
1
using
Internal.Cryptography
;
2
using
Internal.Cryptography.Pal
;
3
4
namespace
System.Security.Cryptography.X509Certificates
;
5
6
public
static
class
RSACertificateExtensions
7
{
8
public
static
RSA
?
GetRSAPublicKey
(
this
X509Certificate2
certificate)
9
{
10
return
certificate.
GetPublicKey
<
RSA
>();
11
}
12
13
public
static
RSA
?
GetRSAPrivateKey
(
this
X509Certificate2
certificate)
14
{
15
return
certificate.GetPrivateKey<
RSA
>();
16
}
17
18
public
static
X509Certificate2
CopyWithPrivateKey
(
this
X509Certificate2
certificate,
RSA
privateKey)
19
{
20
if
(certificate ==
null
)
21
{
22
throw
new
ArgumentNullException
(
"certificate"
);
23
}
24
if
(privateKey ==
null
)
25
{
26
throw
new
ArgumentNullException
(
"privateKey"
);
27
}
28
if
(certificate.
HasPrivateKey
)
29
{
30
throw
new
InvalidOperationException
(
System
.
SR
.
Cryptography_Cert_AlreadyHasPrivateKey
);
31
}
32
using
(
RSA
rSA = certificate.GetRSAPublicKey())
33
{
34
if
(rSA ==
null
)
35
{
36
throw
new
ArgumentException
(
System
.
SR
.
Cryptography_PrivateKey_WrongAlgorithm
);
37
}
38
RSAParameters
rSAParameters = rSA.
ExportParameters
(includePrivateParameters:
false
);
39
RSAParameters
rSAParameters2 = privateKey.
ExportParameters
(includePrivateParameters:
false
);
40
if
(!rSAParameters.
Modulus
.ContentsEqual(rSAParameters2.
Modulus
) || !rSAParameters.
Exponent
.ContentsEqual(rSAParameters2.
Exponent
))
41
{
42
throw
new
ArgumentException
(
System
.
SR
.
Cryptography_PrivateKey_DoesNotMatch
,
"privateKey"
);
43
}
44
}
45
ICertificatePal
pal = certificate.
Pal
.
CopyWithPrivateKey
(privateKey);
46
return
new
X509Certificate2
(pal);
47
}
48
}
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.RSA.ExportParameters
RSAParameters ExportParameters(bool includePrivateParameters)
System.Security.Cryptography.RSA
Definition
RSA.cs:15
System.Security.Cryptography.X509Certificates.RSACertificateExtensions.CopyWithPrivateKey
static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, RSA privateKey)
Definition
RSACertificateExtensions.cs:18
System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPublicKey
static ? RSA GetRSAPublicKey(this X509Certificate2 certificate)
Definition
RSACertificateExtensions.cs:8
System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey
static ? RSA GetRSAPrivateKey(this X509Certificate2 certificate)
Definition
RSACertificateExtensions.cs:13
System.Security.Cryptography.X509Certificates.RSACertificateExtensions
Definition
RSACertificateExtensions.cs:7
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.Security.Cryptography.X509Certificates
Definition
CertificateAsn.cs:4
System
Definition
BlockingCollection.cs:8
System.Security.Cryptography.RSAParameters.Exponent
byte?[] Exponent
Definition
RSAParameters.cs:11
System.Security.Cryptography.RSAParameters.Modulus
byte?[] Modulus
Definition
RSAParameters.cs:15
System.Security.Cryptography.RSAParameters
Definition
RSAParameters.cs:4
source
System.Security.Cryptography.X509Certificates
System.Security.Cryptography.X509Certificates
RSACertificateExtensions.cs
Generated by
1.10.0