ARTEMIS-4528 tls, add support for PEM key store type

This commit is contained in:
Gary Tully 2023-12-07 17:27:36 +00:00
parent 547aa2fba6
commit 7a2137f467
49 changed files with 495 additions and 79 deletions

View File

@ -74,6 +74,7 @@
<Embed-Dependency>*;scope=compile|runtime;groupId=org.apache.activemq</Embed-Dependency>
<Import-Package>
org.glassfish.json*;resolution:=optional,
de.dentrassi.crypto.pem;resolution:=optional,
io.netty.buffer;io.netty.*;version="[4.1,5)",
*
</Import-Package>

View File

@ -124,6 +124,19 @@
<groupId>io.netty</groupId>
<artifactId>netty-resolver</artifactId>
</dependency>
<dependency>
<groupId>de.dentrassi.crypto</groupId>
<artifactId>pem-keystore</artifactId>
</dependency>
<!-- bcprov-jdk18on replaces bcprov-jdk15on excluded pem-keystore -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
</dependency>
<!-- The johnzon-core and json-api contents are repackaged in -commons,
However maven can still need them during tests, which run against

View File

@ -47,6 +47,7 @@ import java.security.cert.X509CertSelector;
import java.security.cert.X509Certificate;
import java.util.Collection;
import de.dentrassi.crypto.pem.PemKeyStoreProvider;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.SslProvider;
@ -332,6 +333,7 @@ public class SSLSupport {
final String keystoreType,
final String keystorePath,
final String keystorePassword) throws Exception {
checkPemProviderLoaded(keystoreType);
KeyStore ks = keystoreProvider == null ? KeyStore.getInstance(keystoreType) : KeyStore.getInstance(keystoreType, keystoreProvider);
InputStream in = null;
try {
@ -351,6 +353,14 @@ public class SSLSupport {
return ks;
}
private static void checkPemProviderLoaded(String keystoreType) {
if (keystoreType != null && keystoreType.startsWith("PEM")) {
if (Security.getProvider("PEM") == null) {
Security.insertProviderAt(new PemKeyStoreProvider(), Integer.parseInt(System.getProperty("artemis.pemProvider.insertAt", "0")));
}
}
}
private KeyManager[] loadKeyManagers() throws Exception {
KeyManagerFactory factory = loadKeyManagerFactory();
if (factory == null) {

View File

@ -84,6 +84,7 @@
<Embed-Dependency>*;scope=compile|runtime;groupId=org.apache.activemq</Embed-Dependency>
<Import-Package>
org.glassfish.json*;resolution:=optional,
de.dentrassi.crypto.pem;resolution:=optional,
io.netty.buffer;io.netty.*;version="[4.1,5)",
*
</Import-Package>

View File

@ -134,6 +134,7 @@
<Import-Package>
org.glassfish.json*;resolution:=optional,
org.postgresql*;resolution:=optional,
de.dentrassi.crypto.pem;resolution:=optional,
io.netty.buffer;io.netty.*;version="[4.1,5)",
java.net.http*;resolution:=optional,
com.sun.net.httpserver*;resolution:=optional,

View File

@ -290,12 +290,6 @@
<version>${mockserver.version}</version>
<scope>test</scope>
</dependency>
<!-- bcprov-jdk18on replaces bcprov-jdk15on excluded from apacheds-protocol-ldap -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>

View File

@ -316,7 +316,7 @@ The ActiveMQ-specific system property is useful if another component on the clie
keyStoreType::
The type of keystore being used.
For example, `JKS`, `JCEKS`, `PKCS12`, etc.
For example, `JKS`, `JCEKS`, `PKCS12`, `PEM` etc.
This value can also be set via the "javax.net.ssl.keyStoreType" system property or the ActiveMQ-specific "org.apache.activemq.ssl.keyStoreType" system property.
The ActiveMQ-specific system property is useful if another component on the client is already making use of the standard Java system property.
Default is `JKS`.
@ -356,7 +356,7 @@ The ActiveMQ-specific system property is useful if another component on the clie
trustStoreType::
The type of truststore being used.
For example, `JKS`, `JCEKS`, `PKCS12`, etc.
For example, `JKS`, `JCEKS`, `PKCS12`, `PEM` etc.
This value can also be set via the "javax.net.ssl.trustStoreType" system property or the ActiveMQ-specific "org.apache.activemq.ssl.trustStoreType" system property.
The ActiveMQ-specific system property is useful if another component on the client is already making use of the standard Java system property.
Default is `JKS`.

19
pom.xml
View File

@ -117,6 +117,7 @@
<curator.version>5.5.0</curator.version>
<zookeeper.version>3.8.3</zookeeper.version>
<woodstox.version>4.4.0</woodstox.version>
<pem-keystore.version>2.2.2</pem-keystore.version>
<!-- docs -->
<asciidoctor.maven.plugin.version>2.2.4</asciidoctor.maven.plugin.version>
@ -412,7 +413,23 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>de.dentrassi.crypto</groupId>
<artifactId>pem-keystore</artifactId>
<version>${pem-keystore.version}</version>
<!-- Eclipse Public License - v 1.0 -->
<exclusions>
<!-- exclude bcprov-jdk15on to avoid conflicts with bcprov-jdk18on -->
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>

View File

@ -0,0 +1,150 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.activemq.artemis.tests.integration.ssl;
import java.lang.management.ManagementFactory;
import java.net.URL;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException;
import org.apache.activemq.artemis.api.core.Message;
import org.apache.activemq.artemis.api.core.QueueConfiguration;
import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.api.core.TransportConfiguration;
import org.apache.activemq.artemis.api.core.client.ActiveMQClient;
import org.apache.activemq.artemis.api.core.client.ClientConsumer;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.client.ClientProducer;
import org.apache.activemq.artemis.api.core.client.ClientSession;
import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
import org.apache.activemq.artemis.api.core.client.ServerLocator;
import org.apache.activemq.artemis.core.config.impl.ConfigurationImpl;
import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants;
import org.apache.activemq.artemis.core.security.Role;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.core.server.ActiveMQServers;
import org.apache.activemq.artemis.core.settings.HierarchicalRepository;
import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
import org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager;
import org.apache.activemq.artemis.tests.integration.security.SecurityTest;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
import org.apache.activemq.artemis.utils.RandomUtil;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
* See the tests/security-resources/build.sh script for details on the security resources used.
*/
public class SslPEMTest extends ActiveMQTestBase {
static {
String path = System.getProperty("java.security.auth.login.config");
if (path == null) {
URL resource = SecurityTest.class.getClassLoader().getResource("login.config");
if (resource != null) {
path = resource.getFile();
System.setProperty("java.security.auth.login.config", path);
}
}
}
private TransportConfiguration tc;
private SimpleString QUEUE;
@Test
public void testPemKeyAndTrustStore() throws Exception {
tc.getParams().put(TransportConstants.SSL_ENABLED_PROP_NAME, true);
tc.getParams().put(TransportConstants.KEYSTORE_TYPE_PROP_NAME, "PEM");
tc.getParams().put(TransportConstants.KEYSTORE_PATH_PROP_NAME, "client-key-cert.pem");
tc.getParams().put(TransportConstants.PORT_PROP_NAME, "61617");
ServerLocator producerLocator;
ClientSessionFactory producerSessionFactory;
ClientSession producerSession;
// first without trust store
try {
producerLocator = addServerLocator(ActiveMQClient.createServerLocatorWithoutHA(tc));
producerSessionFactory = createSessionFactory(producerLocator);
producerSessionFactory.createSession(false, true, true);
} catch (ActiveMQNotConnectedException expected) {
}
// configure trust
tc.getParams().put(TransportConstants.TRUSTSTORE_TYPE_PROP_NAME, "PEM");
tc.getParams().put(TransportConstants.TRUSTSTORE_PATH_PROP_NAME, "server-ca-cert.pem");
producerLocator = addServerLocator(ActiveMQClient.createServerLocatorWithoutHA(tc));
producerSessionFactory = createSessionFactory(producerLocator);
producerSession = producerSessionFactory.createSession(false, true, true);
producerSession.createQueue(new QueueConfiguration(QUEUE).setDurable(false));
ClientProducer producer = producerSession.createProducer(QUEUE);
ClientMessage message = createTextMessage(producerSession, RandomUtil.randomString());
producer.send(message);
ServerLocator consumerLocator = addServerLocator(ActiveMQClient.createServerLocator("tcp://localhost:61616"));
ClientSessionFactory consumerSessionFactory = createSessionFactory(consumerLocator);
ClientSession consumerSession = consumerSessionFactory.createSession("consumer", "consumerPassword", false, true, true, consumerLocator.isPreAcknowledge(), consumerLocator.getAckBatchSize());
ClientConsumer consumer = consumerSession.createConsumer(QUEUE);
consumerSession.start();
Message m = consumer.receive(1000);
Assert.assertNotNull(m);
}
@Override
@Before
public void setUp() throws Exception {
super.setUp();
QUEUE = new SimpleString(getName());
Map<String, Object> params = new HashMap<>();
params.put(TransportConstants.SSL_ENABLED_PROP_NAME, true);
params.put(TransportConstants.KEYSTORE_TYPE_PROP_NAME, "PEMCFG");
params.put(TransportConstants.KEYSTORE_PATH_PROP_NAME, "server-pem-props-config.txt");
params.put(TransportConstants.TRUSTSTORE_TYPE_PROP_NAME, "PEM");
params.put(TransportConstants.TRUSTSTORE_PATH_PROP_NAME, "client-ca-cert.pem");
params.put(TransportConstants.NEED_CLIENT_AUTH_PROP_NAME, true);
params.put(TransportConstants.PORT_PROP_NAME, "61617");
ConfigurationImpl config = createBasicConfig();
config.addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params));
config.addAcceptorConfiguration(new TransportConfiguration(NETTY_ACCEPTOR_FACTORY));
config.setSecurityEnabled(true);
ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager("DualAuthenticationPropertiesLogin", "DualAuthenticationCertLogin");
ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(config, ManagementFactory.getPlatformMBeanServer(), securityManager, false));
HierarchicalRepository<Set<Role>> securityRepository = server.getSecurityRepository();
Role sendRole = new Role("producers", true, false, true, false, true, false, false, false, true, false);
Role receiveRole = new Role("consumers", false, true, false, false, false, false, false, false, false, false);
Set<Role> roles = new HashSet<>();
roles.add(sendRole);
roles.add(receiveRole);
securityRepository.addMatch(QUEUE.toString(), roles);
server.start();
waitForServerToStart(server);
tc = new TransportConfiguration(NETTY_CONNECTOR_FACTORY);
}
}

View File

@ -153,6 +153,20 @@ keytool -storetype pkcs12 -keystore unknown-client-keystore.p12 -storepass $STOR
keytool -importkeystore -srckeystore unknown-client-keystore.p12 -destkeystore unknown-client-keystore.jceks -srcstoretype pkcs12 -deststoretype jceks -srcstorepass securepass -deststorepass securepass
keytool -importkeystore -srckeystore unknown-client-keystore.p12 -destkeystore unknown-client-keystore.jks -srcstoretype pkcs12 -deststoretype jks -srcstorepass securepass -deststorepass securepass
# PEM versions
## separate private and public cred pem files combined for the keystore via prop
openssl pkcs12 -in server-keystore.p12 -out server-cert.pem -clcerts -nokeys -password pass:$STORE_PASS
openssl pkcs12 -in server-keystore.p12 -out server-key.pem -nocerts -nodes -password pass:$STORE_PASS
## PEMCFG properties format
echo source.key=classpath:server-key.pem > server-pem-props-config.txt
echo source.cert=classpath:server-cert.pem >> server-pem-props-config.txt
## combined pem file for client
openssl pkcs12 -in client-keystore.p12 -out client-key-cert.pem -nodes -password pass:$STORE_PASS
keytool -storetype pkcs12 -keystore server-ca-keystore.p12 -storepass $STORE_PASS -alias server-ca -exportcert -rfc > server-ca-cert.pem
keytool -storetype pkcs12 -keystore client-ca-keystore.p12 -storepass $STORE_PASS -alias client-ca -exportcert -rfc > client-ca-cert.pem
# Clean up working files
# -----------------------
rm -f *.crt *.csr openssl-*

View File

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDcDCCAligAwIBAgIEJbym6DANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODUyWhgPMzAyMzA0MDkxNjQ4NTJaMF8xETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYD
VQQLEwdBcnRlbWlzMTgwNgYDVQQDEy9BY3RpdmVNUSBBcnRlbWlzIENsaWVudCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAIaj9LoncxRCfTayohTMSqWCutkAXE8rTDKbpmrTt3RMkmqJw2sO3tn0
CZkcfkf+1eXsJHRoH9uhUZI7Cc+vGFCfWF9RTi4aCjYFtTXmb0FAsOl1TTRjDgWb
eyUYI25KpVBz57JD3GlFlFo0tLQkc/C1QWU3dlpU5INh5vo/1Si4hrVSX8/Hun8q
daZg4bjfUGnNa0H5nPfkCaZjAamAKp6L50e0cLS4PQCPhVMdH6uU2CEJDxNURN3i
tD6z3YJReFpxNM3HmDwLgUxQcvByQ60Qc90aUihKqXKj8rlFJn76d/kkH3xj2n5t
msY4/GNxh+P0W8whH4C7uglo/vSaDbMCAwEAAaMyMDAwHQYDVR0OBBYEFKUM1JFb
FBp0jlZ9Cb6UbaPQAOr7MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
ggEBAFmb6rDuirRpEpO/+jXRqq3A4gqMW4Qbjqb61pIQyNim+0Z+RDwQn4nfnZxY
CaAlRiwg7Ihr85brwHcAC2YG/ir3AEcY70r15xIFCiRkDo47r8cXhTAiQfVBjd1j
m1Bo1w1Sae/Vhe/Jryuqz7C+lXads6xWr9x+RoKb9IDgRhz6aVUBQfkyuusm3D+c
RN7i3IRD2ypf1dEAH51+n+U3gEtWbztA2R1MFCGq/pWfEbMaI7fkBu77h6e/Okwq
dNAbXMYlKvv/BgkmzPvHWtepa/1vWZmyC1t0Oo3jNBrUMPCrkQwHbSMl9vMQwICJ
LnIXqz1dSY/M11jjOVS8ZoZ0gdE=
-----END CERTIFICATE-----

View File

@ -1,32 +1,32 @@
Bag Attributes
friendlyName: client-ca
localKeyID: 54 69 6D 65 20 31 36 32 38 32 30 33 36 33 37 31 38 36
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 33 32 36 35 35
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCf8s5tfHnara0G
c0qtw7VdaQjXxBhfH6AQ/XbTOzHMF6FtTzWWTEq6wqoUuP1Y4WLob67O3ZRQ+RMN
V+C4eFgH9e7LlZ6gU7DWEk40WkKVQ/sTW3/4ul/F7ScFtyTvZ4zvNa6Qr0np4rB+
SJlOy5yBZlNgmU2H+J/OsxEJDkw+Q+lz1Q/d6QevnfgBu5/Ka/aYtia2fPduufIf
Dn/UbLe+AANnO8z1NQ9ocOSgCcuocOmCssSZNGFXtf8qjMhZypO2c/bmZnuki+yQ
QhnD+yrOPbJMgcfL3jIesjNCu5kapmEGJBeGFtEgilegLYpYVTvF3RURjaqy2t3j
Y36sysXZAgMBAAECggEAHIzIj/5x+biac9ZMdCvEycGf1HOqLgCFH8M+XIHqZ5Wo
OMy0sfk4NZHdrgk/H4hLkVWuDDq86J8s6WrQL907SWB6mVhBkjieDfgCgZHC5MXX
oSLp+sm5oqisGHcSXrFLFL+uQyEmvlq6SjBHPStW6joLk+iJUEXusISB++3TaiGI
2LnHu0AZR+TNGk9tf+K48mlfpRimqq+Bugh7Sgh7uis9bwXn1p1Nz5hZDbBLGVMv
wgsC6xvvZJwNrUW7mgmVuytcCivR1Q/Tt1d8cim1bt+a/ZfRD6utexcfaZ47l5+3
WPFb7UkMlXioZzrxDjlKO8J8qBcxcd8brqp5mX3KKQKBgQDRM0I18K4QCsw1zZFa
Zu7DjmLdxsgWSmpvmHVY2iFyUDI5NVcx7HU0ACd0lRU9IFnAIDzlNPnjyaShRQxW
IrPG+zFifmwyqNVRJfZdrm1ZkLba5CgJ+vVQbZF+lEh3M/mKID1CfLk4O/xZKeho
xXn3Nika/BqHNJlFJsvytoLdrwKBgQDDuu+K0KdILWsDTnVLOY3mjXKfJjw3P5MI
/dyoWFtW4M4xQ172aSVNZ11AHaiaDQ1KRXgVcUvmMVXQXXB+01DA/DArreDmREnT
gBwenTApjT/lblRBkcei6VtM5BLQ46uXueYzTJJ419WwYc0GaXG7lnipcz+L0C2a
thEsMrG+9wKBgAjJr3FWn+k6muNztDRo+ISseYi5bfRJwfjYHa3S0+7aYZG3pOcK
+M1raDzkelTsA/knIYe7Vvfzo3/Gx8LiiEzGhoeNqfvizbsv7g53Yk6N3rCJPwlU
SnPLdn4runOPcl8UBZ7CYIF1O59/PC0ShpIU61sf1flyAzI9c/nJIuwvAoGAWG6b
T9KZ4ehzUxkdsZEdZa8+vF0gE64rloJsMbtJ+WS0hFl2DErRSbmLzi4YQRHokUf1
y2pW6ngb13qAGy0KbUcD1JhI5oCwAlj9W2+VlRB2cAh7FOzyj85zK7hYL/zNSE37
je3ot6R8raZiZaU6d5Cyj4y8h0TVdfMQqzF0UV0CgYEAhpNPBVxNfwX/hFKdFQKA
1yDHTQiLhC8N0xfkI4FRQUdviVmy/LLRHincjtievo7bpE0sn87q990LK4B4L4dJ
y6024cPPCxrz1p2i43B0CuS7JwCL7UxaDQnHc/zwLYjZZJhYnZmfdjzThIturKEw
pUfEMSr5rFelUKg2aZjVAqM=
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCGo/S6J3MUQn02
sqIUzEqlgrrZAFxPK0wym6Zq07d0TJJqicNrDt7Z9AmZHH5H/tXl7CR0aB/boVGS
OwnPrxhQn1hfUU4uGgo2BbU15m9BQLDpdU00Yw4Fm3slGCNuSqVQc+eyQ9xpRZRa
NLS0JHPwtUFlN3ZaVOSDYeb6P9UouIa1Ul/Px7p/KnWmYOG431BpzWtB+Zz35Amm
YwGpgCqei+dHtHC0uD0Aj4VTHR+rlNghCQ8TVETd4rQ+s92CUXhacTTNx5g8C4FM
UHLwckOtEHPdGlIoSqlyo/K5RSZ++nf5JB98Y9p+bZrGOPxjcYfj9FvMIR+Au7oJ
aP70mg2zAgMBAAECggEAdj5/qw0CUASkmuj+120jEYBiQDnE1/KalMeFu8P8FbM5
0z7x1I/Wv2tHEqSncusnRynASks3z1c5oEchMrf/jq6imfN5yZss5IzWvGOHybLa
q+1MxHlJ0zrdR5KPa0k7LhDcpv5aEEn/I8mt+ZcaC4fjytSOqH5twcS1aYmt1ngR
aQKd3UkB5AhxbHcx3V4iX9opdy0NhwaimAGY+U7yVE7tc58n/ZA5FPF2GImuyQOS
F12LytmtDIkMjSmBERNlU+67t79rx5a91Tavy8Hz0htEzNQ4wulG/v+Jqnbdh7j7
dpCN7EvTDQ08jDihuUpFPVo1UF9Atrn3c3zJuGy8gQKBgQDGQO7EeHUZzb+yyF+M
9XP+8R9Sb/4qoDMpAIn/5le9sN/riYQbCctQ2HmbxMGm3vu7FUl8MrRvCLCiASK8
5ng4oP3pel3P4jUvnVy57WzgfkmdKhSB1sxojtMOibLZgP09bRT/Q1bTKLJtA5GY
imt3cg0fF0YD0UI8GaNEmNxFUQKBgQCt251PKK3GzCo1J6iheiwSMkuG47WBcnLL
1oYl61TH7z/pKEs4GGCE31xn7+P88QY7XftNmJkuh91u0SMdCf4w3yHYzz62OdZL
go9tov5F06K1kkOmQ23ORtTbGnNlrNBTsDYIjnoufWMIf66RsAO9d7k3f/o4bXBa
88rLCpDxwwKBgQClxT+g+pP32olzJYZ35/lw8A9fsBNXcxK0MyYw2lr9WvsxCJB0
x1DBLfEpZXEDZioY+aizd/ZVbW+8VrTEPPXDbCJD6rSskZolUTBqqvNCF3bYOoph
MslCmEI0QsFQi0G07hQDiTv9XmcrLjO81+kaPDxqhdxebsgyVsGlJyfvsQKBgEZY
9KARH6+u8O0tLOiZ3LdILpNYFBtayeR82y8At/9maX/YVAdQpc1d67AKuz+f7xua
fZL6ShEv3IN4kDKx1m7D+pgV05Q8dt965rpAF479gXriwgjGg+nRc1NssoDTmkAi
rtprfDjPd4D62RIOHJVPmlxApmiqr6m9t7LMhbWtAoGBAITtzDRoOwDGwA3UB3cR
ObFmijIzfjqxU0Q3T4QZe6gbLE1ExEdXMcMX/JhU6n4LJ/FcAf7/dwm15xqIQmzK
iqmRb8Nnk0li1pUxusZ2jt5W4DGmafim7XdzDaLpSukws51Zj7WpiFDBBaQbww7k
0yWnt8ORrQTF6/2ZESuODqK0
-----END PRIVATE KEY-----

View File

@ -0,0 +1,111 @@
Bag Attributes
friendlyName: client
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 33 35 35 38 36
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCIkFoX0dZKHYjq
aB9tWy7Hi4d09sKpLFqpVCv/KrHPMTLXAKXCgb43lnPOD5nlFdHq/JAOn/bDsjkZ
5IQn3ACVsZKopFLfy0ivPpdrHbfoOWtlTUm5RR7tQDiJfnpjAt07AMy3EQ7OARmV
1lWjpvcs4LkGkUQG1qj6hsIEvQ68L4CPn/ZYv/M4VSt3LL6asGLgNBAi+n0wJFe7
VFXawlpc/zm0K95Wu+ml0CBYD2kaodlOzJmeId3nZHB8noYNIk0/xflZ9EQVASUI
zSo3fHziiv8D7CR454KC6KzxTvuDSCzQBDb9eoirXQ2ejUnF4IDXIk1hoa7GEQsm
ZsWp+EJpAgMBAAECggEBAIZ3LF6b3RYpMrEsSRWSXONafcwrVMziwXpNSOz9Cwtp
9BdDqfN1cOinGevh7LRm4cUxXl8oHv/eMt9N5Nqig2jh6fhnpLp7HVyAkvOD1Zux
PhAHI/prFuKhA4pOoQ9wuIjqZqgzAZLR/nFNFBIJywPDWiwfSQ46uzPDELM9vI6J
9KvFM8F6mdtSHQ0jbPuphOQMJDZoVkxxILaUibsZtsSR+U/ePn+VdMkOYmQ7QvVi
v4Pxej5rgW4lAfdqLRh6lTER5hxsXPbIFscgHB+0TietY1nx8bHPM29/zaooJH04
+oCppFL/H9mTmJfDkJlG8lLAY25HIAM1EpSPvbbyzMkCgYEA7TIHf4XNjw68rIpq
YBD4wesv52Eno+ay6y3o7G9EIUTMwPDA8OV0MMxsyu3TllzhSQZCi0LzatE5RboO
a/1UCy+RKA5KjSarekfQo/Ag0ay7peUcGdydHYly5ki6OPbm7vZ0veriO6EXqn5R
OwkzQJt44O1okovgXZYCJ7GggSMCgYEAk2P3oUUQexGwlTUSDYxdiFrE/D5Zpk5T
Lo4UwphIy0RTIz+HFbnAj1W80Z2wX453CG38NsYc6E0iu4DwErAsx9Y98fvLYdjW
IgZ4sPdKmklSe2g3Mlan2wCSfFB4taxrrykyRdafLTZ/vkcShSUkOCQqYQal9a5i
Ml6ky+YjtQMCgYEAvf8lInD7h2w2lb8KFomBuVO6u4yHRDK3fsr3mOxHlp6VpLc0
1cH2oGAfhS2cHwWnL+djxkmK0jVluwSeKMJzX8Jqc7t+3DHtibWc2rSulUXXybsM
F2swL0i6UNxQzvB3a1LfkIFlVn5jhp5IUxG7jDT9Tq7c5QZGYrCWaVVPTCECgYAZ
Vs9kz13U+qaUEEqpP5946LoC76kz+TU9xLl29v1UzMtKPQq5RnT/b2sF0olW9EQs
k9QPiqG/ojs9Zx5e6CDavk9qAbLmgIPX16r6KZmOyto+Ux1iLxmugfutGZyXByyA
MaHt9cbp2/u8N7XMZCVE7ZrHkYAIq9E//ZtxXoB3BwKBgQDZrEA4i2kCo1XXfqW3
s3WGcLU+OIKMIM89hypoAzvLt9IUX7DwSO3lbHxhIGI2y4pav8vAWAPe78Gd6VOY
78tUE9nVC42rMSrrC93jDyqRC6PFKOtoxBgotYOhP/gZSJEtiSBqXhG7nYyJ4OIl
0wGcRusJmrC0+3S/Kc/NSScGbw==
-----END PRIVATE KEY-----
Bag Attributes
friendlyName: client
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 33 35 35 38 36
subject=C = AMQ, ST = AMQ, L = AMQ, O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client
issuer=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client Certification Authority
-----BEGIN CERTIFICATE-----
MIIDzjCCAragAwIBAgIEGCpcHTANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODU0WhgPMjEyMzExMTMxNjQ4NTRaMHExDDAKBgNVBAYTA0FNUTEMMAoGA1UECBMD
QU1RMQwwCgYDVQQHEwNBTVExETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYDVQQLEwdB
cnRlbWlzMSAwHgYDVQQDExdBY3RpdmVNUSBBcnRlbWlzIENsaWVudDCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAIiQWhfR1kodiOpoH21bLseLh3T2wqks
WqlUK/8qsc8xMtcApcKBvjeWc84PmeUV0er8kA6f9sOyORnkhCfcAJWxkqikUt/L
SK8+l2sdt+g5a2VNSblFHu1AOIl+emMC3TsAzLcRDs4BGZXWVaOm9yzguQaRRAbW
qPqGwgS9DrwvgI+f9li/8zhVK3csvpqwYuA0ECL6fTAkV7tUVdrCWlz/ObQr3la7
6aXQIFgPaRqh2U7MmZ4h3edkcHyehg0iTT/F+Vn0RBUBJQjNKjd8fOKK/wPsJHjn
goLorPFO+4NILNAENv16iKtdDZ6NScXggNciTWGhrsYRCyZmxan4QmkCAwEAAaN+
MHwwHQYDVR0OBBYEFAuvq7i0CQqcrhUxgsgccmRcnKJXMBoGA1UdEQQTMBGCCWxv
Y2FsaG9zdIcEfwAAATAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFKUM1JFbFBp0jlZ9
Cb6UbaPQAOr7MBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4IB
AQBX9nafR8GU+LZi/kP2F7j+4Z4yUKw2afUux0UbrV49GIXV42ELNyt1+0dNwhdp
LuZU+1AwBgJc7GgE7KagYcaqgEN51NP4dIC1qL6OM+MNUgfyjjbeLED/Hxr7YPqq
AhQoYYw7CdEVnSqwY6BknuHiMEW0aakZhInCNP+6A6Wf4x0lf7fhEYxoN7J0YZgl
JFzNT1kKN7K/sH/EK0h9Le038ckERnr9cDgBrP7WwzDBMszYf6iWGkOQ4ENWrsF9
W87l41aqPO+bjK5WdNsrACwaRaoL7xqJJlxonOuW2LjidgdLZYp1Kna0OT/FR9/Y
9Q3yxoadGlb6P6BTb3VXFHVr
-----END CERTIFICATE-----
Bag Attributes
friendlyName: CN=ActiveMQ Artemis Client Certification Authority,OU=Artemis,O=ActiveMQ
subject=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client Certification Authority
issuer=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client Certification Authority
-----BEGIN CERTIFICATE-----
MIIDcDCCAligAwIBAgIEJbym6DANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODUyWhgPMzAyMzA0MDkxNjQ4NTJaMF8xETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYD
VQQLEwdBcnRlbWlzMTgwNgYDVQQDEy9BY3RpdmVNUSBBcnRlbWlzIENsaWVudCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAIaj9LoncxRCfTayohTMSqWCutkAXE8rTDKbpmrTt3RMkmqJw2sO3tn0
CZkcfkf+1eXsJHRoH9uhUZI7Cc+vGFCfWF9RTi4aCjYFtTXmb0FAsOl1TTRjDgWb
eyUYI25KpVBz57JD3GlFlFo0tLQkc/C1QWU3dlpU5INh5vo/1Si4hrVSX8/Hun8q
daZg4bjfUGnNa0H5nPfkCaZjAamAKp6L50e0cLS4PQCPhVMdH6uU2CEJDxNURN3i
tD6z3YJReFpxNM3HmDwLgUxQcvByQ60Qc90aUihKqXKj8rlFJn76d/kkH3xj2n5t
msY4/GNxh+P0W8whH4C7uglo/vSaDbMCAwEAAaMyMDAwHQYDVR0OBBYEFKUM1JFb
FBp0jlZ9Cb6UbaPQAOr7MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
ggEBAFmb6rDuirRpEpO/+jXRqq3A4gqMW4Qbjqb61pIQyNim+0Z+RDwQn4nfnZxY
CaAlRiwg7Ihr85brwHcAC2YG/ir3AEcY70r15xIFCiRkDo47r8cXhTAiQfVBjd1j
m1Bo1w1Sae/Vhe/Jryuqz7C+lXads6xWr9x+RoKb9IDgRhz6aVUBQfkyuusm3D+c
RN7i3IRD2ypf1dEAH51+n+U3gEtWbztA2R1MFCGq/pWfEbMaI7fkBu77h6e/Okwq
dNAbXMYlKvv/BgkmzPvHWtepa/1vWZmyC1t0Oo3jNBrUMPCrkQwHbSMl9vMQwICJ
LnIXqz1dSY/M11jjOVS8ZoZ0gdE=
-----END CERTIFICATE-----
Bag Attributes
friendlyName: client-ca
2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
subject=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client Certification Authority
issuer=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Client Certification Authority
-----BEGIN CERTIFICATE-----
MIIDcDCCAligAwIBAgIEJbym6DANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODUyWhgPMzAyMzA0MDkxNjQ4NTJaMF8xETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYD
VQQLEwdBcnRlbWlzMTgwNgYDVQQDEy9BY3RpdmVNUSBBcnRlbWlzIENsaWVudCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAIaj9LoncxRCfTayohTMSqWCutkAXE8rTDKbpmrTt3RMkmqJw2sO3tn0
CZkcfkf+1eXsJHRoH9uhUZI7Cc+vGFCfWF9RTi4aCjYFtTXmb0FAsOl1TTRjDgWb
eyUYI25KpVBz57JD3GlFlFo0tLQkc/C1QWU3dlpU5INh5vo/1Si4hrVSX8/Hun8q
daZg4bjfUGnNa0H5nPfkCaZjAamAKp6L50e0cLS4PQCPhVMdH6uU2CEJDxNURN3i
tD6z3YJReFpxNM3HmDwLgUxQcvByQ60Qc90aUihKqXKj8rlFJn76d/kkH3xj2n5t
msY4/GNxh+P0W8whH4C7uglo/vSaDbMCAwEAAaMyMDAwHQYDVR0OBBYEFKUM1JFb
FBp0jlZ9Cb6UbaPQAOr7MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
ggEBAFmb6rDuirRpEpO/+jXRqq3A4gqMW4Qbjqb61pIQyNim+0Z+RDwQn4nfnZxY
CaAlRiwg7Ihr85brwHcAC2YG/ir3AEcY70r15xIFCiRkDo47r8cXhTAiQfVBjd1j
m1Bo1w1Sae/Vhe/Jryuqz7C+lXads6xWr9x+RoKb9IDgRhz6aVUBQfkyuusm3D+c
RN7i3IRD2ypf1dEAH51+n+U3gEtWbztA2R1MFCGq/pWfEbMaI7fkBu77h6e/Okwq
dNAbXMYlKvv/BgkmzPvHWtepa/1vWZmyC1t0Oo3jNBrUMPCrkQwHbSMl9vMQwICJ
LnIXqz1dSY/M11jjOVS8ZoZ0gdE=
-----END CERTIFICATE-----

View File

@ -1,12 +1,12 @@
-----BEGIN X509 CRL-----
MIIB0zCBvAIBATANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhBY3RpdmVNUTEQ
MA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0ZW1pcyBDbGll
bnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkXDTIxMDgwNTIyNDcyNloYDzIxMjEw
NzEyMjI0NzI2WjAXMBUCBHRbRY4XDTIxMDgwNTIyNDcyNlqgDjAMMAoGA1UdFAQD
AgEAMA0GCSqGSIb3DQEBCwUAA4IBAQA2w9pF0q2Lvrw2VxXNVJLyZNnV46kmlVTT
ao9bMK3pIZWNALmzc2FhW7yUZXmiIOvLHqdh08sVtz9sOmxhJcqKG6jmseygapRJ
lFcujq6E2V4XGcNIBXgE+3TNB65wvRQHL//NWVFp6pFdsW0CcsIFHUQetrkVkW1r
HlL/CKoXvVrt7XeJW4PPiq5sFKqNs5cOdpqTmoaeG823uE0BvdOEJIr1aIowBA2b
qeqACPH1VjVb+/JcHZlYmYor7RzUEdMmqF/e38QAF3bveiXfsFg2n1xKlUyBz4RR
6UxlLv4txWyAO6er/90olhQWvBbQDivKVF+n5XkRJbAbbNqxvy6h
bnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkXDTIzMTIwNzE2NDg1OFoYDzIxMjMx
MTEzMTY0ODU4WjAXMBUCBC+fTRwXDTIzMTIwNzE2NDg1OFqgDjAMMAoGA1UdFAQD
AgEAMA0GCSqGSIb3DQEBCwUAA4IBAQA4h2JCaBPm4qBKVN6xzwMj/eszkCyGUczE
yxI7j2Gyn+Wr3WQ+W6HwedY9HCG83SLFaxc3DpMHCE6qfASFoZ3+cv4qXj+ezgL6
rjti71lU7HZ2ET4lA9U5YnYrU2G4MzDCt2rxLqcc23v7y/qLcQ4mPt7XB/uOsKn9
ddpe+bsAfXeh+95ECvWtn+2n4siu2QoNAkTTrhJpCPQYn6bJFiROZs/47d0V7EVB
jOiuj1BP7TfhqQUzK2a0OzYK1xNN+Q+D29pEWxhP1XyRvull7q8s3EKC1o69lKss
b/Ir/oGhGewQ7yiraX/0Ia0X9rlw5QP7f/s3+6yw+1mp4aea1+eH
-----END X509 CRL-----

View File

@ -1,12 +1,12 @@
-----BEGIN X509 CRL-----
MIIB0zCBvAIBATANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhBY3RpdmVNUTEQ
MA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0ZW1pcyBTZXJ2
ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkXDTIxMDgwNTIyNDcxM1oYDzIxMjEw
NzEyMjI0NzEzWjAXMBUCBGNHJ0cXDTIxMDgwNTIyNDcxM1qgDjAMMAoGA1UdFAQD
AgEAMA0GCSqGSIb3DQEBCwUAA4IBAQCgMAVrzbQzN9HU5SlctR4od1j5lvqpMO6g
f1qtIB7FCFyu6Q/p4nPoEuipjD/0DjLZAnizDEyR4WwVz+68i39cSygFjIH8jLAN
J2fgm1e10EzRL2/Um3kCGNq1C5MQomCKBKBA5o+ww3FjVJdJfVJa8tv87J2Wz/K8
l/UFfF0xzAvwDen5SXl5W7bsQP9IgPm2vgPxqKeoymv/nDjehb76jROnNVb2g/TJ
EFY4XzN7Hi1ISUDooOW5vLNUoqDzOl8O+di/ZKZKqsMACyXGx5egg+euH3KqbaL9
WihLlt2P44vnIAjT3ofkMBLTt6B3fXXyRv8gQYqpoXgcV0r27LXd
ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkXDTIzMTIwNzE2NDg0OVoYDzIxMjMx
MTEzMTY0ODQ5WjAXMBUCBGkc2MsXDTIzMTIwNzE2NDg0OVqgDjAMMAoGA1UdFAQD
AgEAMA0GCSqGSIb3DQEBCwUAA4IBAQAHvw9QamvkDupseQyZsn9UM/uTzWktMvGd
USVRJm8GI6EeZEQjQU4+s3bOA+OJC2Q3RIM4irLxIg0CEEcy171+XEE3wMiCs1uw
n7fb59sLicYz00LcNg1f/oeAE7gytJZslN9ohBLxKA5Bc11tqYiRirVGTZGihwR9
LUdhpEwsfnDw82QYyMU4Zcr9VeF42lQBMuWQBoWMQVttW1Lay+fI6J9mF1T5DWmn
aU2uGdGpMbNphy9d4LnCvqRQG62qTHKOuiu464zRoBRWEoSzQmwQwH1Sq8n1eOQW
QG4AlFmUN6NMa5j5ngJlUZ/E+KRHlbQKFjgekdScdKSr2JjTbBZn
-----END X509 CRL-----

View File

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDcDCCAligAwIBAgIEP2f++jANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODQyWhgPMzAyMzA0MDkxNjQ4NDJaMF8xETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYD
VQQLEwdBcnRlbWlzMTgwNgYDVQQDEy9BY3RpdmVNUSBBcnRlbWlzIFNlcnZlciBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAKEtuezvOgOTJTPmB23v8KLePxxxVEX3lykW2FXNd2hL2Xth00gSnLfa
T0ijqKf1F5zCwognSP+IsvFpLnsJ3URs7am2kAKY7JwgnI38mBdLB6HFC5T/A/jA
/3eN5ZQLqMzx/M7UUt7jEUqWIKBkCeE/rsrcb7rktZxF7bSF2OHwv5IEd9a/QgJD
8f3Z1bAAzc9K4zG9BwoxEAdh24ablmnjJuKRfUeTuUQBVmbS1TfpLnn5felTUUM4
EDThWExNnSvhHhi5AuUb+ZTPqcmZaG13v6UeeiAixEosu9gVLBiv/E2CSheVzuUb
kEZmCr+sUesgVmerr3alLQ/eZqSq0GMCAwEAAaMyMDAwHQYDVR0OBBYEFDCEoV10
BTs8Wpgf7t/dA/Y+tCUVMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
ggEBAERApyTlBRh5nw5QvJmOTByA+GOyC+cSQB2bbw+vkJPlFoiu5fX9NBW2DyTz
+ZQsIYDztUVL8JdQ8G7m/ycg9Chd1nCkhTfSgYEHlQMAJGeXYVucqg/PSxTZetMf
SkVnF2UEGUl7+cgSbzNbgegEQ5w9JKUeFZlOrnFuXDeg8FkvCvZ6skxkPO+scVVU
pdHRoh42UzsDhPA8qnpu+qZEsFmnTtIg3RL63gakuCoymxbvN3DI14YLC/5PWpA6
1597tbUwE650/kYkwKqs+v1mkJaXrSmbMZ4nJ9OfV3AWu7a76mIKhfiWYBEP34Fa
RVpSDPO8UvxXGPINOuv1TmTl4WA=
-----END CERTIFICATE-----

View File

@ -1,32 +1,32 @@
Bag Attributes
friendlyName: server-ca
localKeyID: 54 69 6D 65 20 31 36 32 38 32 30 33 36 32 33 33 34 39
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 32 32 32 38 33
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDYRlaCSUXLtzgJ
Q1+Q1CNlkBMJtsM4PIfRhwH/0C1HHRJRh7Q87k7BbUwL1ZPPcydw2OKnpw9mdDOV
rwS82vV8W/KsQWVCAzdvR/rQ4wwnUfjFl2Na6cJFdNeq8APSgBv5r81DuLK09deN
qm3wYc2I3Tw+8cbNddbG2CEFVdJ+SrUtUn8SzzI6QFNIBW+Mgo4SffbK2TmKJ3Pb
Y0SxU7vw7G5pv6r226pC5lUlLc2dJKJOUvsAKHWolm1JQbH7s1GrTXnoMAEPSFuW
rOlN4X9Vep2zn2bry+sllXf0xGybpNnwVa5uIt+muuYoyyH8NE4NbGEncMYaCaQA
RVCbfykNAgMBAAECggEBAMATV+lF4fLWubGgYFNj1DvzBLVv11kuiQERAjmLTWsG
6qn196DVlKQ8yXkJKcjn4HNca4+x0v+O2/FoCrEfVT4o+xD401EZQjZWmu7Bdp3F
M0do+BhZ2uuMpa1ulDZzCGVsOMSYWD5WyCVM427FraCLu2G7oHAA48qdUFZIrjTx
ySYmXFZqV0Rh+k68Jv2+q8Fy2DP2t6n9wbUilIM6iYi3DM+bym0n5AuG8Nc3pqfx
L4RP82/brYcZo6VX1fNnAZRRUqWP9Xv8Ry8ff/9FiLKXSMT8v9uSL0/tp1PFIe26
zuS7Vw0xGOOH4nUtctIa9iKjZ9LRy9pYMLs/RR00TpECgYEA/8ekPk6sP5J+zty1
iaRmL66/s+xlQIGl51Xt63r684tI6tL7Dv+r37ocCygEHNPa324iPvtau+UV3DL6
x5AwJhLP6kn71c9l9jfjynRurtlenY6X1Vn6H29qeidQ0y/dEuclEI0+H3Sa3MmP
9rhfdy7eYYCdurvxawbl1d5Hf5sCgYEA2HX954wSj6VXFWcCLk/06v6kBbhMRDBL
u3uR16W3bm2fnoM4Hitbst+5Hcj6nspGKDBdhy/buUtF+BCmQcGlGnr5SBar0zsF
VwRKoOwJsdGzaUftj+EV/gTkx6Tloa1h7VsqMjSICuTnn6817RwdkaZ6Y43etu/N
VPwwGWAyCHcCgYAK2ZEiA3xTBgfTBpG80Ph0tVj0bOauodFDyuVYw9K5WgMx0tlL
fZTw3Jgr8PqbrnDuYWGaglcK+WDAAnmY1Yj1VH71VUYVf8K3ew9ymxXG3PmifVX7
euGdS8CcheZrzu/1yVBNL3CfLPcUvogY0yFZkOdmA2qtbSOEgrplJBSsWQKBgQDT
GNbB/leHoR45MBjvY2id2DHLpj0ybsscjtjfLqyh0+TLqHqM6Ynm+snEY2EOhINA
5FIB6cllfiRBVLNfA2NpXK5JAFsXh8KgZv4Ey8x0juZh8RSbsU5KSSl4DbcoIjeT
S8nt5k8aGLxOfYegsj+f8HQBLLUbQOfFTp/1z1tb5wKBgQDx/1ELg0MCRXyaE7Sm
shZR//UBPldIXGr757oUOXc9hpfotws3QepMu4o342v3V3zvTBYhBf8WIyRYZdkG
gXZG/aGfmuAb7KAgzqdw/3kLbAVnWfMhRVaexauIYLIVkHsygjTvpCbaKyAzZR86
ZeAzkZ3ivQvbKY7GDjgbJ3GjHg==
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQChLbns7zoDkyUz
5gdt7/Ci3j8ccVRF95cpFthVzXdoS9l7YdNIEpy32k9Io6in9RecwsKIJ0j/iLLx
aS57Cd1EbO2ptpACmOycIJyN/JgXSwehxQuU/wP4wP93jeWUC6jM8fzO1FLe4xFK
liCgZAnhP67K3G+65LWcRe20hdjh8L+SBHfWv0ICQ/H92dWwAM3PSuMxvQcKMRAH
YduGm5Zp4ybikX1Hk7lEAVZm0tU36S55+X3pU1FDOBA04VhMTZ0r4R4YuQLlG/mU
z6nJmWhtd7+lHnogIsRKLLvYFSwYr/xNgkoXlc7lG5BGZgq/rFHrIFZnq692pS0P
3makqtBjAgMBAAECggEAc2t+UCiD39l4c7DPMy/2n3sNsL2LPsttiPQeGVuYnaxr
YkqMdXk2lwYTbo4cEaKWtSBXFA8l3C+1DOFocp1+wShMDRN6DxIZpjhIQ/lVpKCL
J5ImmB0CaBk1GBUaCSlMSO8lPauYaJosYMAfPxxEYvQqpIS00h5D21PMRFDxHeIV
gErw03eEQZUecxv2ek44kq+d1UFacYmcWr0nTPQyostZNbE66eEg5xVoeUVR8L34
YkstuypEuBSAB/wn1jJpQL8oEjbFu3f6mlf2K5QGqJKqmniP8o6FUD94x9t6tExl
K/rbI+4ELZLXkkAVYI7dONpqduL+jHUY5ECsHE0uyQKBgQDuJWjCFk3MTk8tjePa
UtJpf2yXNbzTcXVRpjzV/ugD8gon2Xc7LBBpwXsVPPjsBFvk9sJ+9oQL+veCig/o
U9Ry8ucaQtlxtLJVfUMkXltpwdPV+4A2MyukdFooGzsd5jIMlBIP0ggxDT4r97dz
lZ8axPhHnm6UTl0fMCtH/ZJvRwKBgQCtQyCdrWo5BeV2AFTMvX48EoLz/OvwRLZo
0ZqSm3/tnNvQ/FuTjBsGzpF+bwkoz0Vi889hqvmk752bQ3LFH7KRp+t+yPUIOm9K
slqAzoCc+hWQGWRYA9yyTF+Ogpv6ATUGV+wnqp6Ccid5D/sTEod1hV3n7gYCk1LB
MCe4THY8BQKBgAStOWRuWbLEauujGLFl5PnrZa+Gf6HLXZlv4Uv2iInjS+3CaIQB
9oSNJySgoObJoyBY9DLYFnnBwPCQU4Wld8uWF5G9dFW2TbY+En55V+Q4yTcvjDIE
STweiNK2zi9lIOB8W+pxnnWQJANrBvA/JPO6oIGPi+5fp5aANKliQmjrAoGBAISC
VE2DNTwLQGSw+CnluseiuLh1dNS7GG6t73O0rXBCiPMaLcd4XaslDK0PqoeljcGS
Ccb+hhMYlwcJ3JraFS3EqRy8AHqchkUwhnsAc+iacydT5CRUP9O1CVfql/PqPG1v
jNMBcFz/hSTXjgQWJbdBmoIozjvmBGJvu9D92WcpAoGBAKCdf/OvxUUW8V10ahIZ
FmUdJNFrJZZvu5Zdy7jianasoXp5VAKK+T3E6DkXMcrEKTSmyZIaDNxIqFgvWotf
X7NtR7z6+dIfJfRFG07MhzZLozwXdAgpeyux2uef9SJYMxpgSu8Z6C/1YiBouafP
pYG5aE/ywMdqRttjTwS95j/C
-----END PRIVATE KEY-----

View File

@ -0,0 +1,28 @@
Bag Attributes
friendlyName: server
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 32 35 32 38 31
subject=C = AMQ, ST = AMQ, L = AMQ, O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Server
issuer=O = ActiveMQ, OU = Artemis, CN = ActiveMQ Artemis Server Certification Authority
-----BEGIN CERTIFICATE-----
MIID6DCCAtCgAwIBAgIEQjyGpTANBgkqhkiG9w0BAQsFADBfMREwDwYDVQQKEwhB
Y3RpdmVNUTEQMA4GA1UECxMHQXJ0ZW1pczE4MDYGA1UEAxMvQWN0aXZlTVEgQXJ0
ZW1pcyBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwIBcNMjMxMjA3MTY0
ODQ0WhgPMjEyMzExMTMxNjQ4NDRaMHExDDAKBgNVBAYTA0FNUTEMMAoGA1UECBMD
QU1RMQwwCgYDVQQHEwNBTVExETAPBgNVBAoTCEFjdGl2ZU1RMRAwDgYDVQQLEwdB
cnRlbWlzMSAwHgYDVQQDExdBY3RpdmVNUSBBcnRlbWlzIFNlcnZlcjCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKSO+QRx5W1uY/azvD3nFyVCygTDHZXG
DKa4g8Fkrf9ltn4pe6peuu3Jdq+7NRq/mmy5RJKu3wfQIEHj4r+bfudT2FwUoUPt
GD3wa3gJR2k30cPLASqW5I65i32BzyTkdo75APfC/1CwtnYgwYdG8mktF0/G0m2p
fK4BG8BoMTAcZ/pWrjcyOAk940Q7oC+dl96Dkpd1I6vTwUfyup1RMvTQkpa8Lc0K
lplKybKEYPQJCzPaLuoXTk11XgCzGTHAyHJuXWmXtsrAZnDA5stoGCQW89p+kxrc
3TzaiuKcQEpATK7BMNocFrJ1+LEGUFfK9x8DW9a4zoMLTUUew7KhaSsCAwEAAaOB
lzCBlDAdBgNVHQ4EFgQUtag+cMyaaX/xPcjSSPqs9agB/9IwRwYDVR0RBEAwPoIJ
bG9jYWxob3N0ghVsb2NhbGhvc3QubG9jYWxkb21haW6CFGFydGVtaXMubG9jYWx0
ZXN0Lm1lhwR/AAABMAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUMIShXXQFOzxamB/u
390D9j60JRUwDQYJKoZIhvcNAQELBQADggEBAD3CHSQkBdh16Cfrc984m+7czhwF
ZMupsCz+EGgvM/PIYSZLHbsNKjKOKuTiHXwcPFuT2U9mhU6f1XKw9cHIKCYjfRut
xgq4q0Vhu6ARLmFdCLQUFx4G8WwBRW+Mi3UuYuK5GPA8ZRbg8wPjfLkmF9Yr/c/g
+FUNUW9MuAqWPnnXo+gOR60F5DBNdiaOMR9U060jjiMMyDD6a/HB53efDVAsbNGM
wZNScmqbv5trh9BLIj+VSprPvOH3ScvxFtBu8Pt9gho+2RhEd5Ry7h5hzpI8rO2F
1x9vPmkvyg8Wlz5R1Wy/myIsKxHWY6eihMGxvipfn6vbuWzq3oJhuYohJBs=
-----END CERTIFICATE-----

View File

@ -0,0 +1,32 @@
Bag Attributes
friendlyName: server
localKeyID: 54 69 6D 65 20 31 37 30 31 39 36 37 37 32 35 32 38 31
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCkjvkEceVtbmP2
s7w95xclQsoEwx2VxgymuIPBZK3/ZbZ+KXuqXrrtyXavuzUav5psuUSSrt8H0CBB
4+K/m37nU9hcFKFD7Rg98Gt4CUdpN9HDywEqluSOuYt9gc8k5HaO+QD3wv9QsLZ2
IMGHRvJpLRdPxtJtqXyuARvAaDEwHGf6Vq43MjgJPeNEO6AvnZfeg5KXdSOr08FH
8rqdUTL00JKWvC3NCpaZSsmyhGD0CQsz2i7qF05NdV4AsxkxwMhybl1pl7bKwGZw
wObLaBgkFvPafpMa3N082orinEBKQEyuwTDaHBaydfixBlBXyvcfA1vWuM6DC01F
HsOyoWkrAgMBAAECggEAHVKUsOQSu8M18NnqKyWojC0wjlSuSuf1jSfH4ogsMRxQ
vn5p2Nv0dza0/W9gcRm/TKxeubyLZXsCpHsVBouQu2vHW/EZI192OGNE4yjUHr2h
lT/xP0OQCpapcn3VCX/kWGmqcHvAvwIeIUKI+a/8th0g0EhfascOvnrYFRr72NSN
I33OaYITuoCIHGytZb1OZeIUi2d9IUfy5nWoh2kqm5jbWY11rpzgTFhSu0zG3CI/
fKGGX9pNnsiWf2Bmcqa8lru94e2HhNDVWlD8gukzb7jX9TcS/aEJWYRbAlWGiOt8
XOalszJja/NVvPdvdXiV7MvIU3A2tdkzLlVPxjsWsQKBgQDrg1tqRMchd8jsBRSg
88je/uDEtu3PNOPHKzh7dfPAFcrF4WCijdboeC35GLTiuw77hmOk0yWbZG0SvH7s
vRcdC6t057251RqJbqVJPn3wz3H0q+aEwjnSvhH2b4aGwyXyQqbb4siq+ZEpStQY
JX9pBHYFbi40bg29YNyUq6Qv5wKBgQCy34bR+EhWWOTAmOHFykMHSGkY52lJIt3S
bNxKh5BDMmyMEx7LTNMpWHkJhHg94n5ulCS0wzuWCaWpqVSIon8oipLuK5TFnzmy
2YupCiMN7NyYzplHdVqAxZi8Sa9rbvHm1+QVtDM58+8Thlnum5r33exons6v3uPY
8cuV7+ikHQKBgQDVtfcoMY05c4chlWKow0+N+19fYlfd5TKkszWn4trzfVLpyaB1
IZzYiuW82oyaCgCIgeS91tSTc8f+booGrXfh5YsKpJfnn9daysq18j06XiQcUDj4
U39BGzUVmRJMC53NfmoHsn1BmQH+pGZeGvjJBUFLoDXRYeSZ6uF/D1oIFQKBgBkJ
SmCXROC5HoOKoodBsTISw4sV0NnIxI2QaSERanLNWv4cKwI/pYqy9HYNkZrv2cx2
ddDLRsrQXNyrc8aQIAY3pyso9HDYwYW0B2VIovFvBs1olXG4DkvZ3G/2TFRYOgma
jDUxfL4O05bDBlFsfDtXV6CpIbriErgp19oLs19NAoGARVSkf/gSzEY4wBHceIf2
AXUokS0j7u2grSlDYjrf4CPyUsG5jJ8r/vyib0VIHD/PNyl9xcupU8L/ahpDRy3m
iB8g2ptqffdnsLVVGnCdfbla8+gid+0a21lQf5Ioys9VVkK9gepDqh7RwQ41Cu/8
OJOFKUcKv/il2LZwTrqnB9Q=
-----END PRIVATE KEY-----

View File

@ -0,0 +1,2 @@
source.key=classpath:server-key.pem
source.cert=classpath:server-cert.pem