Hyperledger Fabric 2.2 실습 (2) - Fabric ca 구축 및 인증서 발급

ljh·2021년 3월 18일

1.hyperleger fabric ca server 설정 파일 분석

2.hyperleger fabric ca server 구축

3.hyperleger fabric 인증서 발급



hyperleger fabric ca server 설정 파일 분석

fabric ca server 구축 시 필요한 설정 파일이 존재합니다. 아래 링크 클릭 시 자세한 설정을 확인할 수 있습니다.

fabric ca server config 링크

fabric ca server 설정 파일이 적용에는 2가지 방법이 있습니다.

  • 아래 링크에 있는 설정 파일을 수정하여 fabric ca server 구축
  • fabric ca server 기동시 변경할 설정을 옵션을 주고 기동
fabric-ca-server -port 7054 start
  • 변경 하고 싶은 설정만 환경변수로 등록하여 구축
ex) export 설정파일명_설정이름 = 설정값;
    FABRIC_CA_SERVER_PORT = 7054

본 실습에서 fabric ca server 구축시 사용하는 설정은 아래와 같습니다.

farbic ca server 사용 포트

port: 7054

farbic ca server 에서 발급받은 인증서 관련 설정

signing:
    default:
      usage:
        - digital signature
      expiry: 8760h     # 발급받는 인증서 유효기간 설정 8760h 값은 약 1년을 의미
    profiles:
      ca:
         usage:
           - cert sign
           - crl sign
         expiry: 43800h
         caconstraint:
           isca: true   # ca server 인증서 발급 여부
           maxpathlen: 0
      tls:
         usage:
            - signing
            - key encipherment
            - server auth
            - client auth
            - key agreement
         expiry: 8760h  # 발급받는 인증서(TLS) 유효기간 설정 8760h 값은 약 1년을 의미

farbic ca server csr(인증서 발급을 위한 설정) 관련 설정

signing:
csr:
   cn: <<<COMMONNAME>>>       # common name 설정 보통 ca server 도메인으로 설정
   keyrequest:                # key 알고리즘 설정
     algo: ecdsa
     size: 256
   names: 
      - C: US                 # country (지역 명)
        ST: "North Carolina"  # state (시/도 명) 
        L:                    # locality (구/군 명)
        O: Hyperledger        # organization (기관/회사 명)
        OU: Fabric            # organization unit  (부서 명)
   hosts:
     - <<<MYHOST>>>
     - localhost
   ca:
      expiry: 131400h         # root ca 인증서 유효기간 설정 131400h 값은 약 15년을 의미
      pathlength: <<<PATHLENGTH>>>

hyperleger fabric ca server 구축

현재는 아래 구성도에서 VM1(org apeer) 부분 먼저 구축 진행합니다.

docker-compose-ca.yaml 파일 작성 및 컨테이너 기동

fabric ca server 를 docker 컨테이너로 구축하기 위해서 docker-compose-ca.yaml 파일을 작성합니다.
fabric ca server 는 orderer, apeer 총 두개를 구축합니다.

infra, compose-files 폴더 생성

mkdir -p /home/fabric/infra/compose-files

docker-compose-ca.yaml 파일 작성
sudo vi /home/fabric/infra/compose-files/docker-compose-ca.yaml

version: '2.1' # docker-compose 사용 버전
networks: # docker container 내부 네트워크 섧정
  test-network:
    name: test-network # 네트워크 이름
    ipam:
      driver: default # 네트워크 드라이버
      config:
        - subnet: 123.133.134.0/16 # 네트워크 사용 대역
