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

ljh·2021년 3월 18일
0

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개의 댓글

관련 채용 정보