github.com/bestbeforetoday/fabric-ca@v2.0.0-alpha+incompatible/scripts/fvt/enroll.sh (about) 1 #!/bin/bash 2 3 # 4 # Copyright IBM Corp. All Rights Reserved. 5 # 6 # SPDX-License-Identifier: Apache-2.0 7 # 8 9 FABRIC_CA="$GOPATH/src/github.com/hyperledger/fabric-ca" 10 SCRIPTDIR="$FABRIC_CA/scripts/fvt" 11 . $SCRIPTDIR/fabric-ca_utils 12 RC=0 13 14 while getopts "du:p:t:l:x:" option; do 15 case "$option" in 16 d) FABRIC_CA_DEBUG="true" ;; 17 x) CA_CFG_PATH="$OPTARG" ;; 18 u) USERNAME="$OPTARG" ;; 19 p) USERPSWD="$OPTARG" ;; 20 t) KEYTYPE="$OPTARG" ;; 21 l) KEYLEN="$OPTARG" ;; 22 esac 23 done 24 test -z "$CA_CFG_PATH" && CA_CFG_PATH="$HOME/fabric-ca" 25 test -f "$CA_CFG_PATH" || mkdir -p $CA_CFG_PATH 26 27 : ${FABRIC_CA_DEBUG="false"} 28 : ${USERNAME="admin"} 29 : ${USERPSWD="adminpw"} 30 : ${KEYTYPE="ecdsa"} 31 : ${KEYLEN="256"} 32 33 test "$KEYTYPE" = "ecdsa" && sslcmd="ec" 34 35 test -d "$CA_CFG_PATH/$USERNAME" || mkdir -p $CA_CFG_PATH/$USERNAME 36 cat > $CA_CFG_PATH/$USERNAME/fabric-ca-client-config.yaml <<EOF 37 csr: 38 cn: $USERNAME 39 keyrequest: 40 algo: $KEYTYPE 41 size: $KEYLEN 42 EOF 43 44 $FABRIC_CA_CLIENTEXEC enroll -u "http://$USERNAME:$USERPSWD@$CA_HOST_ADDRESS:$PROXY_PORT" -H $CA_CFG_PATH/$USERNAME 45 RC=$? 46 CLIENTCERT="$CA_CFG_PATH/$USERNAME/msp/signcerts/cert.pem" 47 lastkey=$(ls -crtd $CA_CFG_PATH/$USERNAME/msp/keystore/* | tail -n1) 48 test -n "$lastkey" && CLIENTKEY="$lastkey" || CLIENTKEY="$CA_CFG_PATH/$USERNAME/msp/keystore/key.pem" 49 $($FABRIC_CA_DEBUG) && printAuth "$CLIENTCERT" "$CLIENTKEY" 50 exit $RC