services: # docker 컨테이너 서비스 설정
  ca.orgapeer.com: # 서비스 이름
    container_name: ca.orgapeer.com # 컨테이너 이름
    image: 'hyperledger/fabric-ca:1.4.9' # 사용하는 docker image 이름
    environment: # docker container 내부에서 사용하는 환경변수 설정
      - FABRIC_CA_SERVER_HOME=/etc/hyperledger/fabric-ca # ca server home 경로
      - FABRIC_CA_SERVER_CSR_CN=ca.orgapeer.com # ca server cn(이름)
      - FABRIC_CA_SERVER_CSR_HOSTS=ca.orgapeer.com # ca server 호스트 
      - FABRIC_CA_SERVER_DEBUG=true # ca server 로깅 설정
      - FABRIC_CA_SERVER_CA_NAME=ca-apeer # ca server 이름
      - FABRIC_CA_SERVER_TLS_ENABLED=false # ca server tls 통신 여부
      - FABRIC_CA_SERVER_PORT=7054 # ca server 사용 포트
      - FABRIC_CA_SERVER_SIGNING_DEFAULT_EXPIRY=876600h # ca server 에서 발급하는 인증서 유효기간(약 100년)
      - FABRIC_CA_SERVER_SIGNING_PROFILES_TLS_EXPIRY=876600h # ca server 에서 발급하는 인증서(TLS) 유효기간(약 100년)
      - FABRIC_CA_SERVER_CSR_CA_EXPIRY=876600h # ca server root 인증서 유효기간(약 100년)
      - TZ=Asia/Seoul # 컨테이너 타임존 설정
    ports: # 컨테이너 외부와 포트 포워딩 설정
      - '7054:7054'
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d' # 컨테이너 기동하면서 실행되는 커맨드
    volumes: # 컨테이너 외부와 마운트 설정
      - '../crypto-config:/crypto-config' # 발급 받은 인증서 경로
      - '../../data/ca/ca.orgapeer.com:/etc/hyperledger/fabric-ca' # ca server 데이터 백업을 위한 경로
    networks: # 사용하는 네트워크
      - test-network
  ca.orgorderer.com:
    container_name: ca.orgorderer.com
    image: 'hyperledger/fabric-ca:1.4.9'
    environment:
      - FABRIC_CA_SERVER_HOME=/etc/hyperledger/fabric-ca
      - FABRIC_CA_SERVER_CSR_CN=ca.orgorderer.com
      - FABRIC_CA_SERVER_CSR_HOSTS=ca.orgorderer.com
      - FABRIC_CA_SERVER_DEBUG=true
      - FABRIC_CA_SERVER_CA_NAME=ca-orderer
      - FABRIC_CA_SERVER_TLS_ENABLED=false
      - FABRIC_CA_SERVER_PORT=8054
      - FABRIC_CA_SERVER_SIGNING_DEFAULT_EXPIRY=876600h
      - FABRIC_CA_SERVER_SIGNING_PROFILES_TLS_EXPIRY=876600h
      - FABRIC_CA_SERVER_CSR_CA_EXPIRY=876600h
      - TZ=Asia/Seoul
    ports:
      - '8054:8054'
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - '../crypto-config:/crypto-config'
      - '../../data/ca/ca.orgorderer.com:/etc/hyperledger/fabric-ca'
    networks:
      - test-network

docker 컨테이너 기동

docker-compose -f /home/fabric/infra/compose-files/docker-compose-ca.yaml up -d ca.orgapeer.com ca.orgorderer.com

docker 컨테이너 확인

[root@localhost infra]# docker ps
CONTAINER ID   IMAGE                         COMMAND                  CREATED         STATUS         PORTS                              NAMES
c8c0f51af37e   hyperledger/fabric-ca:1.4.9   "sh -c 'fabric-ca-se…"   4 minutes ago   Up 2 minutes   7054/tcp, 0.0.0.0:8054->8054/tcp   ca.orgorderer.com
56af20ba64c3   hyperledger/fabric-ca:1.4.9   "sh -c 'fabric-ca-se…"   4 minutes ago   Up 2 minutes   0.0.0.0:7054->7054/tcp             ca.orgapeer.com

hyperleger fabric 인증서 발급

본 문서에서 네트워크 구축 시 발급받아야 하는 인증서는 아래와 같습니다.

  • 각각의 orderer, peer 컨테이너에서 사용할 msp, tls 인증서
  • 각각의 조직의 관리자(orderer, peer) msp 인증서
  • 각각의 조직(orderer, peer) msp 인증서

