in src/main/java/com/lambdajavablockchain/service/ManagedBlockchainService.java [246:272]
private FabricUser getAdmin(HFCAClient hfcaClient) throws EnrollmentException, org.hyperledger.fabric_ca.sdk.exception.InvalidArgumentException {
try {
// Try to build enrollment using AWS Secrets Manager credentials
FabricEnrollment fabricEnrollment = SecretsManagerUtil.getFabricEnrollment(AMBConfig.ADMINUSER, AMBConfig.ORG1);
// Create Admin user context with existing credentials
FabricUser adminUserContext = new FabricUser(AMBConfig.ADMINUSER, AMBConfig.ORG1,
AMBConfig.ORG1_MSP, fabricEnrollment);
log.info("Admin user context reconstructed from Secrets Manager");
return adminUserContext;
} catch (EnrollmentNotFoundException e) {
// If admin has not yet been enrolled, enroll admin once and save credentials
log.info("No secret found in Secrets Manager, enrolling admin");
// Enroll Admin first
Enrollment adminEnrollment = hfcaClient.enroll(AMBConfig.ADMINUSER, AMBConfig.ADMINPWD);
FabricUser adminUserContext = new FabricUser(AMBConfig.ADMINUSER, AMBConfig.ORG1,
AMBConfig.ORG1_MSP, adminEnrollment);
log.info("Admin successfully enrolled");
// Save credentials on AWS Secrets Manager
SecretsManagerUtil.storeEnrollmentCredentials(AMBConfig.ADMINUSER, AMBConfig.ORG1, adminEnrollment);
log.info("Admin credentials saved on Secrets Manager");
return adminUserContext;
}
}