-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: certificate path construction (#135)
Feat: - implemented certificate path construction without using built-in library due to #117 Fix: - imported PFX certificate chain with leaf to root order doesn't work Resolves #136 Signed-off-by: Junjie Gao <[email protected]> --------- Signed-off-by: Junjie Gao <[email protected]>
- Loading branch information
Showing
28 changed files
with
1,363 additions
and
30 deletions.
There are no files selected for viewing
56 changes: 48 additions & 8 deletions
56
Notation.Plugin.AzureKeyVault.Tests/Certificate/CertificateChainTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,65 @@ | ||
using System.Collections.Generic; | ||
using System.IO; | ||
using System.Security.Cryptography.X509Certificates; | ||
using Notation.Plugin.Protocol; | ||
using Xunit; | ||
|
||
namespace Notation.Plugin.AzureKeyVault.Certificate.Tests | ||
{ | ||
public class CertificateChainTests | ||
{ | ||
[Fact] | ||
public void Build_WithValidLeafAndCertificateBundle_BuildsCertificateChain() | ||
public void Build_Empty() | ||
{ | ||
// Arrange | ||
X509Certificate2 leafCert = new X509Certificate2(Path.Combine(Directory.GetCurrentDirectory(), "TestData", "leaf.crt")); | ||
X509Certificate2Collection certificateBundle = CertificateBundle.Create(Path.Combine(Directory.GetCurrentDirectory(), "TestData", "root.crt")); | ||
X509Certificate2Collection certs = new X509Certificate2Collection(); | ||
|
||
// Act | ||
List<byte[]> certificateChain = CertificateChain.Build(leafCert, certificateBundle); | ||
Assert.Throws<PluginException>(() => CertificateChain.Build(certs)); | ||
} | ||
|
||
[Theory] | ||
[InlineData("leaf.pem", "leaf.pem", false)] // 1: non-self-signed leaf cert | ||
[InlineData("self_signed_leaf.pem", "self_signed_leaf.pem", true)] // 1: self-signed leaf cert | ||
[InlineData("2self_signed_leaf.pem", "2self_signed_leaf.pem", false)] // 2: duplicated self-signed leaf cert | ||
[InlineData("leaf_unknown.pem", "leaf_unknown.pem", false)] // 2: leaf + unknown cert | ||
[InlineData("leaf_root.pem", "leaf_root.pem", true)] // 2: leaf + root certs | ||
[InlineData("root_leaf.pem", "leaf_root.pem", true)] // 2: unordered root + leaf certs | ||
[InlineData("leaf_root_without_inter.pem", "leaf_root_without_inter.pem", false)] // 3: leaf + root certs without intermediate cert | ||
[InlineData("2root_leaf.pem", "2root_leaf.pem", false)] // 3: duplicated root + leaf certs | ||
[InlineData("DN_loop.pem", "DN_loop.pem", false)] // 3: DN naming loop | ||
[InlineData("root1_leaf_root2.pem", "root1_leaf_root2.pem", false)] // 3: root1 + root2 + leaf certs | ||
[InlineData("root_leaf1_leaf2.pem", "root_leaf1_leaf2.pem", false)] // 3: root + leaf1 + leaf2 certs | ||
[InlineData("leaf_root_unknown.pem", "leaf_root_unknown.pem", false)] // 3: leaf + root + unknown certs | ||
[InlineData("leaf_inter.pem", "leaf_inter.pem", false)] // 2: leaf + intermediate certs | ||
[InlineData("leaf_inter_root.pem", "leaf_inter_root.pem", true)] // 3: leaf + inter + root certs | ||
[InlineData("inter_root_leaf.pem", "leaf_inter_root.pem", true)] // 3: unordered inter + root + leaf certs | ||
[InlineData("leaf_inter_root_otherinter.pem", "leaf_inter_root_otherinter.pem", false)] // 3: leaf + inter + root + other intermediate cert certs | ||
[InlineData("leaf_inter_root_unknown.pem", "leaf_inter_root_unknown.pem", false)] // 4: leaf + inter + root + unknown certs | ||
[InlineData("leaf_inter2_inter1_unknown.pem", "leaf_inter2_inter1_unknown.pem", false)] // 4: leaf + inter2 + inter1 + unknown certs | ||
[InlineData("leaf_inter2_inter1_root.pem", "leaf_inter2_inter1_root.pem", true)] // 4: leaf + inter2 + inter1 + root certs | ||
[InlineData("inter2_inter1_root_leaf.pem", "leaf_inter2_inter1_root.pem", true)] // 4: inter2 + inter1 + root + leaf certs | ||
[InlineData("leaf_inter_root_leaf2_root2.pem", "leaf_inter_root_leaf2_root2.pem", false)] // 5: leaf + inter + root cert chain + leaf2 + root2 cert chain | ||
public void Build(string certName, string targetChainName, bool isValid) | ||
{ | ||
// Arrange | ||
X509Certificate2Collection certBundle = CertificateBundle.Create(Path.Combine(Directory.GetCurrentDirectory(), "TestData", "chain", certName)); | ||
X509Certificate2Collection targetChain = CertificateBundle.Create(Path.Combine(Directory.GetCurrentDirectory(), "TestData", "chain", targetChainName)); | ||
|
||
// Act | ||
if (isValid) | ||
{ | ||
var certificateChain = CertificateChain.Build(certBundle); | ||
|
||
// Assert | ||
Assert.NotNull(certificateChain); | ||
Assert.True(certificateChain.Count > 0); | ||
// Assert | ||
for (int i = 0; i < certificateChain.Count; i++) | ||
{ | ||
Assert.Equal(targetChain[i].Thumbprint, certificateChain[i].Thumbprint); | ||
} | ||
} | ||
else | ||
{ | ||
Assert.Throws<PluginException>(() => CertificateChain.Build(certBundle)); | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
Notation.Plugin.AzureKeyVault.Tests/TestData/chain/2root_leaf.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDFzCCAf+gAwIBAgIUcXSzPd52oq3cTzlLBJOoO7fiprkwDQYJKoZIhvcNAQEL | ||
BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAgFw0yMzA1MDQwNzAwNTVaGA8yMTIzMDQx | ||
MDA3MDA1NVowEjEQMA4GA1UEAwwHVGVzdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAJoVdivOR5V/Qot+h8rwuHxYF4T0uWFF3XrIqJ3BIw7Ts8Ev | ||
6EyIzc2oHlGOv5aM3IcW4Adn5bZgT0kPSi4ZAyxUVHG9o2TeeGIN6q8skrzP7316 | ||
hnB92shXYCgqXwo3KP5uKhbNPRTQ7OVwhGQqLaVrJXLw9rddAnLLG9AtkiuCCi+b | ||
U7ytPeq+vsP04BX1EKMuuErOt+TJLjJ7caYN6sobjmWEIrLcB31rPNuHBGJXXLYP | ||
LXIJ/IcnDRIeq8M28QEOiEKpIb+OR6nojnkJG2zk14RCzrM+TrudPsE9PGUojYOL | ||
qD5iKvexVLkum2zbYEOorl6q9BK+IL88m3Yr6j0CAwEAAaNjMGEwHQYDVR0OBBYE | ||
FFGaS7VNB8EdOojqlqqIpHjS6FggMB8GA1UdIwQYMBaAFFGaS7VNB8EdOojqlqqI | ||
pHjS6FggMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3 | ||
DQEBCwUAA4IBAQCKJsj78P6r6+NFDHfrKC730JDUeThokcYKVqSLOKm1Sc0gEAx2 | ||
wM88fZay2LRTisynt0qFxwUFcrPqlXJeob7bI+aJRGBEqyY/zDkycpEaOyHJFpiN | ||
elrfpQ1bVjTgOpUqmG21URMenxCApbbrBiCeNmeHcIsL/MGLAU2UL1rhjG6NrZLE | ||
IK/qRDNmDdntvn8SOHBg9nsc4u7OkNryKCTfqGwkB2TCNWB40DM6akPSRb5dVh/P | ||
viqpIeyPYMHw+yvs74s6/xTim9/Jy9MROScurGxFb9Vrby7gjd+41WuGf1hUBQ7S | ||
F/83FanddfSmtN/tyCz65FhyVyQJPT9oZATK | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDFzCCAf+gAwIBAgIUcXSzPd52oq3cTzlLBJOoO7fiprkwDQYJKoZIhvcNAQEL | ||
BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAgFw0yMzA1MDQwNzAwNTVaGA8yMTIzMDQx | ||
MDA3MDA1NVowEjEQMA4GA1UEAwwHVGVzdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAJoVdivOR5V/Qot+h8rwuHxYF4T0uWFF3XrIqJ3BIw7Ts8Ev | ||
6EyIzc2oHlGOv5aM3IcW4Adn5bZgT0kPSi4ZAyxUVHG9o2TeeGIN6q8skrzP7316 | ||
hnB92shXYCgqXwo3KP5uKhbNPRTQ7OVwhGQqLaVrJXLw9rddAnLLG9AtkiuCCi+b | ||
U7ytPeq+vsP04BX1EKMuuErOt+TJLjJ7caYN6sobjmWEIrLcB31rPNuHBGJXXLYP | ||
LXIJ/IcnDRIeq8M28QEOiEKpIb+OR6nojnkJG2zk14RCzrM+TrudPsE9PGUojYOL | ||
qD5iKvexVLkum2zbYEOorl6q9BK+IL88m3Yr6j0CAwEAAaNjMGEwHQYDVR0OBBYE | ||
FFGaS7VNB8EdOojqlqqIpHjS6FggMB8GA1UdIwQYMBaAFFGaS7VNB8EdOojqlqqI | ||
pHjS6FggMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3 | ||
DQEBCwUAA4IBAQCKJsj78P6r6+NFDHfrKC730JDUeThokcYKVqSLOKm1Sc0gEAx2 | ||
wM88fZay2LRTisynt0qFxwUFcrPqlXJeob7bI+aJRGBEqyY/zDkycpEaOyHJFpiN | ||
elrfpQ1bVjTgOpUqmG21URMenxCApbbrBiCeNmeHcIsL/MGLAU2UL1rhjG6NrZLE | ||
IK/qRDNmDdntvn8SOHBg9nsc4u7OkNryKCTfqGwkB2TCNWB40DM6akPSRb5dVh/P | ||
viqpIeyPYMHw+yvs74s6/xTim9/Jy9MROScurGxFb9Vrby7gjd+41WuGf1hUBQ7S | ||
F/83FanddfSmtN/tyCz65FhyVyQJPT9oZATK | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDOTCCAiGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdUZXN0 | ||
IENBMCAXDTIzMDUwNDA3MDIwNloYDzIxMjMwNDEwMDcwMjA2WjBDMREwDwYDVQQK | ||
Ewhub3RhdGlvbjELMAkGA1UECBMCV0ExCzAJBgNVBAYTAlVTMRQwEgYDVQQDEwtU | ||
ZXN0LVNpZ25lcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOZenQqj | ||
cimpyADt540GvlXsAwYqAyFpXmJDVsWImNMvHt+kaWabK1C5HJjTlXqGE9wIg1oY | ||
YG20pqbFKpPwULTBA7AkZvQipvMbkrqp9fJQUDi32HBLM4yIp1rYWciHIlKnv/Rk | ||
tSbtNxg6ES50xLJl/V0YFwgxT9JayVYk6D5BEEgXffpZsMUtuGbRe0QsHED09jaX | ||
onCvSV+sIpn0zAF4ahcWRseoTtfLAUfk5cJpFqwYvf3eIfvjWx7fvltpcEjfBDTj | ||
8TxPXNlst9lgn3X5z2dr2dbltXOgNzX/NfLh7MbAe3uM0AE5fkrQ4CoIm/9tFuhT | ||
nEv28Mk3WJQquX0CAwEAAaNnMGUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG | ||
CCsGAQUFBwMDMB0GA1UdDgQWBBTyceghcpaJ6QYyDNhHjIq2UkWmYzAfBgNVHSME | ||
GDAWgBRRmku1TQfBHTqI6paqiKR40uhYIDANBgkqhkiG9w0BAQsFAAOCAQEAlzNY | ||
LsYcV3hk22ZDFzGj8mZg6TjhHaejMgfOEm88UAUSjeHLaathV38sYHfqTwPwHjtf | ||
lGGoSqzhiWasQ4Le4wRPraD/kFhRMRiUJ3YmW9EwwpXRDc7YexypbqVIKr/48gb3 | ||
oMtUMYEarYlAOfWfMaMPHvXBlAIOq1oGLtuZ12doNJ3NqyqPoyLXNyjwYETnq+I/ | ||
6qZQ4R1prdOwCdBuay6vn4lSrD45WxdjdWTDpAbYoT6voje+nHtH21EIxo1iWMpD | ||
jzwp93CVbVxQnVf+dvSthHrUDPah+WPQ8yu4qhITxOrrAggCzBee3sK6WknERShf | ||
aIZK0TY5G9C8rxUIhg== | ||
-----END CERTIFICATE----- |
40 changes: 40 additions & 0 deletions
40
Notation.Plugin.AzureKeyVault.Tests/TestData/chain/2self_signed_leaf.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDRzCCAi+gAwIBAgIUNXnCwLi1z10bqyxXvXa8tZrKW6kwDQYJKoZIhvcNAQEL | ||
BQAwKjEPMA0GA1UECgwGUmF0aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTAg | ||
Fw0yMzA5MDExMDUwMzZaGA8yMTIzMDgwODEwNTAzNlowKjEPMA0GA1UECgwGUmF0 | ||
aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAKgG13pRD+ZN1OaHwRDGd5aMCYFocr7stN7hCBoqD2qDit2n | ||
a46IkQsBdEp+EoslFDzG627exL0h57OTp4T3bREAnNPgpzQcSHfiheerW5/iIP2m | ||
NFswfc4bwlhWBzlKcWXChzp7WX40H1DdjipktFyFgWhTwU7HJBW8smPO5NYGs2Yk | ||
68BIvS5RHhdlAFu88KvEbOrrfBptT1DBAL4CIS36TMQznZbu6FxAAXDfYKbE/4SL | ||
mpHUsAoOZVPer0sWOVEe7YVp1RZMwVzNnLPsb8gjlKxJwpYjeC0d6Il4b5hVgppy | ||
lu+rkxXc+ZYUccnWBy9yxHPsU65KdAxRo9YwbecCAwEAAaNjMGEwHQYDVR0OBBYE | ||
FJSoL6jK75sG1UbURor0xcxhjTX6MB8GA1UdIwQYMBaAFJSoL6jK75sG1UbURor0 | ||
xcxhjTX6MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3 | ||
DQEBCwUAA4IBAQB9oc5382B22ltr856jXxtHJVMDJ0JoZ5jZSFSfvJCked7gpW5p | ||
SA5OSL++0HLa9naM7wAETFw3lMERJ8zDvl9cVi9NFXdvk6aIiPYDnhbviM6pr3d9 | ||
NzvumM1tNtZG8OP5hVNUHvZEvijInBRLaJQKvSunZwosoMcIL27RFMicteOnNBy6 | ||
My81rbZDRNhnEU/FX4fnyMH3+Eyv2eMEj9cHPOS7aANq3Y8sNveaW85e+4GPwfU7 | ||
XuWqDGLusupgY2yulrBPqJp7JpgkIPhY/wkZ8ttBymdxmTGGdFH0hDqhy1TF6Ujd | ||
9JbDe0j+cgU9C70fY+tCH6qBkDqYD/OUUOtt | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDRzCCAi+gAwIBAgIUNXnCwLi1z10bqyxXvXa8tZrKW6kwDQYJKoZIhvcNAQEL | ||
BQAwKjEPMA0GA1UECgwGUmF0aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTAg | ||
Fw0yMzA5MDExMDUwMzZaGA8yMTIzMDgwODEwNTAzNlowKjEPMA0GA1UECgwGUmF0 | ||
aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBAKgG13pRD+ZN1OaHwRDGd5aMCYFocr7stN7hCBoqD2qDit2n | ||
a46IkQsBdEp+EoslFDzG627exL0h57OTp4T3bREAnNPgpzQcSHfiheerW5/iIP2m | ||
NFswfc4bwlhWBzlKcWXChzp7WX40H1DdjipktFyFgWhTwU7HJBW8smPO5NYGs2Yk | ||
68BIvS5RHhdlAFu88KvEbOrrfBptT1DBAL4CIS36TMQznZbu6FxAAXDfYKbE/4SL | ||
mpHUsAoOZVPer0sWOVEe7YVp1RZMwVzNnLPsb8gjlKxJwpYjeC0d6Il4b5hVgppy | ||
lu+rkxXc+ZYUccnWBy9yxHPsU65KdAxRo9YwbecCAwEAAaNjMGEwHQYDVR0OBBYE | ||
FJSoL6jK75sG1UbURor0xcxhjTX6MB8GA1UdIwQYMBaAFJSoL6jK75sG1UbURor0 | ||
xcxhjTX6MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3 | ||
DQEBCwUAA4IBAQB9oc5382B22ltr856jXxtHJVMDJ0JoZ5jZSFSfvJCked7gpW5p | ||
SA5OSL++0HLa9naM7wAETFw3lMERJ8zDvl9cVi9NFXdvk6aIiPYDnhbviM6pr3d9 | ||
NzvumM1tNtZG8OP5hVNUHvZEvijInBRLaJQKvSunZwosoMcIL27RFMicteOnNBy6 | ||
My81rbZDRNhnEU/FX4fnyMH3+Eyv2eMEj9cHPOS7aANq3Y8sNveaW85e+4GPwfU7 | ||
XuWqDGLusupgY2yulrBPqJp7JpgkIPhY/wkZ8ttBymdxmTGGdFH0hDqhy1TF6Ujd | ||
9JbDe0j+cgU9C70fY+tCH6qBkDqYD/OUUOtt | ||
-----END CERTIFICATE----- |
57 changes: 57 additions & 0 deletions
57
Notation.Plugin.AzureKeyVault.Tests/TestData/chain/DN_loop.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDITCCAgmgAwIBAgIUPK45Qm7RR4wZoQjscXpVXKut7M4wDQYJKoZIhvcNAQEL | ||
BQAwGDEWMBQGA1UEAwwNcmF0aWZ5LmludGVyMTAeFw0yMzA5MDQxNDEyMjNaFw0y | ||
MzEwMDQxNDEyMjNaMBgxFjAUBgNVBAMMDXJhdGlmeS5pbnRlcjIwggEiMA0GCSqG | ||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeIlcvhTD/aXBKPuP0Cx9v4bFjJMmT88Qq | ||
Ua3z1IGn7QLXprwoOHJzHm36xwEnb64UnfZHBkpddiiFllcPMaKo+QLQ3lvO8AX6 | ||
P5tgQyyfnkDJ9Et8jFMMal4JygOl8HX6RrqiQakU0P7tnwoE8ghvLBncfDfwHS3H | ||
vevZFdDi51KJIt2ZOnnoA+oOqVWtUx2H9CRHeEF2OaVMnQemo+9sDDtFrFALPdVZ | ||
coWWHJdA6g7xgb+OLtydQg1cJJdAlUiWwAV6CxlgS3lGZAfZV6enU2/fJNIszEcA | ||
jZnTxbaao6aY/UF5kZ6BPbNGyuDBA57qDrStpzovJPct5e2nAL3jAgMBAAGjYzBh | ||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBTYyOol | ||
YvPBcOz4gzyEpvjjrt7trDAfBgNVHSMEGDAWgBRc6cYN2Kng0oWFBKgTVePd8dBU | ||
UzANBgkqhkiG9w0BAQsFAAOCAQEAYLMHCP3QNE4HBf35y/k9kEeBvyFBh7IFC4P0 | ||
jyyhmwTiX9YRD5jiV/n2dYSXXuMDuJd52oq/drgUD3dINJ0ZCYlhkEN+5oNbqsTl | ||
ISOjeBCjIPLyCCQAUOF4WlZqaUu/Q42deHpAok73mdcNIFK0XRwkFF8dAGQ8hcU1 | ||
gYsJbm1SuUcUqBvqomzQAHyGyAboOmFZiS4ePFqJMkt5L47Vhw2AZY+xn0GgAous | ||
laaA+TpptKvO0hNV8kYoJ084KYyMU7bsKsrA3nbkAnSvTfx5a8fD+5eLf0fQZb4j | ||
L9j6ijZ8oi+W0KDgPfFhtDMMPHqSmqh0mZ9HGR3VewQUR+F1Og== | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDITCCAgmgAwIBAgIUI1tC37NFchWmsNpzPrEVhA4SSHMwDQYJKoZIhvcNAQEL | ||
BQAwGDEWMBQGA1UEAwwNcmF0aWZ5LmludGVyMjAeFw0yMzA5MDQxNDIyNTNaFw0y | ||
MzEwMDQxNDIyNTNaMBgxFjAUBgNVBAMMDXJhdGlmeS5pbnRlcjEwggEiMA0GCSqG | ||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYhjxclbLrIrTUHXgVh86V3IFsurejjG6F | ||
2O3h0GofQAy7V11AUr8egJXfBMYGJ5nECwMpjFsgG2PPFtxDZfvg2709pXAQ6zQL | ||
DpW2c1xAHxBAf7Hfgsy1lLQtMRWDuKQIgp4V13CHxK0mS3QuqTZlNdygbnI4SNvb | ||
C61oY+hUJbgBdBHuxRnGC5OY2+tqCO3bPFlHQ7jn5hSb/0h+3x1g1hqEtBkrd2ub | ||
AdgDMsTCqxkKOH4ococxLxerIJEq/4/vSPoX+cqarldEEL1pTOyLJtJHn7mVJ3Xa | ||
btTriUkUR+jNtbSCjQKOju8I8ZJq4GMzXqaIJ+3XYU9gAazuXdwJAgMBAAGjYzBh | ||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBSR3Hpr | ||
qkqxfJ6kqYw2qly8t/1CZzAfBgNVHSMEGDAWgBRWBu/fCpHWdX6wVEDrgWDhU1Kv | ||
2DANBgkqhkiG9w0BAQsFAAOCAQEAgN+sLwG87Ko1qykJIDnOTcVDHvqOU01klTgo | ||
GAD/k+KrNinOnQ8z0kMFHXmWYeGs2sWYn+0XHYgufr9//0Zo3bthXS1t9XB6qzyM | ||
hOiVVMcJWcjQBzJtyZANk7cGF9rrVcvjzd0vxECwaehcaP8b//HonCqoOwjnN8Oq | ||
4rZe0H1e110nnamva8mS/6kcwZp/nukIATp2L1A2gniysboRPdnSTMeVwj1XEj3I | ||
XZanrQ6UQLsM9YFwBCpyUVYuCk0FDH7+q9Eg+xT1NBloiZ1wbuFYOUIukbqtpc9D | ||
/0HZyZHdILZc7jAwKK3GhqmKGyRaCPKSbnrSRUjSwYNdsWWcUQ== | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDITCCAgmgAwIBAgIUIsazvzFvmJkutImL9Idp6CCmfsEwDQYJKoZIhvcNAQEL | ||
BQAwGDEWMBQGA1UEAwwNcmF0aWZ5LmludGVyMjAgFw0yMzA5MDQxNDIyNTRaGA8y | ||
MTIzMDgxMTE0MjI1NFowGTEXMBUGA1UEAwwOcmF0aWZ5LmRlZmF1bHQwggEiMA0G | ||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsQdWar/Cr32J0nDglXP04PLm8jiEC | ||
U5gYui0hsX+Rs8z7CNvmruBC1Lftg/AJQgcgWQNi2EIbVA6APb4N3n/IeaREV0MW | ||
naAcz4Tv+YZAHwaBw96aynAOs2SbXB/xU1DcW+9LqNJhFkHLMLwPOMS1r+B7Nu2S | ||
G/Uq87pMXvcxtkT/RoHYs9x7aEnIKDKKA20iTBwKo3UeSxPMDzUqnSilZ9LS/oxF | ||
V5D51LjSxtz/WcnrXyE/q/mY4vtH3eF8onB4Mh2DM/MS+HXPi6wn0KVHX4/e7jZe | ||
qfkgoL5doAAv+54Aq0lHPJ9ZKepIQZu5MWtYgIxeUmkIG7Df2iYvprFdAgMBAAGj | ||
YDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBT5kbQ0 | ||
Y0VnA7K47Ijs6qe9dJo7ajAfBgNVHSMEGDAWgBTYyOolYvPBcOz4gzyEpvjjrt7t | ||
rDANBgkqhkiG9w0BAQsFAAOCAQEAjxZSppgaCJG23Z7KPLuOWQr6ALTiWQ7L+fOY | ||
8MTtmujageV+uevbNK8h/B7qXitJ68DYSSCqLp4uO1W+PGC3nKwzt4szL2y2tlqd | ||
cLklzAYhKqWZ/e3v/7exdqogxAtyjoa6P6a7nvnNiMEvSSAb9lgz7gGXI2rs6D/c | ||
TUuiFldxflaqxOGbG2S4k2MNCDV1FhG3vmMLN4DCd26rHxtm/onE76fVN18BdV9y | ||
AefsGWB4337WW9m0O1n5k/Xwvi4NXfow5o3d9jbKtIqUI9U6oCw6gkqnWYbPW9wi | ||
cqWlFtqZE0ioM8snDyV+WHz04m6xjJ/F5vhgZh2/Fb8/+yh9Wg== | ||
-----END CERTIFICATE----- |
Empty file.
78 changes: 78 additions & 0 deletions
78
Notation.Plugin.AzureKeyVault.Tests/TestData/chain/inter2_inter1_root_leaf.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDITCCAgmgAwIBAgIUEOAI0YVqF+ekkskGAq5+dJ3LUkowDQYJKoZIhvcNAQEL | ||
BQAwGDEWMBQGA1UEAwwNcmF0aWZ5LmludGVyMTAeFw0yMzA5MDQwNjIwMjFaFw0y | ||
MzEwMDQwNjIwMjFaMBgxFjAUBgNVBAMMDXJhdGlmeS5pbnRlcjIwggEiMA0GCSqG | ||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDfjb0zculL/tVGxg2hFXvDUdJ6BmPwSCq2 | ||
lJiH1SoRBFIbSXRk+MZFvk4dEK4rcIfh96UQr3EsnMEHUjHzI3oJ5PR2upS+vD+2 | ||
IlLGW/SPtZgEDkSh6c9uGU9lx/DVLO2ZZrhckMq2IxpMiTM3TocTKwzoO+ccY805 | ||
LXVKEhbqk8PyO33Jhv2JDZtC8/NfQVQdkUTRUh0cGtoRG+PeI8EA0iU4JhJ9YWoy | ||
wzuCrsqhhkBXwGDIkbq7a2avupL7ENirItm20LN//hny1ZjwBLE0eqO2VpbXn+gE | ||
M8Xgp6ijGh2XPrWU+YbLv5K89hQ5wi61QjUXo0DNFTgREjaNFuETAgMBAAGjYzBh | ||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBRp0AmE | ||
b91kIObTWLSZYLCWTSaO1zAfBgNVHSMEGDAWgBReRIer4BfYN1IofVtvc92eEAPE | ||
izANBgkqhkiG9w0BAQsFAAOCAQEARdQO0CspA3reD1Ws8Bj0sMaubNsieyup+zYa | ||
BjuTCsqGLve50kR5WRmq5ayqeBOYtB1+ksjZc7MEv4aysk+6+uJTgIToQhb/scGs | ||
om/lJQnXWZHOohniw/4gA2Y4RfT2BBI9CO7OEjVdcHgXhweADWV72Yp6/3TOlIVP | ||
7THycrUi8Pz0WpQJLnN0fq9PpvgG6cvhjWiIEoC4T8IJK8pIPx1CPT/WkBIE8cS3 | ||
5yIDsZbJOQ/M3yRRd7f/nmGPHAdn+fId5T2jX+Hh+isQhVas57yzZjokYIVy/dOw | ||
QZeR2p/LsEKb+ebqOzeMNU3Ir/KUdohrxescBw8xW2JR2XXVIA== | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDMzCCAhugAwIBAgIUY9SnCSWXwc5Jrqj+mLKnzwASHywwDQYJKoZIhvcNAQEL | ||
BQAwKjEPMA0GA1UECgwGUmF0aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTAe | ||
Fw0yMzA5MDQwNjIwMjBaFw0yMzEwMDQwNjIwMjBaMBgxFjAUBgNVBAMMDXJhdGlm | ||
eS5pbnRlcjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzeV+1gfkx | ||
BIVdsntcs0QOJSp2qC0W2K241EaimPcVxFmDmKweJtuX1WOHqmQHoRdYVYqlFP8r | ||
GNc0jTxF1dizhGaC7W/I+KThyWOwa9r0JDrSSLap/piTrM0hE+OHCL7cbCI0znr3 | ||
Z+MsiXA41oTZeZd7H9U3tObgiWFaUqoaEbNTN0f20RgHC8QZrFNHxj0OphtgA7RG | ||
xqAt5qHD35XqR5skYyKGk9lNy6B4sJ+5kCOmXKvI7wsJpEcO2rvsdGpaSpnHX/V/ | ||
pC/BaurvFnbI4mUkTdETX30+KtpIgexbqg33xvKt3BUo4waCaVmV3AK0EE7MxInm | ||
4aWGwguG1kZ9AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD | ||
AgIEMB0GA1UdDgQWBBReRIer4BfYN1IofVtvc92eEAPEizAfBgNVHSMEGDAWgBQo | ||
IQk1tdF2EtspOFPCremuCntvrTANBgkqhkiG9w0BAQsFAAOCAQEATUU0EZ/FPecm | ||
jSvI7DJ2wlN0SyHuBumf0w+iXXPu5IE6x5G6zZss7dvbem1QGm6UcMDyeM6deAt+ | ||
LHPIUpqK6eRflolMbrvHU1CAHzrCOAyBof7vGJxPPYOgmMykF+e/QSNmpi2mukM1 | ||
DeG4Ao1099C/a3P2LcT5gdocGLNrcDywE2t///TeLMUvjrQ0YmOR6TzcZYYUxgAI | ||
yGY4yNmfsk3DaacN+sB9e0IlsIGyDnOWETSLvvJ5vhiAo3CVjgjjiUVWVUwHpEJp | ||
AXQH+fcao23DLhVFr00+lM9IzhzAVmSRRd+qK7bScuTviDeBoh1cv4wEsH+XQTdH | ||
fFYB6pyUsg== | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDRzCCAi+gAwIBAgIUXUWcqeMN5dXBgjcLwUmaD1PZf3kwDQYJKoZIhvcNAQEL | ||
BQAwKjEPMA0GA1UECgwGUmF0aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTAg | ||
Fw0yMzA5MDQwNjIwMjBaGA8yMTIzMDgxMTA2MjAyMFowKjEPMA0GA1UECgwGUmF0 | ||
aWZ5MRcwFQYDVQQDDA5SYXRpZnkgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD | ||
ggEPADCCAQoCggEBALD9s+pF4us6SDnFNXwzwiRHFecSIaLfh/epdRws0jDd8ly0 | ||
v4Y000OQcqGwc3f888H3uLYJScuUlNmOfKpHhCpi5wDLMIZzxK7UfV//9R8Xon5L | ||
QcGw0tPeyMp6IxNduLxe5wbiLjuwsPXsYluxdBCJCgsO3tMl/rvCopjrI6yxeR8K | ||
UZK1OrsTOENDBbc9+jAQ81hVR6fY24EQ4bVaqxCH+ZbtafpQBpH6NOkCVen29JgM | ||
DWKqBJvq0NtqdyfgiE6WV0nhNspGGqk+VMSUG2Jb55EAEQt1UU/Us77KVMs32+kr | ||
/EIqq2JbuVRmRaAocrhZSxabg3z0qokrv+qdXZUCAwEAAaNjMGEwHQYDVR0OBBYE | ||
FCghCTW10XYS2yk4U8Kt6a4Ke2+tMB8GA1UdIwQYMBaAFCghCTW10XYS2yk4U8Kt | ||
6a4Ke2+tMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3 | ||
DQEBCwUAA4IBAQCkgHj4OOAmp5QAMAe09qYNTiwyHgK3tYmiuc9+Brl8lcuYeRQb | ||
nBllI9cFZ226AziVpy6rbfKNzh/WpfG0gEVMOa3NnOfJI3gqa6ajrHRSC3Yc8LDO | ||
VaLUdUB+Tjnw/dKvPfcoGyn5UK0UHJJwBOmlpDiY57qpLG2qUROW6V56SJ+MDtVQ | ||
XR8sQxbXTVNIOrnLiUYML8UKWwWcnbR4FK6ShZDHoLAofGJ68wguRGFLhLX2lOE3 | ||
C0FcP7R0b9cGYTeQMKSbYvb4628ltRGWsJYA8opunN/c6ydsj9+DYx1FOcH+OLon | ||
Yy4fIsb33S0MS/lKz0HrELZevVY1Eeu7i5Yg | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDITCCAgmgAwIBAgIUcIJtSZ/A8Mswp/c8Pv3OB9CIAycwDQYJKoZIhvcNAQEL | ||
BQAwGDEWMBQGA1UEAwwNcmF0aWZ5LmludGVyMjAgFw0yMzA5MDQwNjIwMjFaGA8y | ||
MTIzMDgxMTA2MjAyMVowGTEXMBUGA1UEAwwOcmF0aWZ5LmRlZmF1bHQwggEiMA0G | ||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY+15WH6uY+YBx/wGZfcO0m2ApcpwB | ||
dKudpjB72IYaRbL2lxQK05U0F3n0H+oaqABx1QbUWVW/DfC5MNkbs4CQFp2TlIIc | ||
R7D+CmbCvJ+03HKU6L7CLjLDwisyYSFJw3rW8qhvM1OTDX1Icjas8MS2ijsW4hJ/ | ||
T+pM84gCD8IrzdRrRsPSHcP/lMafzdADaeKC2GLsJ4FXXFnmzW0XiyzG9HVEjHP3 | ||
XjliDNHQDE4ePfRsmubRkl3zfFlt8Nfp/6W2/5fLGaz2v41IxzxjeKwWvZM4UQQg | ||
OVEKe/+OHMHUfeXWXhj8UDhq8uXHVIPMO2bbtJ2TLRnPQ+gx8L8yIIylAgMBAAGj | ||
YDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBQvZODV | ||
Nkeng9kqb0jHYZtf+XWbHTAfBgNVHSMEGDAWgBRp0AmEb91kIObTWLSZYLCWTSaO | ||
1zANBgkqhkiG9w0BAQsFAAOCAQEAF7w0oztrfiWPLacWVEHq54vryuT9QnHJZKON | ||
f/jiYviSIsdnSo2/Hi8jSusmCW+Z49sfIdhUUqlSqNMDCpnmIGsyaF5pWaqUNYEC | ||
StVJ8X1BxbybrzZg7ZOdhXW3RwGTeGEB1WikyzJoBHHrpCm3DPn/kyvCpKJ8CrG7 | ||
Pe9Xpocm+pqm2aZjyAuHiiOrz1tNx1HKl2vi/vC+0R64aSMWBzR38XhDsoes3MEs | ||
oN2HA8g6DZXNVERqo4KGfHavh8nDYV2bhASNdLryjoSaYZe/pUJrIrIriUf52Wo7 | ||
N3aSWoinYUuAOwTYwm5MPxW+JU1PbBJ0/AVcXb6RYWSmhp1ImA== | ||
-----END CERTIFICATE----- |
Oops, something went wrong.