인증서 폴더 구조는 fabric에서 제공하는 테스트용 인증서 발급툴인 cryptogen의 폴더 구조와 비슷하게 사용합니다.

├── admincerts
├── ca-certs
├── ordererOrganizations
│   └── orgorderer.com
│       ├── msp
│       │   ├── admincerts
│       │   ├── cacerts
│       │   ├── keystore
│       │   ├── signcerts
│       │   ├── tlscacerts
│       │   └── user
│       ├── orderers
│       │   └── orderer0.orgorderer.com
│       │       ├── msp
│       │       │   ├── admincerts
│       │       │   ├── cacerts
│       │       │   ├── keystore
│       │       │   ├── signcerts
│       │       │   ├── tlscacerts
│       │       │   └── user
│       │       └── tls
.....................................
│       └── users
│           └── Admin@orgorderer.com
│               └── msp
│                   ├── admincerts
│                   ├── cacerts
│                   ├── keystore
│                   ├── signcerts
│                   └── user
└── peerOrganizations
    └── orgapeer.com
        ├── msp
        │   ├── admincerts
        │   ├── cacerts
        │   ├── keystore
        │   ├── signcerts
        │   ├── tlscacerts
        │   └── user
        ├── peers
        │   ├── peer0.orgapeer.com
        │   │   ├── msp
        │   │   │   ├── admincerts
        │   │   │   ├── cacerts
        │   │   │   ├── keystore
        │   │   │   ├── signcerts
        │   │   │   ├── tlscacerts
        │   │   │   └── user
        │   │   └── tls
.....................................
        └── users
            └── Admin@orgapeer.com
                └── msp
                    ├── admincerts
                    ├── cacerts
                    ├── keystore
                    ├── signcerts
                    └── user
   

apeer 인증서 정보 가입

ca server에서 인증서를 발급받기 전에는 ca server에 발급받을 인증서 정보를 미리 가입을 진행해야 합니다.
인증서 정보 가입은 ca server 컨테이너 내부에서 진행합ㄴ디ㅏ.
docker exec -it 컨테이너 이름 sh or bash 명령어를 사용하여 컨테이너 내부로 진입할 수 있습니다.

ca.orgapeer.com 컨테이너 내부 진입

docker exec -it ca.orgapeer.com bash

apeer ca server admin 인증서 발급 (인증서 정보 가입을 위한 권한 취득)

fabric-ca-client enroll -d -u http://admin:adminpw@ca.orgapeer.com:7054
apeer 조직 인증서 정보아이디패스워드
peer0.orgapeer.compeer0.orgapeer.compeer0_apeerpw
peer1.orgapeer.compeer1.orgapeer.compeer1_apeerpw
apeer adminadmin-apeeradminpw

apeer 피어 인증서 정보 가입
fabric-ca-client register -d --id.name 인증서 아이디 --id.secret 인증서 패스워드 --id.type 타입

fabric-ca-client register -d --id.name peer0.orgapeer.com --id.secret peer0_apeerpw --id.type peer
fabric-ca-client register -d --id.name peer1.orgapeer.com --id.secret peer1_apeerpw --id.type peer

apeer admin 인증서 정보 가입

fabric-ca-client register -d --id.name admin-apeer --id.secret adminpw --id.attrs "hf.Registrar.Roles=client,hf.Registrar.Attributes=*,hf.Revoker=true,hf.GenCRL=true,admin=true:ecert,abac.init=true:ecert"

apeer 인증서 발급

인증서 발급 또한 ca server 컨테이너 내부에서 진행합니다.
docker exec -it 컨테이너 이름 sh or bash 명령어를 사용하여 컨테이너 내부로 진입할 수 있습니다.
먼저 인증서 발급 이후 위 폴더 구조처럼 폴더를 정리합니다.

인증서 경로 폴더 생성

