1 package org.openecomp.sdc.common.http.config;
3 import org.apache.commons.lang3.StringUtils;
4 import org.openecomp.sdc.security.SecurityUtil;
8 public class ClientCertificate {
9 private String keyStore;
10 private String keyStorePassword;
12 public ClientCertificate() {
15 public ClientCertificate(ClientCertificate clientCertificate) {
16 setKeyStore(clientCertificate.getKeyStore());
17 setKeyStorePassword(clientCertificate.getKeyStorePassword(), false);
20 public void setKeyStore(String keyStore) {
22 this.keyStore = keyStore;
25 public void setKeyStorePassword(String keyStorePassword) {
26 setKeyStorePassword(keyStorePassword, true);
29 private void setKeyStorePassword(String keyStorePassword, boolean isEncoded) {
30 validate(keyStorePassword);
32 Either<String, String> passkey = SecurityUtil.INSTANCE.decrypt(keyStorePassword);
33 if (passkey.isLeft()) {
34 this.keyStorePassword = passkey.left().value();
37 throw new IllegalArgumentException(passkey.right().value());
41 this.keyStorePassword = keyStorePassword;
45 public String getKeyStore() {
49 public String getKeyStorePassword() {
50 return keyStorePassword;
54 public int hashCode() {
57 result = prime * result + ((keyStore == null) ? 0 : keyStore.hashCode());
58 result = prime * result + ((keyStorePassword == null) ? 0 : keyStorePassword.hashCode());
63 public boolean equals(Object obj) {
68 if (getClass() != obj.getClass())
70 ClientCertificate other = (ClientCertificate) obj;
71 if (keyStore == null) {
72 if (other.keyStore != null)
75 else if (!keyStore.equals(other.keyStore))
77 if (keyStorePassword == null) {
78 if (other.keyStorePassword != null)
81 else if (!keyStorePassword.equals(other.keyStorePassword))
87 public String toString() {
88 StringBuilder builder = new StringBuilder();
89 builder.append("ClientCertificate [keyStore=");
90 builder.append(keyStore);
92 return builder.toString();
95 private void validate(String str) {
96 if(StringUtils.isEmpty(str)) {
97 throw new IllegalArgumentException("ClientCertificate keystore and/or kestorePassword cannot be empty");