mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-23 10:05:10 +00:00
55 lines
2 KiB
Java
55 lines
2 KiB
Java
/*
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package org.example;
|
|
|
|
import java.nio.file.Paths;
|
|
import java.util.Properties;
|
|
|
|
import org.hyperledger.fabric.gateway.Wallet;
|
|
import org.hyperledger.fabric.gateway.Wallets;
|
|
import org.hyperledger.fabric.gateway.Identities;
|
|
import org.hyperledger.fabric.gateway.Identity;
|
|
import org.hyperledger.fabric.sdk.Enrollment;
|
|
import org.hyperledger.fabric.sdk.security.CryptoSuite;
|
|
import org.hyperledger.fabric.sdk.security.CryptoSuiteFactory;
|
|
import org.hyperledger.fabric_ca.sdk.EnrollmentRequest;
|
|
import org.hyperledger.fabric_ca.sdk.HFCAClient;
|
|
|
|
public class EnrollAdmin {
|
|
|
|
static {
|
|
System.setProperty("org.hyperledger.fabric.sdk.service_discovery.as_localhost", "true");
|
|
}
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
// Create a CA client for interacting with the CA.
|
|
Properties props = new Properties();
|
|
props.put("pemFile",
|
|
"../../test-network/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem");
|
|
props.put("allowAllHostNames", "true");
|
|
HFCAClient caClient = HFCAClient.createNewInstance("https://localhost:7054", props);
|
|
CryptoSuite cryptoSuite = CryptoSuiteFactory.getDefault().getCryptoSuite();
|
|
caClient.setCryptoSuite(cryptoSuite);
|
|
|
|
// Create a wallet for managing identities
|
|
Wallet wallet = Wallets.newFileSystemWallet(Paths.get("wallet"));
|
|
|
|
// Check to see if we've already enrolled the admin user.
|
|
if (wallet.get("admin") != null) {
|
|
System.out.println("An identity for the admin user \"admin\" already exists in the wallet");
|
|
return;
|
|
}
|
|
|
|
// Enroll the admin user, and import the new identity into the wallet.
|
|
final EnrollmentRequest enrollmentRequestTLS = new EnrollmentRequest();
|
|
enrollmentRequestTLS.addHost("localhost");
|
|
enrollmentRequestTLS.setProfile("tls");
|
|
Enrollment enrollment = caClient.enroll("admin", "adminpw", enrollmentRequestTLS);
|
|
Identity user = Identities.newX509Identity("Org1MSP", enrollment);
|
|
wallet.put("admin", user);
|
|
System.out.println("Successfully enrolled user \"admin\" and imported it into the wallet");
|
|
}
|
|
}
|