mkdir -p /crypto-config/ca-certs
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/tlscacerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/admincerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/tls
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/tlscacerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/admincerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/tls
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/admincerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/msp/tlscacerts
mkdir -p /crypto-config/peerOrganizations/orgapeer.com/msp/admincerts

apeer 조직의 msp 인증서 발급
fabric-ca-client getcacert -d -u URL -M 발급경로

fabric-ca-client getcacert -d -u http://admin:adminpw@ca.orgapeer.com:7054 -M /tmp/orgs/apeer/msp

apeer 피어,admin msp 인증서 발급
fabric-ca-client enroll -d -u URL -M 발급경로

fabric-ca-client enroll -d -u http://peer0.orgapeer.com:peer0_apeerpw@ca.orgapeer.com:7054 -M /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp
fabric-ca-client enroll -d -u http://peer1.orgapeer.com:peer1_apeerpw@ca.orgapeer.com:7054 -M /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp
fabric-ca-client enroll -d -u http://admin-apeer:adminpw@ca.orgapeer.com:7054 -M /tmp/orgs/apeer/admin/msp

apeer 피어 tls 인증서 발급
fabric-ca-client enroll -d --enrollment.profile tls -u URL -M 발급경로 --csr.hosts 호스트명

fabric-ca-client enroll -d --enrollment.profile tls -u http://peer0.orgapeer.com:peer0_apeerpw@ca.orgapeer.com:7054 -M /tmp/orgs/apeer/peer0/tls --csr.hosts peer0.orgapeer.com
fabric-ca-client enroll -d --enrollment.profile tls -u http://peer1.orgapeer.com:peer1_apeerpw@ca.orgapeer.com:7054 -M /tmp/orgs/apeer/peer1/tls --csr.hosts peer1.orgapeer.com

발급받은 인증서들을 폴더 구조에 맞게 이동시킨다.


ca 인증서 복사

cp /etc/hyperledger/fabric-ca/ca-cert.pem /crypto-config/ca-certs/ca.orgapeer.com-cert.pem

apeer 피어 tls 인증서 복사

cp /tmp/orgs/apeer/peer0/tls/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/tls/server.crt
cp /tmp/orgs/apeer/peer0/tls/keystore/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/tls/server.key
cp /tmp/orgs/apeer/peer1/tls/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/tls/server.crt
cp /tmp/orgs/apeer/peer1/tls/keystore/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/tls/server.key

apeer 조직의 msp 인증서 복사

cp -r /tmp/orgs/apeer/msp /crypto-config/peerOrganizations/orgapeer.com/

apeer 피어 admin msp 인증서 복사

cp -r /tmp/orgs/apeer/admin/msp /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/

tlsca 인증서 복사

