private void configureSigningParameters(final String secretKeySigning) { var signingKeyToUse = secretKeySigning; if (StringUtils.isBlank(signingKeyToUse)) { LOGGER.warn("Secret key for signing is not defined for [{}]. CAS will attempt to auto-generate the signing key", getName()); signingKeyToUse = EncodingUtils.generateJsonWebKey(this.signingKeySize); LOGGER.warn("Generated signing key [{}] of size [{}] for [{}]. The generated key MUST be added to CAS settings under setting [{}].", signingKeyToUse, this.signingKeySize, getName(), getSigningKeySetting()); } else { LOGGER.trace("Located signing key to use for [{}]", getName()); } configureSigningKey(signingKeyToUse); }
private void configureEncryptionParameters(final String secretKeyEncryption, final String contentEncryptionAlgorithmIdentifier) { var secretKeyToUse = secretKeyEncryption; if (StringUtils.isBlank(secretKeyToUse)) { LOGGER.warn("Secret key for encryption is not defined for [{}]; CAS will attempt to auto-generate the encryption key", getName()); secretKeyToUse = EncodingUtils.generateJsonWebKey(this.encryptionKeySize); LOGGER.warn("Generated encryption key [{}] of size [{}] for [{}]. The generated key MUST be added to CAS settings under setting [{}].", secretKeyToUse, this.encryptionKeySize, getName(), getEncryptionKeySetting()); } else { LOGGER.trace("Located encryption key to use for [{}]", getName()); } try { if (ResourceUtils.doesResourceExist(secretKeyToUse)) { configureEncryptionKeyFromPublicKeyResource(secretKeyToUse); } } catch (final Exception e) { LOGGER.error(e.getMessage(), e); } finally { if (this.secretKeyEncryptionKey == null) { LOGGER.trace("Creating encryption key instance based on provided secret key"); setSecretKeyEncryptionKey(EncodingUtils.generateJsonWebKey(secretKeyToUse)); } setContentEncryptionAlgorithmIdentifier(contentEncryptionAlgorithmIdentifier); LOGGER.trace("Initialized cipher encryption sequence via content encryption [{}] and algorithm [{}]", this.contentEncryptionAlgorithmIdentifier, this.encryptionAlgorithm); } }