/*- | |
* ============LICENSE_START======================================================= | |
* OSAM | |
* ================================================================================ | |
* Copyright (C) 2018 AT&T | |
* ================================================================================ | |
* 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. | |
* ============LICENSE_END========================================================= | |
*/ | |
package org.onap.osam.aai.util; | |
import org.eclipse.jetty.util.security.Password; | |
import org.onap.portalsdk.core.util.SystemProperties; | |
import org.onap.osam.aai.exceptions.InvalidPropertyException; | |
import java.io.UnsupportedEncodingException; | |
import java.util.Base64; | |
import java.util.Optional; | |
public class SystemPropertyHelper { | |
public Optional<String> getAAIUseClientCert(){ | |
return getSystemProperty(AAIProperties.AAI_USE_CLIENT_CERT); | |
} | |
public Optional<String> getAAIServerUrl(){ | |
return getSystemProperty(AAIProperties.AAI_SERVER_URL); | |
} | |
public Optional<String> getAAIServerBaseUrl(){ | |
return getSystemProperty(AAIProperties.AAI_SERVER_URL_BASE); | |
} | |
public Optional<String> getAAIVIDUsername(){ | |
return getSystemProperty(AAIProperties.AAI_VID_USERNAME); | |
} | |
public Optional<String> getAAIVIDPasswd(){ | |
return getSystemProperty(AAIProperties.AAI_VID_PASSWD_X); | |
} | |
public Optional<String> getAAITruststorePasswd(){ | |
return getSystemProperty(AAIProperties.AAI_TRUSTSTORE_PASSWD_X); | |
} | |
public Optional<String> getAAITruststoreFilename(){ | |
return getSystemProperty(AAIProperties.AAI_TRUSTSTORE_FILENAME); | |
} | |
public Optional<String> getAAIKeystoreFilename(){ | |
return getSystemProperty(AAIProperties.AAI_KEYSTORE_FILENAME); | |
} | |
public Optional<String> getAAIKeystorePasswd(){ | |
return getSystemProperty(AAIProperties.AAI_KEYSTORE_PASSWD_X); | |
} | |
public boolean isClientCertEnabled() { | |
return getAAIUseClientCert().orElse("false").equalsIgnoreCase("true"); | |
} | |
public String getFullServicePath(String path) { | |
return getAAIServerUrl().orElse("") + path; | |
} | |
public String getServiceBasePath(String path) { | |
return getAAIServerBaseUrl().orElse("") + path; | |
} | |
public String getEncodedCredentials() throws InvalidPropertyException, UnsupportedEncodingException { | |
String vidUsername = getAAIVIDUsername().orElseThrow(InvalidPropertyException::new); | |
String vidPassword = Password.deobfuscate(getAAIVIDPasswd().orElseThrow(InvalidPropertyException::new)); | |
return Base64.getEncoder().encodeToString((vidUsername + ":" + vidPassword).getBytes("utf-8")); | |
} | |
public String getDecryptedTruststorePassword(){ | |
return Password.deobfuscate(getAAITruststorePasswd().orElse("")); | |
} | |
public String getDecryptedKeystorePassword(){ | |
return Password.deobfuscate(getAAIKeystorePasswd().orElse("")); | |
} | |
private Optional<String> getSystemProperty(String propertyKey){ | |
return Optional.ofNullable(SystemProperties.getProperty(propertyKey)); | |
} | |
} |