/** * Gets signing certificate decoded. * * @return the signing certificate decoded */ @JsonIgnore public String getSigningCertificateDecoded() { if (EncodingUtils.isBase64(signingCertificate)) { return EncodingUtils.decodeBase64ToString(signingCertificate); } return signingCertificate; }
/** * Gets metadata decoded. * * @return the metadata decoded */ @JsonIgnore public String getMetadataDecoded() { if (EncodingUtils.isBase64(metadata)) { return EncodingUtils.decodeBase64ToString(metadata); } return metadata; } }
/** * Gets encryption certificate decoded. * * @return the encryption certificate decoded */ @JsonIgnore public String getEncryptionCertificateDecoded() { if (EncodingUtils.isBase64(encryptionCertificate)) { return EncodingUtils.decodeBase64ToString(encryptionCertificate); } return encryptionCertificate; }
/** * Gets base-64 decoded value if needed, or the value itself. * * @return the decoded value */ @JsonIgnore public String getDecodedValue() { if (EncodingUtils.isBase64(value)) { return EncodingUtils.decodeBase64ToString(value); } return value; } }
private void ensureEncryptionKeyExists(final String encryptionSecretKey, final int encryptionKeySize) { final byte[] genEncryptionKey; if (StringUtils.isBlank(encryptionSecretKey)) { LOGGER.warn("Secret key for encryption is not defined under [{}]. CAS will attempt to auto-generate the encryption key", getEncryptionKeySetting()); val key = new Base64RandomStringGenerator(encryptionKeySize).getNewString(); LOGGER.warn("Generated encryption key [{}] of size [{}]. The generated key MUST be added to CAS settings under setting [{}].", key, encryptionKeySize, getEncryptionKeySetting()); genEncryptionKey = EncodingUtils.decodeBase64(key); } else { val base64 = EncodingUtils.isBase64(encryptionSecretKey); val key = base64 ? EncodingUtils.decodeBase64(encryptionSecretKey) : ArrayUtils.EMPTY_BYTE_ARRAY; if (base64 && key.length == encryptionKeySize) { LOGGER.trace("Secret key for encryption defined under [{}] is Base64 encoded.", getEncryptionKeySetting()); genEncryptionKey = key; } else if (encryptionSecretKey.length() != encryptionKeySize) { LOGGER.warn("Secret key for encryption defined under [{}] is Base64 encoded but the size does not match the key size [{}].", getEncryptionKeySetting(), encryptionKeySize); genEncryptionKey = encryptionSecretKey.getBytes(StandardCharsets.UTF_8); } else { LOGGER.warn("Secret key for encryption defined under [{}] is not Base64 encoded. Clear the setting to regenerate (Recommended) or replace with" + " [{}].", getEncryptionKeySetting(), EncodingUtils.encodeBase64(encryptionSecretKey)); genEncryptionKey = encryptionSecretKey.getBytes(StandardCharsets.UTF_8); } } this.encryptionSecretKey = genEncryptionKey; }