in src/main/java/com/lambdajavablockchain/SecretsManagerUtil.java [93:117]
public static FabricEnrollment getFabricEnrollment(String userId, String orgName) throws EnrollmentNotFoundException {
String userPKSecretName = "fabric/orgs/" + orgName + "/" + userId + "/pk";
String userCertsSecretName = "fabric/orgs/" + orgName + "/" + userId + "/certs";
try {
log.debug("Trying to retrieve " + userId + " credentials from AWS Secrets Manager");
String pkAsString = SecretsManagerUtil.getSecret(userPKSecretName);
String certString = SecretsManagerUtil.getSecret(userCertsSecretName);
FabricEnrollment fabricEnrollment = null;
log.info("Found users credentials in Secrets Manager");
// Reconstruct PrivateKey from string
PrivateKey privKey = SecretsManagerUtil.buildPrivateKeyFromString(pkAsString);
// Create FabricEnrollment with Secrets Manager credentials
fabricEnrollment = new FabricEnrollment(privKey, certString);
return fabricEnrollment;
} catch (SecretNotFoundException | NoSuchAlgorithmException | InvalidKeySpecException e) {
log.warn("Credentials not found on Secrets Manager");
throw new EnrollmentNotFoundException("Fabric credentials not found for user " + userId, e);
}
}