cp /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/cacerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/tlscacerts
cp /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/cacerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/tlscacerts
cp /crypto-config/peerOrganizations/orgapeer.com/msp/cacerts/* /crypto-config/peerOrganizations/orgapeer.com/msp/tlscacerts

admin 인증서 복사

cp /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/admincerts
cp /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/admincerts
cp /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/admincerts
cp /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/signcerts/* /crypto-config/peerOrganizations/orgapeer.com/msp/admincerts

msp key파일 이름 변경

mv /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/keystore/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer0.orgapeer.com/msp/keystore/server.key
mv /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/keystore/* /crypto-config/peerOrganizations/orgapeer.com/peers/peer1.orgapeer.com/msp/keystore/server.key
mv /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/keystore/* /crypto-config/peerOrganizations/orgapeer.com/users/Admin@orgapeer.com/msp/keystore/server.key

orderer 인증서 정보 가입

ca server에서 인증서를 발급받기 전에는 ca server에 발급받을 인증서 정보를 미리 가입을 진행해야 합니다.
인증서 정보 가입은 ca server 컨테이너 내부에서 진행합니다.
docker exec -it 컨테이너 이름 sh or bash 명령어를 사용하여 컨테이너 내부로 진입할 수 있습니다.

ca.orgorderer.com 컨테이너 내부 진입

docker exec -it ca.orgorderer.com bash

orderer ca server admin 인증서 발급 (인증서 정보 가입을 위한 권한 취득)

fabric-ca-client enroll -d -u http://admin:adminpw@ca.orgorderer.com:8054
orderer 조직 인증서 정보아이디패스워드
orderer0.orgorderer.comorderer0.orgorderer.comorderer0_pw
orderer1.orgorderer.comorderer1.orgorderer.comorderer1_pw
orderer2.orgorderer.comorderer2.orgorderer.comorderer2_pw
orderer adminadmin-ordereradminpw

orderer 피어 인증서 정보 가입
fabric-ca-client register -d --id.name 인증서 아이디 --id.secret 인증서 패스워드 --id.type 타입

fabric-ca-client register -d --id.name orderer0.orgorderer.com --id.secret orderer0_pw --id.type orderer
fabric-ca-client register -d --id.name orderer1.orgorderer.com --id.secret orderer1_pw --id.type orderer
fabric-ca-client register -d --id.name orderer2.orgorderer.com --id.secret orderer2_pw --id.type orderer

orderer admin 인증서 정보 가입

fabric-ca-client register -d --id.name admin-orderer --id.secret adminpw --id.attrs "admin=true:ecert"

orderer 인증서 발급

인증서 발급 또한 ca server 컨테이너 내부에서 진행합니다.
docker exec -it 컨테이너 이름 sh or bash 명령어를 사용하여 컨테이너 내부로 진입할 수 있습니다.
먼저 인증서 발급 이후 위 폴더 구조처럼 폴더를 정리합니다.

인증서 경로 폴더 생성

mkdir -p /crypto-config/ca-certs
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/tlscacerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/admincerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/tls
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/tlscacerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/admincerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/tls
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/tlscacerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/admincerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/tls
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/admincerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/msp/tlscacerts
mkdir -p /crypto-config/ordererOrganizations/orgorderer.com/msp/admincerts

orderer 조직의 msp 인증서 발급
fabric-ca-client getcacert -d -u URL -M 발급경로

fabric-ca-client getcacert -d -u http://admin:adminpw@ca.orgorderer.com:8054 -M /tmp/orgs/orderer/msp

orderer 피어,admin msp 인증서 발급
fabric-ca-client enroll -d -u URL -M 발급경로

fabric-ca-client enroll -d -u http://orderer0.orgorderer.com:orderer0_pw@ca.orgorderer.com:8054 -M /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp
fabric-ca-client enroll -d -u http://orderer1.orgorderer.com:orderer1_pw@ca.orgorderer.com:8054 -M /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp
fabric-ca-client enroll -d -u http://orderer2.orgorderer.com:orderer2_pw@ca.orgorderer.com:8054 -M /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp
fabric-ca-client enroll -d -u http://admin-orderer:adminpw@ca.orgorderer.com:8054 -M /tmp/orgs/orderer/admin/msp

orderer 피어 tls 인증서 발급
fabric-ca-client enroll -d --enrollment.profile tls -u URL -M 발급경로 --csr.hosts 호스트명

fabric-ca-client enroll -d --enrollment.profile tls -u http://orderer0.orgorderer.com:orderer0_pw@ca.orgorderer.com:8054 -M /tmp/orgs/orderer/orderer0/tls --csr.hosts orderer0.orgorderer.com
fabric-ca-client enroll -d --enrollment.profile tls -u http://orderer1.orgorderer.com:orderer1_pw@ca.orgorderer.com:8054 -M /tmp/orgs/orderer/orderer1/tls --csr.hosts orderer1.orgorderer.com
fabric-ca-client enroll -d --enrollment.profile tls -u http://orderer2.orgorderer.com:orderer2_pw@ca.orgorderer.com:8054 -M /tmp/orgs/orderer/orderer2/tls --csr.hosts orderer2.orgorderer.com

발급받은 인증서들을 폴더 구조에 맞게 이동시킨다.


ca 인증서 복사

cp /etc/hyperledger/fabric-ca/ca-cert.pem /crypto-config/ca-certs/ca.orgorderer.com-cert.pem

orderer 피어 tls 인증서 복사

cp /tmp/orgs/orderer/orderer0/tls/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/tls/server.crt
cp /tmp/orgs/orderer/orderer0/tls/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/tls/server.key
cp /tmp/orgs/orderer/orderer1/tls/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/tls/server.crt
cp /tmp/orgs/orderer/orderer1/tls/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/tls/server.key
cp /tmp/orgs/orderer/orderer2/tls/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/tls/server.crt
cp /tmp/orgs/orderer/orderer2/tls/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/tls/server.key

orderer 조직의 msp 인증서 복사

cp -r /tmp/orgs/orderer/msp /crypto-config/ordererOrganizations/orgorderer.com/

orderer 피어 admin msp 인증서 복사

cp -r /tmp/orgs/orderer/admin/msp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/

tlsca 인증서 복사

cp /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/cacerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/tlscacerts
cp /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/cacerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/tlscacerts
cp /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/cacerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/tlscacerts
cp /crypto-config/ordererOrganizations/orgorderer.com/msp/cacerts/* /crypto-config/ordererOrganizations/orgorderer.com/msp/tlscacerts

admin 인증서 복사

cp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/admincerts
cp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/admincerts
cp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/admincerts
cp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/admincerts
cp /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/signcerts/* /crypto-config/ordererOrganizations/orgorderer.com/msp/admincerts

msp key파일 이름 변경

mv /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer0.orgorderer.com/msp/keystore/server.key
mv /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer1.orgorderer.com/msp/keystore/server.key
mv /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/orderers/orderer2.orgorderer.com/msp/keystore/server.key
mv /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/keystore/* /crypto-config/ordererOrganizations/orgorderer.com/users/Admin@orgorderer.com/msp/keystore/server.key

정상적으로 인증서가 발급되었다면 아래와 같은 폴더 구조가 생성됩니다.

├── ca-certs
│   ├── ca.orgapeer.com-cert.pem
│   └── ca.orgorderer.com-cert.pem
├── ordererOrganizations
│   └── orgorderer.com
│       ├── msp
│       │   ├── IssuerPublicKey
│       │   ├── IssuerRevocationPublicKey
│       │   ├── admincerts
│       │   │   └── cert.pem
│       │   ├── cacerts
│       │   │   └── ca-orgorderer-com-8054.pem
│       │   ├── keystore
│       │   ├── signcerts
│       │   ├── tlscacerts
│       │   │   └── ca-orgorderer-com-8054.pem
│       │   └── user
│       ├── orderers
│       │   ├── orderer0.orgorderer.com
│       │   │   ├── msp
│       │   │   │   ├── IssuerPublicKey
│       │   │   │   ├── IssuerRevocationPublicKey
│       │   │   │   ├── admincerts
│       │   │   │   │   └── cert.pem
│       │   │   │   ├── cacerts
│       │   │   │   │   └── ca-orgorderer-com-8054.pem
│       │   │   │   ├── keystore
│       │   │   │   │   └── server.key
│       │   │   │   ├── signcerts
│       │   │   │   │   └── cert.pem
│       │   │   │   ├── tlscacerts
│       │   │   │   │   └── ca-orgorderer-com-8054.pem
│       │   │   │   └── user
│       │   │   └── tls
│       │   │       ├── server.crt
│       │   │       └── server.key
│       │   ├── orderer1.orgorderer.com
│       │   │   ├── msp
│       │   │   │   ├── IssuerPublicKey
│       │   │   │   ├── IssuerRevocationPublicKey
│       │   │   │   ├── admincerts
│       │   │   │   │   └── cert.pem
│       │   │   │   ├── cacerts
│       │   │   │   │   └── ca-orgorderer-com-8054.pem
│       │   │   │   ├── keystore
│       │   │   │   │   └── server.key
│       │   │   │   ├── signcerts
│       │   │   │   │   └── cert.pem
│       │   │   │   ├── tlscacerts
│       │   │   │   │   └── ca-orgorderer-com-8054.pem
│       │   │   │   └── user
│       │   │   └── tls
│       │   │       ├── server.crt
│       │   │       └── server.key
│       │   └── orderer2.orgorderer.com
│       │       ├── msp
│       │       │   ├── IssuerPublicKey
│       │       │   ├── IssuerRevocationPublicKey
│       │       │   ├── admincerts
│       │       │   │   └── cert.pem
│       │       │   ├── cacerts
│       │       │   │   └── ca-orgorderer-com-8054.pem
│       │       │   ├── keystore
│       │       │   │   └── server.key
│       │       │   ├── signcerts
│       │       │   │   └── cert.pem
│       │       │   ├── tlscacerts
│       │       │   │   └── ca-orgorderer-com-8054.pem
│       │       │   └── user
│       │       └── tls
│       │           ├── server.crt
│       │           └── server.key
│       └── users
│           └── Admin@orgorderer.com
│               └── msp
│                   ├── IssuerPublicKey
│                   ├── IssuerRevocationPublicKey
│                   ├── admincerts
│                   │   └── cert.pem
│                   ├── cacerts
│                   │   └── ca-orgorderer-com-8054.pem
│                   ├── keystore
│                   │   └── server.key
│                   ├── signcerts
│                   │   └── cert.pem
│                   └── user
└── peerOrganizations
    └── orgapeer.com
        ├── msp
        │   ├── IssuerPublicKey
        │   ├── IssuerRevocationPublicKey
        │   ├── admincerts
        │   │   └── cert.pem
        │   ├── cacerts
        │   │   └── ca-orgapeer-com-7054.pem
        │   ├── keystore
        │   ├── signcerts
        │   ├── tlscacerts
        │   │   └── ca-orgapeer-com-7054.pem
        │   └── user
        ├── peers
        │   ├── peer0.orgapeer.com
        │   │   ├── msp
        │   │   │   ├── IssuerPublicKey
        │   │   │   ├── IssuerRevocationPublicKey
        │   │   │   ├── admincerts
        │   │   │   │   └── cert.pem
        │   │   │   ├── cacerts
        │   │   │   │   └── ca-orgapeer-com-7054.pem
        │   │   │   ├── keystore
        │   │   │   │   └── server.key
        │   │   │   ├── signcerts
        │   │   │   │   └── cert.pem
        │   │   │   ├── tlscacerts
        │   │   │   │   └── ca-orgapeer-com-7054.pem
        │   │   │   └── user
        │   │   └── tls
        │   │       ├── server.crt
        │   │       └── server.key
        │   └── peer1.orgapeer.com
        │       ├── msp
        │       │   ├── IssuerPublicKey
        │       │   ├── IssuerRevocationPublicKey
        │       │   ├── admincerts
        │       │   │   └── cert.pem
        │       │   ├── cacerts
        │       │   │   └── ca-orgapeer-com-7054.pem
        │       │   ├── keystore
        │       │   │   └── server.key
        │       │   ├── signcerts
        │       │   │   └── cert.pem
        │       │   ├── tlscacerts
        │       │   │   └── ca-orgapeer-com-7054.pem
        │       │   └── user
        │       └── tls
        │           ├── server.crt
        │           └── server.key
        └── users
            └── Admin@orgapeer.com
                └── msp
                    ├── IssuerPublicKey
                    ├── IssuerRevocationPublicKey
                    ├── admincerts
                    │   └── cert.pem
                    ├── cacerts
                    │   └── ca-orgapeer-com-7054.pem
                    ├── keystore
                    │   └── server.key
                    ├── signcerts
                    │   └── cert.pem
                    └── user
   




이로써 Fabric ca 구축 및 인증서 발급을 완료하였습니다.
fabric 네트워크를 구축하기위한 channel, anchor peer 트렌젝션 및 genesis block 생성을 진행하겠습니다.

profile
삽질 일기장..

0개의 댓글