Skip to content

Commit

Permalink
Add test credential generation, fix key usage in test credentials
Browse files Browse the repository at this point in the history
  • Loading branch information
Akretsch committed Sep 20, 2023
1 parent 2ba8d12 commit f3e2231
Show file tree
Hide file tree
Showing 28 changed files with 936 additions and 535 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,7 @@ fix: switch to SUN provider for chain validation

### 2.6.5 (Sep 16 2023)
note: maintenance release with updated dependencies, an adjusted CI pipeline

### 2.6.6 (Sept 20 2023)

fix: Add test credential generation, fix key usage in test credentials
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.siemens.pki</groupId>
<artifactId>CmpRaComponent</artifactId>
<version>2.6.5</version>
<version>2.6.6</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,55 +53,11 @@ public class TestCentralKeyGenerationWithKeyTransport extends CkgOnlineEnrollmen

private SignatureBasedProtection eeRsaCredentials;

@Override
@Before
public void setUp() throws Exception {
super.setUp();
eeRsaCredentials = new SignatureBasedProtection(
new TrustChainAndPrivateKey("credentials/CMP_EE_Keystore_RSA.p12", TestUtils.PASSWORD_AS_CHAR_ARRAY));
keyTransportDecryptor =
new CmsDecryptor(eeRsaCredentials.getEndCertificate(), eeRsaCredentials.getPrivateKey(), null);
launchCmpCaAndRa(buildSignatureBasedDownstreamConfiguration());
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testCrWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_CERT_REQ, PKIBody.TYPE_CERT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testIrWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_INIT_REQ, PKIBody.TYPE_INIT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testKurWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_INIT_REQ, PKIBody.TYPE_INIT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}

private Configuration buildSignatureBasedDownstreamConfiguration() throws Exception {
private Configuration buildRsaSignatureBasedDownstreamConfiguration() throws Exception {
final TrustChainAndPrivateKey downstreamCredentials =
new TrustChainAndPrivateKey("credentials/CMP_LRA_DOWNSTREAM_Keystore.p12", "Password".toCharArray());
final SignatureValidationCredentials downstreamTrust =
new SignatureValidationCredentials("credentials/CMP_EE_Root.pem", null);
new SignatureValidationCredentials("credentials/CMP_EE_Root_RSA.pem", null);
final TrustChainAndPrivateKey upstreamCredentials =
new TrustChainAndPrivateKey("credentials/CMP_LRA_UPSTREAM_Keystore.p12", "Password".toCharArray());
final SignatureValidationCredentials upstreamTrust =
Expand Down Expand Up @@ -386,4 +342,48 @@ public boolean isRaVerifiedAcceptable(final String certProfile, final int bodyTy
}
};
}

@Override
@Before
public void setUp() throws Exception {
super.setUp();
eeRsaCredentials = new SignatureBasedProtection(
new TrustChainAndPrivateKey("credentials/CMP_EE_Keystore_RSA.p12", TestUtils.PASSWORD_AS_CHAR_ARRAY));
keyTransportDecryptor =
new CmsDecryptor(eeRsaCredentials.getEndCertificate(), eeRsaCredentials.getPrivateKey(), null);
launchCmpCaAndRa(buildRsaSignatureBasedDownstreamConfiguration());
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testCrWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_CERT_REQ, PKIBody.TYPE_CERT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testIrWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_INIT_REQ, PKIBody.TYPE_INIT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}

