diff --git a/api/payara-api/src/main/java/fish/payara/security/client/PayaraConstants.java b/api/payara-api/src/main/java/fish/payara/security/client/PayaraConstants.java new file mode 100644 index 00000000000..d3ec6d60e95 --- /dev/null +++ b/api/payara-api/src/main/java/fish/payara/security/client/PayaraConstants.java @@ -0,0 +1,63 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) [2021] Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/master/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at glassfish/legal/LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.security.client; + +/** + * Holds the constants for JAX-RS Client and MP Client Certificate Alias + * @author Kalin Chan + * @since 5.2022.1 + */ +public final class PayaraConstants { + + /** + * Specifies the JAX-RS property name + */ + public static final String JAXRS_CLIENT_CERTIFICATE_ALIAS = "fish.payara.jaxrs.client.certificate.alias"; + + /** + * Specifies the Rest Client property name. + */ + public static final String REST_CLIENT_CERTIFICATE_ALIAS = "fish.payara.rest.client.certificate.alias"; + + /** + * Specifies the MP Client property name + */ + public static final String MP_CONFIG_CLIENT_CERTIFICATE_ALIAS = "payara.certificate.alias"; +} diff --git a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/PayaraConstants.java b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/PayaraConstants.java deleted file mode 100644 index 44b133c375b..00000000000 --- a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/PayaraConstants.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) [2021] Payara Foundation and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/master/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at glassfish/legal/LICENSE.txt. - * - * GPL Classpath Exception: - * The Payara Foundation designates this particular file as subject to the "Classpath" - * exception as provided by the Payara Foundation in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package fish.payara.microprofile.jaxrs.client.ssl; - -/** - * Class to maintain the constants used to evaluate the name of the property for certificate alias - * on MicroProfile rest clients - */ -public class PayaraConstants { - - public static final String PAYARA_REST_CLIENT_CERTIFICATE_ALIAS = "fish.payara.rest.client.certificate.alias"; - - public static final String PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS = "payara.certificate.alias"; - -} diff --git a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListener.java b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListener.java index fdf57cb7823..82caac9aee5 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListener.java +++ b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/main/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListener.java @@ -62,8 +62,8 @@ import java.util.logging.Level; import java.util.logging.Logger; -import static fish.payara.microprofile.jaxrs.client.ssl.PayaraConstants.PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS; -import static fish.payara.microprofile.jaxrs.client.ssl.PayaraConstants.PAYARA_REST_CLIENT_CERTIFICATE_ALIAS; +import static fish.payara.security.client.PayaraConstants.MP_CONFIG_CLIENT_CERTIFICATE_ALIAS; +import static fish.payara.security.client.PayaraConstants.REST_CLIENT_CERTIFICATE_ALIAS; /** * This class implements RestClientListener to evaluate the alias property and set a custom sslContext @@ -77,7 +77,7 @@ public class RestClientSslContextAliasListener implements RestClientListener { public void onNewClient(Class serviceInterface, RestClientBuilder restClientBuilder) { logger.log(Level.FINE, "Evaluating state of the RestClientBuilder after calling build method"); Object objectProperty = restClientBuilder.getConfiguration() - .getProperty(PAYARA_REST_CLIENT_CERTIFICATE_ALIAS); + .getProperty(REST_CLIENT_CERTIFICATE_ALIAS); if (objectProperty instanceof String) { String alias = (String) objectProperty; @@ -93,7 +93,7 @@ public void onNewClient(Class serviceInterface, RestClientBuilder restClientB } else { Config config = getConfig(); try { - String alias = config.getValue(PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS, + String alias = config.getValue(MP_CONFIG_CLIENT_CERTIFICATE_ALIAS, String.class); if (alias != null) { logger.log(Level.INFO, String.format("The alias: %s is available from the MP Config", alias)); @@ -107,7 +107,7 @@ public void onNewClient(Class serviceInterface, RestClientBuilder restClientB } } catch (NoSuchElementException e) { logger.log(Level.FINE, String.format("The MP config property %s was not set", - PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS)); + MP_CONFIG_CLIENT_CERTIFICATE_ALIAS)); } } } diff --git a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/test/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListenerTest.java b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/test/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListenerTest.java index 65b39307a92..7730eacd813 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/test/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListenerTest.java +++ b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/src/test/java/fish/payara/microprofile/jaxrs/client/ssl/RestClientSslContextAliasListenerTest.java @@ -60,8 +60,8 @@ import java.security.*; import java.security.cert.CertificateException; -import static fish.payara.microprofile.jaxrs.client.ssl.PayaraConstants.PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS; -import static fish.payara.microprofile.jaxrs.client.ssl.PayaraConstants.PAYARA_REST_CLIENT_CERTIFICATE_ALIAS; +import static fish.payara.security.client.PayaraConstants.MP_CONFIG_CLIENT_CERTIFICATE_ALIAS; +import static fish.payara.security.client.PayaraConstants.REST_CLIENT_CERTIFICATE_ALIAS; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) @@ -87,7 +87,7 @@ public void restClientAliasPropertySslContextTest() throws Exception { KeyStore[] keyStores = new KeyStore[]{getKeyStore()}; when(restClientBuilder.getConfiguration()).thenReturn(configuration); - when(configuration.getProperty(PAYARA_REST_CLIENT_CERTIFICATE_ALIAS)).thenReturn("myKey"); + when(configuration.getProperty(REST_CLIENT_CERTIFICATE_ALIAS)).thenReturn("myKey"); doReturn(managers).when(restClientSslContextAliasListener).getKeyManagers(); doReturn(keyStores).when(restClientSslContextAliasListener).getKeyStores(); @@ -105,11 +105,11 @@ public void restClientAliasPropertyFromMPConfigSslContextTest() throws Exception KeyStore[] keyStores = new KeyStore[]{getKeyStore()}; when(restClientBuilder.getConfiguration()).thenReturn(configuration); - when(configuration.getProperty(PAYARA_REST_CLIENT_CERTIFICATE_ALIAS)).thenReturn(null); + when(configuration.getProperty(REST_CLIENT_CERTIFICATE_ALIAS)).thenReturn(null); doReturn(managers).when(restClientSslContextAliasListener).getKeyManagers(); doReturn(keyStores).when(restClientSslContextAliasListener).getKeyStores(); doReturn(config).when(restClientSslContextAliasListener).getConfig(); - when(config.getValue(PAYARA_MP_CONFIG_CLIENT_CERTIFICATE_ALIAS, String.class)).thenReturn("myKey"); + when(config.getValue(MP_CONFIG_CLIENT_CERTIFICATE_ALIAS, String.class)).thenReturn("myKey"); restClientSslContextAliasListener.onNewClient(RestClientBuilder.class, restClientBuilder);