Skip to content

Commit 2e68fd3

Browse files
committed
Address feedback, add DSA certificate tests
1 parent 4ad1faf commit 2e68fd3

File tree

6 files changed

+44
-69
lines changed

6 files changed

+44
-69
lines changed

src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -441,15 +441,12 @@ private X509Certificate2 LoadCertificate(CertificateConfig certInfo, string endp
441441
if (certInfo.KeyPath != null)
442442
{
443443
var certificateKeyPath = Path.Combine(environment.ContentRootPath, certInfo.KeyPath);
444-
X509Certificate2 certificate = GetCertificate(certInfo, certificatePath, certificateKeyPath);
444+
var certificate = GetCertificate(certInfo, certificatePath, certificateKeyPath);
445445

446-
if (!certificate.HasPrivateKey)
446+
if (certificate != null)
447447
{
448448
certificate = LoadCertificateKey(certificate, certificateKeyPath, certInfo.Password);
449-
}
450449

451-
if (certificate != null)
452-
{
453450
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
454451
{
455452
return PersistKey(certificate);
@@ -487,14 +484,12 @@ static X509Certificate2 LoadCertificateKey(X509Certificate2 certificate, string
487484

488485
static X509Certificate2 GetCertificate(CertificateConfig certInfo, string certificatePath, string certificateKeyPath)
489486
{
490-
if (X509Certificate2.GetCertContentType(certificatePath) != X509ContentType.Unknown)
487+
if (X509Certificate2.GetCertContentType(certificatePath) == X509ContentType.Cert)
491488
{
492489
return new X509Certificate2(certificatePath);
493490
}
494491

495-
return certInfo.Password != null ?
496-
X509Certificate2.CreateFromEncryptedPemFile(certificatePath, certInfo.Password, certificateKeyPath) :
497-
X509Certificate2.CreateFromPemFile(certificatePath, certificateKeyPath);
492+
return null;
498493
}
499494
}
500495

src/Servers/Kestrel/Kestrel/test/KestrelConfigurationLoaderTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,10 @@ public void ConfigureEndpoint_ThrowsWhen_TheKeyCannotBeRead()
289289
[InlineData("https-ecdsa.pem", "https-ecdsa-protected.key", "aspnetcore")]
290290
[InlineData("https-ecdsa.crt", "https-ecdsa.key", null)]
291291
[InlineData("https-ecdsa.crt", "https-ecdsa-protected.key", "aspnetcore")]
292-
//[InlineData("https-dsa.pem", "https-dsa.key", null)]
293-
//[InlineData("https-dsa.pem", "https-dsa-protected.key", "aspnetcore")]
294-
//[InlineData("https-dsa.crt", "https-dsa.key", null)]
295-
//[InlineData("https-dsa.crt", "https-dsa-protected.key", "aspnetcore")]
292+
[InlineData("https-dsa.pem", "https-dsa.key", null)]
293+
[InlineData("https-dsa.pem", "https-dsa-protected.key", "test")]
294+
[InlineData("https-dsa.crt", "https-dsa.key", null)]
295+
[InlineData("https-dsa.crt", "https-dsa-protected.key", "test")]
296296
public void ConfigureEndpoint_CanLoadPemCertificates(string certificateFile, string certificateKey, string password)
297297
{
298298
var serverOptions = CreateServerOptions();
Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
-----BEGIN ENCRYPTED PRIVATE KEY-----
2-
MIICzTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIgeRX7Sed0OsCAggA
3-
MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBC7vpWM+TQ9caiqYAn+h95YBIIC
4-
cM8+gZPkVJZF1ICFi6lHHNjV9FSdH+qwvUOzBEVP1oZtmdMBhEVqqm+3H+Gcm6dn
5-
C4JjMGCu3KqQ096JoWeFE/ksuTcL7MBtvyY35NIbbVxEW7YxvTiICADfjwL0mDYH
6-
SlUr0LLrMhoYfN01HE2kkkJLZLt58zjzxyUdc//SlIC6rJyd6NZdNrmRQ9JZzd7G
7-
SZtkXRMvrzyJoxwOc+5ERmYtOtOWmyF2pAFwoEnb8VOQgoM3gy/3lO5aVpPj76Rr
8-
MmJwdruU39nUPTe6VI6ukF5T27pu0XmX5YWqy5+PZ5cFhmOxGSxwvw6dbJSM1+Sg
9-
ZcKohhQQtNFYFgFpp8cz84o1lHWprjGxHRVKEeKAwgX8v8glDTKzwS0DKsTzdn0s
10-
2RCwjr+GxH7wpjwzllny2xU/h5ZR2j8gldfCNFVPtFrGleuEduPA4U04Mkije0l9
11-
AdPHDK8drvUuIZLb2HCQu0wYmUDmtY/SWuMl1xRonrF+cPPcmAdQDP8IH2MGL8SO
12-
9h/CCextHsqzXl7PJzHcjLmn8qmlocmSJRALCrWpgoE/d7Wjle8LmtQVWSw0UgTo
13-
GEoWpFcz6JJBUrcasGQHokLtuyAjjSRgSt1DFK2iW+O7MARK9wJNCGUfDNWavO4p
14-
hA7MR1muv/xwwr0oi2OJ5rc3N+6M/Fb1fRlU5+EsaE2xee7nV3JdVmdYKpOM8ksX
15-
F5XV/b4BbaPbTRppr0aZk6RDqy5jlYVsNy1Npwqw/2pJqS7wTWZgaWQgePsRGsb5
16-
3SZC64XpHlzBgYOgpnOC9x9KJuWt2z4OS0l70Nvv7+VLzem0fVMb+Dh/5VFjYfp2
17-
4w==
2+
MIIBoTBLBgkqhkiG9w0BBQ0wPjApBgkqhkiG9w0BBQwwHAQI+PhdT1Kk/SkCAggA
3+
MAwGCCqGSIb3DQIJBQAwEQYFKw4DAgcECGV1ZmaiQtz2BIIBUA/6pNqTkXpkOLlI
4+
22Lh0cm5+/foDRh3qTrAOSHHHV0Dz1xYvYMa9MFzONatLf55Rpb2ZPji3hXwUQfn
5+
gOJeTBRTaMNz5LaKJiOIWj0qDckhgKt9cmgiBzVTvXO4pERp1uz5zcvaUOKj2TSv
6+
ljxishj76MYQftIGMMkJQKf4OsHubCopuKUbzTPgJt0FuF4eT37+tiEMgbYrmA6p
7+
REPE0vT1aY+LYdJLV/Dax/l4lMvYmQYOWs9TCLPlI5RZQxxte6zbcA13ESg/qLE3
8+
4Mx8xgXrPvCxp3h8KBKNMaJR1xzpr7UQOpkI9qja++3cJAl6O/0mdeqZct0V9Z8P
9+
a3+wyUWo58z5sOPNdJHIMV6qw6m3w+IQoCJC7EbV0+Pyo5eSU5zbgm7YWZ9Yx6l8
10+
g1mCP4Q6Tqe6LjKfBsZAmYWSfKqoTKRjC3ocJMt53tIDpB5jFw==
1811
-----END ENCRYPTED PRIVATE KEY-----
Binary file not shown.
Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
-----BEGIN PRIVATE KEY-----
2-
MIICZQIBADCCAjkGByqGSM44BAEwggIsAoIBAQDJCLNPr0jF6+UOqnftcW7OC+Pj
3-
rSOLhk277kKiWlQvOGNyqFbL3UvOfVAbKFcMOumZhftsSvHUf9Q47xS5XKBbhIpz
4-
UhyxLVQ435mqQWYOpnqLm5glxUwUn8DKfFiOTznimdypgnGQt5mTdVJ7IG574fAn
5-
5IdC6oE1KReDxdXqN0M4i2e6x/O+uc7r8ePsuQ/Eoo3w4iM/VxHKVLNoOBWZwgPh
6-
EpxumDFslRGal2j7IlUit1tEC9k9D32G+VL7gqu0m6LO5JXJNFIcU6RH36YDfLd3
7-
eTKbwZjQW57uj1JkR/flm0xR7IUVKmcVs0QaW5fyeudt+U78fCGfd8CSa2cDAiEA
8-
vDbQX231dqIHsQePToTsintUmbtI+/MqrR27x0fHysMCggEAHCTRNw9ZVDUcUtD0
9-
LKL1ophDNXZFjegz6DwHEsGwMcW+fT9QwfVmcZy5xLqqloapOdE7ejWJ6rKHPmQz
10-
m+73u7fuDDSJMl7MaxVDSMLmlCnJO84tNtCLyRsYxsneSFs9rw0tEIJGAgJHnAgz
11-
usj/hNEhTZT5oLjVPT/DjEqqOvVTlBaVZnd1fkeuI03M/J86R2mIm0VkFLpufnW/
12-
McebsHwpz9Y2jxr2Wvz0+xv5ooLwZeVFRVl95SsHypjkCGtWKcqxA+lZdYkqLbwt
13-
WvIfo+gJJS6iLsxs9I6OBqh85+bp4xlYsXnmr3JrsuV7OyfCppfgIABbHops57Vg
14-
rbRwswQjAiEAksfTXws/dqMjlRmytRcU4qDef3La1STF5WSsoMdYYqs=
15-
-----END PRIVATE KEY-----
1+
-----BEGIN PRIVATE KEY-----
2+
MIIBSwIBADCCASsGByqGSM44BAEwggEeAoGBAJyiyioeXx1O98gRCMEjlPKMpr79
3+
KrcDkoroghtuXO1U6Cx34pBRjOQmQLDPqSOriEo5VuG6SJc/ppfZx9TrSrzqB26h
4+
KTUmiaOKmwpfIfzpi72wgsZeMOtU7JQ+FThfGyS8VxGh6G0h7xw26B/9ALxRw25z
5+
O1cy9ZJs0EY3hsHzAhUA/4dpclsck8K+SkWBTcPfU+x7wTUCgYB4LP6UvrvIiiFP
6+
xhk7AEGMMr0MhcJ3hhsgKWukUqIYsJKBM5MpKCnej5BHvnLXdKodIxygcKR4dJX7
7+
BRv69L+2RJk+UrYL1qBco5HpUslumA0e3gNdwRLoOoGD14dn1LD1LdESsyMgwfHH
8+
J0RRkYwacgCVXsvHv/eAkA8qq136dwQXAhUA216Tqp4OvdUBNv8QLv8Z5QPopGQ=
9+
-----END PRIVATE KEY-----
Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,20 @@
11
-----BEGIN CERTIFICATE-----
2-
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
2720
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)