/**
* Central Key Generation/Using Key Transport Key Management Technique
*
* @throws Exception
*/
@Test
public void testKurWithKeyTransport() throws Exception {
executeCrmfCertificateRequestWithoutKey(
PKIBody.TYPE_INIT_REQ, PKIBody.TYPE_INIT_REP, eeRsaCredentials, getEeClient(), keyTransportDecryptor);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
/*
* Copyright (c) 2023 Siemens AG
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
*/
package com.siemens.pki.cmpracomponent.test;

import com.siemens.pki.cmpracomponent.cryptoservices.KeyPairGeneratorFactory;
import com.siemens.pki.cmpracomponent.test.framework.TestCertificateFactory;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import org.bouncycastle.asn1.x509.Extension;
import org.bouncycastle.asn1.x509.KeyPurposeId;
import org.bouncycastle.openssl.jcajce.JcaPEMWriter;
import org.bouncycastle.operator.OperatorCreationException;
import org.junit.Test;

/**
* initial creation of test credentials
*
*/
public class TestCreateTestCertificateChains {

private static final char[] STORE_PASSWORD = "Password".toCharArray();
private static final File CREDENTIAL_ROOT =
new File("src/test/java/com/siemens/pki/cmpracomponent/test/config/credentials");

private void createEnrollTestCertificateChain(
final String subjectPrefix, KeyPairGenerator keyPairGenerator, String signatureAlgorithm)
throws GeneralSecurityException, CertificateException, OperatorCreationException, NoSuchAlgorithmException,
IOException, KeyStoreException, FileNotFoundException {
final KeyPair rootKeypair = keyPairGenerator.generateKeyPair();
final X509Certificate rootCert =
TestCertificateFactory.createRootCertificate(subjectPrefix, rootKeypair, signatureAlgorithm);

final KeyPair issuerKeypair = keyPairGenerator.generateKeyPair();
final X509Certificate issuerCert = TestCertificateFactory.createIssuerCertificate(
subjectPrefix, rootCert, rootKeypair.getPrivate(), issuerKeypair.getPublic(), signatureAlgorithm);

try (JcaPEMWriter pw =
new JcaPEMWriter(new FileWriter(new File(CREDENTIAL_ROOT, subjectPrefix + "_Chain.pem")))) {
pw.writeObject(rootCert);
pw.writeObject(issuerCert);
}
try (JcaPEMWriter pw =
new JcaPEMWriter(new FileWriter(new File(CREDENTIAL_ROOT, subjectPrefix + "_Root.pem")))) {
pw.writeObject(rootCert);
}
final KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(null, STORE_PASSWORD);
keystore.setKeyEntry(
"cert", issuerKeypair.getPrivate(), STORE_PASSWORD, new Certificate[] {issuerCert, rootCert});
try (final OutputStream ksout =
new FileOutputStream(new File(CREDENTIAL_ROOT, subjectPrefix + "_Keystore.p12"))) {
keystore.store(ksout, STORE_PASSWORD);
}
}

private void createFullTestCertificateChain(
final String subjectPrefix,
KeyPairGenerator keyPairGenerator,
String signatureAlgorithm,
Extension... eeExtensions)
throws GeneralSecurityException, CertificateException, OperatorCreationException, NoSuchAlgorithmException,
IOException, KeyStoreException, FileNotFoundException {
final KeyPair rootKeypair = keyPairGenerator.generateKeyPair();
final X509Certificate rootCert =
TestCertificateFactory.createRootCertificate(subjectPrefix, rootKeypair, signatureAlgorithm);

final KeyPair issuerKeypair = keyPairGenerator.generateKeyPair();
final X509Certificate issuerCert = TestCertificateFactory.createIssuerCertificate(
subjectPrefix, rootCert, rootKeypair.getPrivate(), issuerKeypair.getPublic(), signatureAlgorithm);

final KeyPair eeKeypair = keyPairGenerator.generateKeyPair();
final X509Certificate eeCert = TestCertificateFactory.createEndEntityCertificate(
subjectPrefix,
issuerCert,
issuerKeypair.getPrivate(),
eeKeypair.getPublic(),
signatureAlgorithm,
eeExtensions);
try (JcaPEMWriter pw =
new JcaPEMWriter(new FileWriter(new File(CREDENTIAL_ROOT, subjectPrefix + "_Chain.pem")))) {
pw.writeObject(rootCert);
pw.writeObject(issuerCert);
pw.writeObject(eeCert);
}
try (JcaPEMWriter pw =
new JcaPEMWriter(new FileWriter(new File(CREDENTIAL_ROOT, subjectPrefix + "_Root.pem")))) {
pw.writeObject(rootCert);
}
final KeyStore keystore = KeyStore.getInstance("PKCS12", "SUN");
keystore.load(null, STORE_PASSWORD);
keystore.setKeyEntry(
"cert", eeKeypair.getPrivate(), STORE_PASSWORD, new Certificate[] {eeCert, issuerCert, rootCert});
try (final OutputStream ksout =
new FileOutputStream(new File(CREDENTIAL_ROOT, subjectPrefix + "_Keystore.p12"))) {
keystore.store(ksout, STORE_PASSWORD);
}
}

@Test
// @Ignore("execute if test credentials need a refresh")
public void createTestCertificateChains() throws OperatorCreationException, IOException, GeneralSecurityException {
final KeyPairGenerator keyPairGenerator = KeyPairGeneratorFactory.getEcKeyPairGenerator("secp521r1");
createEnrollTestCertificateChain("ENROLL", keyPairGenerator, "SHA512WITHECDSA");
createFullTestCertificateChain("CMP_CA", keyPairGenerator, "SHA512WITHECDSA");
createFullTestCertificateChain(
"CMP_LRA_UPSTREAM",
keyPairGenerator,
"SHA512WITHECDSA",
TestCertificateFactory.createExtendedKeyUsageExtension(
KeyPurposeId.id_kp_cmcRA, KeyPurposeId.anyExtendedKeyUsage));
createFullTestCertificateChain(
"CMP_LRA_DOWNSTREAM",
keyPairGenerator,
"SHA512WITHECDSA",
TestCertificateFactory.createExtendedKeyUsageExtension(
KeyPurposeId.id_kp_cmKGA, KeyPurposeId.anyExtendedKeyUsage));
createFullTestCertificateChain("CMP_EE", keyPairGenerator, "SHA512WITHECDSA");
// createTestCertificateChain("TLS", keyPairGenerator, "SHA512WITHECDSA", TestCertificateFactory
// .createExtendedKeyUsageExtension(KeyPurposeId.id_kp_clientAuth, KeyPurposeId.id_kp_serverAuth),
// TestCertificateFactory.createSubjectAlternativeNameExtension("localhost"));
}
}
Original file line number Diff line number Diff line change
@@ -1,74 +1,52 @@

Subject: CN=CMPCA-ENDENTITY
Issuer: CN=CMPCA-INTERMEDIATE-2
Valid from Thu Sep 03 10:45:37 CEST 2020 to Sun Sep 01 10:45:37 CEST 2030
Serial: 1599122797384
-----BEGIN CERTIFICATE-----
MIIB0TCCAXagAwIBAgIGAXRTJXNIMAoGCCqGSM49BAMCMB8xHTAbBgNVBAMMFENN
UENBLUlOVEVSTUVESUFURS0yMB4XDTIwMDkwMzA4NDUzN1oXDTMwMDkwMTA4NDUz
N1owGjEYMBYGA1UEAwwPQ01QQ0EtRU5ERU5USVRZMFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEzmAAW5Xw+hVVozl47pVtNilogVHP6E+82fXXdpWxFdTq0ANrO2qM
+AgdGbb33HGZ4ZNXF18OcTh05hw1sc7FSqOBojCBnzAdBgNVHQ4EFgQUTm6rZvFX
aybWOpCqC4mdBhp4Fn0wTAYDVR0jBEUwQ4AU/jIZUwTiUaEspX+iT/03/lCY/1eh
I6QhMB8xHTAbBgNVBAMMFENNUENBLUlOVEVSTUVESUFURS0xggYBdFMlc0MwDgYD
VR0PAQH/BAQDAgKMMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMgBggrBgEFBQcDGzAK
BggqhkjOPQQDAgNJADBGAiEA0zfLMwM2m38lu8EergpFCOvKsi+vDnz40EP0Tsfb
jegCIQCJFg5b4s9kVX/TQkgfmtnXZ2vCEsSmmhCiClytjzyUhg==
MIICfzCCAeCgAwIBAgIHAKqqAAAAAzAKBggqhkjOPQQDBDBOMQswCQYDVQQGEwJE
RTEQMA4GA1UEChMHU2llbWVuczEXMBUGA1UECxMOVGVzdERlcGFydG1lbnQxFDAS
BgNVBAMMC0NNUF9DQV9ST09UMB4XDTIzMDkyMDA1NTkyMFoXDTM1MDkyMDA2NTky
MFowTjELMAkGA1UEBhMCREUxEDAOBgNVBAoTB1NpZW1lbnMxFzAVBgNVBAsTDlRl
c3REZXBhcnRtZW50MRQwEgYDVQQDDAtDTVBfQ0FfUk9PVDCBmzAQBgcqhkjOPQIB
BgUrgQQAIwOBhgAEAVt8DcHzPAvF0d5LMnqg+ScOy74e/d6CDDzjZRgzeE9pE3te
wFzSNMSACpuLOo3ADUmwpwUYyTiMU7lZNLpKywc9Ads7aaye43TPUcdBjZz9YagT
DtISNa+F8DZChu14D0q1sSm7OPbNP1PEcI278BaDfahzLH5tm+zSUhTM2BCd0O0e
o2YwZDAfBgNVHSMEGDAWgBREvfNr11lt/ynL9nE9tvmYxl85iDAdBgNVHQ4EFgQU
RL3za9dZbf8py/ZxPbb5mMZfOYgwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8B
Af8EBAMCAYYwCgYIKoZIzj0EAwQDgYwAMIGIAkIBmG0agTG1Btvq8Gp8g4ZZji8X
g/3w1aWK3J/qsoTK9jS3FXevE7j4Em9D7qSRFfZ8yWw2rpVpT8VZDaIU8CMnMFAC
QgD1UY012S8iO7xkmdXt2AUks/g4HoLDyN1HSqgwubrSIQhfAPKbikwNyTrTtPbT
9XeUFZXify3HKhrNmFHBZJL2aA==
-----END CERTIFICATE-----

Subject: CN=CMPCA-INTERMEDIATE-2
Issuer: CN=CMPCA-INTERMEDIATE-1
Valid from Thu Sep 03 10:45:37 CEST 2020 to Sun Sep 01 10:45:37 CEST 2030
Serial: 1599122797379
-----BEGIN CERTIFICATE-----
MIIBzTCCAXOgAwIBAgIGAXRTJXNDMAoGCCqGSM49BAMCMB8xHTAbBgNVBAMMFENN
UENBLUlOVEVSTUVESUFURS0xMB4XDTIwMDkwMzA4NDUzN1oXDTMwMDkwMTA4NDUz
N1owHzEdMBsGA1UEAwwUQ01QQ0EtSU5URVJNRURJQVRFLTIwWTATBgcqhkjOPQIB
BggqhkjOPQMBBwNCAATfm47Ec0z/mX727kCvSbWphKzASIV9BKwNZdQ1vfJW/SC9
iTs7Ma6MXH5PKx+ikjyE9PIf8lybFoLtomX6yX8so4GaMIGXMB0GA1UdDgQWBBT+
MhlTBOJRoSylf6JP/Tf+UJj/VzBSBgNVHSMESzBJgBQwS8rq1tZP/cGBpPTnJOlN
UtXw2KEppCcwJTEjMCEGA1UEAwwaVXBzdHJlYW0tQ01QUEVFUlRSVVNULVJPT1SC
BgF0UyVzODASBgNVHRMBAf8ECDAGAQH/AgECMA4GA1UdDwEB/wQEAwIBhjAKBggq
hkjOPQQDAgNIADBFAiEAwqjEr8i6ersLyY89HME8wEzwKXxiXu6lxlBqlLy1wXoC
IHqfw1vovxnBMDNmgAj5e/c9dXjwNoTaCK1T3VhdxsO9
MIIC4DCCAkGgAwIBAgIHAKqqAAAABDAKBggqhkjOPQQDBDBOMQswCQYDVQQGEwJE
RTEQMA4GA1UEChMHU2llbWVuczEXMBUGA1UECxMOVGVzdERlcGFydG1lbnQxFDAS
BgNVBAMMC0NNUF9DQV9ST09UMB4XDTIzMDkyMDA1NTkyMFoXDTI4MDkyMDA2NTky
MFowUDELMAkGA1UEBhMCREUxEDAOBgNVBAoTB1NpZW1lbnMxFzAVBgNVBAsTDlRl
c3REZXBhcnRtZW50MRYwFAYDVQQDDA1DTVBfQ0FfSVNTVUVSMIGbMBAGByqGSM49
AgEGBSuBBAAjA4GGAAQAac9TGz5r+Ma771Sx31Qck4xCJo5BEpL83aIKqHIsBoA3
N9yicyDBC7daoz6thepJok5oNIqBWmOqdG08bb7HwMgBw1OgUyFmvegZus+Fl8ER
tXD9idpgxCW/aRxZZf/77rKRikiJr7YzGRt8FaFHTJCaa77zv0THpSO9SmagMboH
yaujgcQwgcEwfAYDVR0jBHUwc4AURL3za9dZbf8py/ZxPbb5mMZfOYihUqRQME4x
CzAJBgNVBAYTAkRFMRAwDgYDVQQKEwdTaWVtZW5zMRcwFQYDVQQLEw5UZXN0RGVw
YXJ0bWVudDEUMBIGA1UEAwwLQ01QX0NBX1JPT1SCBwCqqgAAAAMwHQYDVR0OBBYE
FFn3gIPBvmfU7AhKwRmzGqEV47hXMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
CDAGAQH/AgEAMAoGCCqGSM49BAMEA4GMADCBiAJCAdaECb4LFysHpEVSGn3sDxGV
4u6qA3ihRVZD1OvN7MgyT8LVG7QtYAVMYv6ah+L4OiajoWHw9R4rjGVUaBc6vbdG
AkIBzoGkCVlTHrSVOhR5OaJ/EmZL3+KZBJdSrUdWUV2s+uwkmotfOSaG+QEl5vpp
FPyJCqc6fz2Qu4INr4b2tgHKz0U=
-----END CERTIFICATE-----

Subject: CN=CMPCA-INTERMEDIATE-1
Issuer: CN=Upstream-CMPPEERTRUST-ROOT
Valid from Thu Sep 03 10:45:37 CEST 2020 to Sun Sep 01 10:45:37 CEST 2030
Serial: 1599122797368
-----BEGIN CERTIFICATE-----
MIIB0jCCAXmgAwIBAgIGAXRTJXM4MAoGCCqGSM49BAMCMCUxIzAhBgNVBAMMGlVw
c3RyZWFtLUNNUFBFRVJUUlVTVC1ST09UMB4XDTIwMDkwMzA4NDUzN1oXDTMwMDkw
MTA4NDUzN1owHzEdMBsGA1UEAwwUQ01QQ0EtSU5URVJNRURJQVRFLTEwWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAAQgwyNV3hC/2Lq9/iBrKPwUaP50JxXT00P3NNnt
wJYtrlgVr3Vb0uASREQ3gSMe7hMpwroGV2ajQdDScAwTeBc3o4GaMIGXMB0GA1Ud
DgQWBBQwS8rq1tZP/cGBpPTnJOlNUtXw2DBSBgNVHSMESzBJgBTO1K9RDe7XxAsS
t5csb49q7c/suaEppCcwJTEjMCEGA1UEAwwaVXBzdHJlYW0tQ01QUEVFUlRSVVNU
LVJPT1SCBgF0UyVyijASBgNVHRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIB
hjAKBggqhkjOPQQDAgNHADBEAiBJn+j3f7twcwWeVIH7V9pwk6Mm5aEsKkp9iv86
kTy51wIgausRovvllRaWPffSlKWxL+AfovpnmOoICxyjY6ym+fE=
MIIC3jCCAkCgAwIBAgIHAKqqAAAABTAKBggqhkjOPQQDBDBQMQswCQYDVQQGEwJE
RTEQMA4GA1UEChMHU2llbWVuczEXMBUGA1UECxMOVGVzdERlcGFydG1lbnQxFjAU
BgNVBAMMDUNNUF9DQV9JU1NVRVIwHhcNMjMwOTIwMDU1OTIwWhcNMjgwOTIwMDY1
OTIwWjBTMQswCQYDVQQGEwJERTEQMA4GA1UEChMHU2llbWVuczEXMBUGA1UECxMO
VGVzdERlcGFydG1lbnQxGTAXBgNVBAMMEENNUF9DQV9FTkRFTlRJVFkwgZswEAYH
KoZIzj0CAQYFK4EEACMDgYYABABYbjIRzpsSM5EWAuhDc0Kv2X3NdouR3D8re1TJ
JzaCa8+tlaMZINeRtiuxEq4XPqGOmRngDr0RXcFXKnCnR+6CwgErRRGgOMBMq6so
sHUZYOgVVeTwnpMuTaJ/BvKPFz7dV0DM13XplJ+cySf0oVlKFYmqDG4pRsHdAOKm
QyPq+WENCqOBvjCBuzB8BgNVHSMEdTBzgBRZ94CDwb5n1OwISsEZsxqhFeO4V6FS
pFAwTjELMAkGA1UEBhMCREUxEDAOBgNVBAoTB1NpZW1lbnMxFzAVBgNVBAsTDlRl
c3REZXBhcnRtZW50MRQwEgYDVQQDDAtDTVBfQ0FfUk9PVIIHAKqqAAAABDAdBgNV
HQ4EFgQUBr8nxYGEoPNyzTSifAISrrIT7gAwDAYDVR0TAQH/BAIwADAOBgNVHQ8B
Af8EBAMCA4gwCgYIKoZIzj0EAwQDgYsAMIGHAkIAzbyTyTyrC6IiX8z1v1+eCsfH
QEcrRvN+sxgEEfZwGsde6rfyP5S0Y6U2qF/viu6azTtSyC3Nt8g6WRlHBrQaJrYC
QTNWShd62Rb61B38IM+4RGuz4k8Qpbu47oWRa4i+uvUPMrmqgX2bd7S8LUVI7+GF
hxhhb5ka8lrT8Bi/gxqM0GmK
-----END CERTIFICATE-----

Subject: CN=Upstream-CMPPEERTRUST-ROOT
Issuer: CN=Upstream-CMPPEERTRUST-ROOT
Valid from Thu Sep 03 10:45:37 CEST 2020 to Sun Sep 01 10:45:37 CEST 2030
Serial: 1599122797194
-----BEGIN CERTIFICATE-----
MIIBgzCCASmgAwIBAgIGAXRTJXKKMAoGCCqGSM49BAMCMCUxIzAhBgNVBAMMGlVw
c3RyZWFtLUNNUFBFRVJUUlVTVC1ST09UMB4XDTIwMDkwMzA4NDUzN1oXDTMwMDkw
MTA4NDUzN1owJTEjMCEGA1UEAwwaVXBzdHJlYW0tQ01QUEVFUlRSVVNULVJPT1Qw
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT3DcHcFxBWdbgPOM4lNOvvMTCXEwTM
pbOS8O0lQRTZgko+WHg6mP/Kc4ABAyDls6BMpVYWAQ//zWF9ol6PRUp+o0UwQzAd
BgNVHQ4EFgQUztSvUQ3u18QLEreXLG+Pau3P7LkwEgYDVR0TAQH/BAgwBgEB/wIB
CjAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwIDSAAwRQIgbpHip5BQE4d+ImJN
SoZ+ye9yrWsDdpVssNIFZCZmjBsCIQCaJ6s6RIjUw3baGm+gddomhSGYz9SVwaJh
85h9Fm5ZCg==
-----END CERTIFICATE-----

Privat Key for CN=CMPCA-ENDENTITY
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILYbUs0+pXAaZ5c18e8/sb9oRbaYsrWf+AKBUSJFYx9boAoGCCqGSM49
AwEHoUQDQgAEzmAAW5Xw+hVVozl47pVtNilogVHP6E+82fXXdpWxFdTq0ANrO2qM
+AgdGbb33HGZ4ZNXF18OcTh05hw1sc7FSg==
-----END EC PRIVATE KEY-----
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit f3e2231

Please sign in to comment.