1 package org.openecomp.sdc.common.http.config;
4 import org.apache.commons.lang3.StringUtils;
5 import org.openecomp.sdc.security.SecurityUtil;
7 public class ClientCertificate {
8 private String keyStore;
9 private String keyStorePassword;
11 public ClientCertificate() {
14 public ClientCertificate(ClientCertificate clientCertificate) {
15 setKeyStore(clientCertificate.getKeyStore());
16 setKeyStorePassword(clientCertificate.getKeyStorePassword(), false);
19 public void setKeyStore(String keyStore) {
21 this.keyStore = keyStore;
24 public void setKeyStorePassword(String keyStorePassword) {
25 setKeyStorePassword(keyStorePassword, true);
28 private void setKeyStorePassword(String keyStorePassword, boolean isEncoded) {
29 validate(keyStorePassword);
31 Either<String, String> passkey = SecurityUtil.INSTANCE.decrypt(keyStorePassword);
32 if (passkey.isLeft()) {
33 this.keyStorePassword = passkey.left().value();
36 throw new IllegalArgumentException(passkey.right().value());
40 this.keyStorePassword = keyStorePassword;
44 public String getKeyStore() {
48 public String getKeyStorePassword() {
49 return keyStorePassword;
53 public int hashCode() {
56 result = prime * result + ((keyStore == null) ? 0 : keyStore.hashCode());
57 result = prime * result + ((keyStorePassword == null) ? 0 : keyStorePassword.hashCode());
62 public boolean equals(Object obj) {
67 if (getClass() != obj.getClass())
69 ClientCertificate other = (ClientCertificate) obj;
70 if (keyStore == null) {
71 if (other.keyStore != null)
74 else if (!keyStore.equals(other.keyStore))
76 if (keyStorePassword == null) {
77 if (other.keyStorePassword != null)
80 else if (!keyStorePassword.equals(other.keyStorePassword))
86 public String toString() {
87 StringBuilder builder = new StringBuilder();
88 builder.append("ClientCertificate [keyStore=");
89 builder.append(keyStore);
91 return builder.toString();
94 private void validate(String str) {
95 if(StringUtils.isEmpty(str)) {
96 throw new IllegalArgumentException("ClientCertificate keystore and/or kestorePassword cannot be empty");