Add v2.0.0
parent
1a144008ea
commit
511897a18e
|
@ -14,7 +14,8 @@ If you're not familiar with Docker and Blockchain, can have a look at these book
|
|||
Fabric Release | Description
|
||||
--- | ---
|
||||
[Fabric Latest](latest/) | latest fabric code, unstable.
|
||||
[Fabric v1.4.4](v1.4.4/) | stable fabric 1.4.4 release.
|
||||
[Fabric v2.0.0](v2.0.0/) | stable fabric 2.0.0 release.
|
||||
[Fabric v1.4.4](v1.4.4/) | stable fabric 1.4.4 LTS release.
|
||||
[Fabric v1.4.3](v1.4.3/) | stable fabric 1.4.3 release.
|
||||
[Fabric v1.4.2](v1.4.2/) | stable fabric 1.4.2 release.
|
||||
[Fabric v1.4.0](v1.4.0/) | stable fabric 1.4.0 release.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# for docker-compose usage
|
||||
FABRIC_IMG_TAG=latest
|
||||
EXT_IMG_TAG=0.4.15
|
||||
EXT_IMG_TAG=0.4.18
|
||||
NETWORK=hlf_net
|
|
@ -6,15 +6,18 @@
|
|||
# support advanced bash grammar
|
||||
SHELL:=/bin/bash
|
||||
|
||||
# mode of the network: solo, kafka
|
||||
# mode of the network: solo, kafka, raft
|
||||
HLF_MODE ?= raft
|
||||
|
||||
# mode of db: golevel, couchdb
|
||||
DB_MODE ?= golevel
|
||||
|
||||
# mode of dev
|
||||
DEV_MODE ?= non-dev
|
||||
|
||||
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
|
||||
|
||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml"
|
||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-raft.yaml"
|
||||
|
||||
LOG_PATH ?= solo/logs
|
||||
|
||||
|
@ -25,12 +28,17 @@ else ifeq ($(HLF_MODE),raft)
|
|||
endif
|
||||
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-$(HLF_MODE).yaml"
|
||||
|
||||
LOG_PATH=$(HLF_MODE)/logs
|
||||
|
||||
ifeq ($(DB_MODE),couchdb)
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
||||
endif
|
||||
|
||||
ifeq ($(DEV_MODE),dev)
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-dev.yaml"
|
||||
endif
|
||||
|
||||
all: test
|
||||
|
||||
test:
|
||||
|
|
|
@ -1,97 +0,0 @@
|
|||
# This is the development compose file to config env and command
|
||||
# Notice that chaincode is executed inside docker in default net mode
|
||||
# https://github.com/yeasy/docker-compose-files
|
||||
|
||||
# Depends on the yeasy/hyperledger-fabric image.
|
||||
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
orderer.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
||||
container_name: orderer.example.com
|
||||
hostname: orderer.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
environment:
|
||||
# Kafka related configurations
|
||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||
- ORDERER_KAFKA_VERBOSE=true
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# for solo case
|
||||
#- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
# for kafka case
|
||||
- ./kafka/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
||||
#command: bash -c 'orderer start'
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# solo mode configuration
|
||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
# kafka mode configuration
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 7051:7051
|
||||
- 7052:7052
|
||||
- 7053:7053
|
||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||
command: bash -c 'peer node start'
|
||||
#command: bash -c 'peer node start --peer-chaincodedev=true' # DEV mode
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-cli
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric
|
||||
#- /tmp/:/tmp/
|
||||
- ./scripts:/tmp/scripts
|
||||
# solo mode configuration
|
||||
#- ./solo/channel-artifacts:/tmp/channel-artifacts
|
||||
#- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
#- ./solo/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
#- ./solo/crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||
#- ./examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
||||
# kafka mode configuration
|
||||
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./kafka/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./kafka/crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||
- ./examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
@ -58,6 +58,13 @@ services:
|
|||
- "7050:7050"
|
||||
environment:
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||
#- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||
#- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||
#- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
#- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
|
|
|
@ -80,11 +80,13 @@ services:
|
|||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
||||
- CORE_CHIANCODE_LOGGING_LEVEL=DEBUG
|
||||
- CORE_CHIANCODE_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||
- CORE_CHIANCODE_BUILDER=hyperledger/fabric-ccenv:${FABRIC_IMG_TAG}
|
||||
- CORE_CHIANCODE_NODE_RUNTIME=hyperledger/fabric-nodeenv:${FABRIC_IMG_TAG}
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||
volumes:
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
expose:
|
||||
- "7051" # gRPC
|
||||
|
@ -102,7 +104,7 @@ services:
|
|||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{module}] %{shortfunc} -> %{level:.4s}%{color:reset} %{message}
|
||||
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
||||
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
|
||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
||||
|
||||
prometheus: # prometheus will pull metrics from fabric
|
||||
|
|
|
@ -25,6 +25,7 @@ OrdererOrgs:
|
|||
- Hostname: orderer0
|
||||
- Hostname: orderer1
|
||||
- Hostname: orderer2
|
||||
- Hostname: orderer3
|
||||
# ---------------------------------------------------------------------------
|
||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||
# ---------------------------------------------------------------------------
|
||||
|
@ -97,3 +98,15 @@ PeerOrgs:
|
|||
Count: 2
|
||||
Users:
|
||||
Count: 1
|
||||
|
||||
- Name: Org3
|
||||
Domain: org3.example.com
|
||||
EnableNodeOUs: true
|
||||
CA:
|
||||
Country: US
|
||||
Province: California
|
||||
Locality: San Francisco
|
||||
Template:
|
||||
Count: 2
|
||||
Users:
|
||||
Count: 1
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
||||
# This compose file will start a Hyperledger Fabric 1.4 in dev mode, including
|
||||
# It will map the $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric on peer0
|
||||
# * 2 ca (not in use now)
|
||||
# * 3 orderers
|
||||
# * 4 peers in 2 orgs
|
||||
# * cli for testing
|
||||
|
||||
version: '2.0'
|
||||
|
||||
services:
|
||||
# ca.org1.example.com:
|
||||
# extends:
|
||||
# file: base-raft.yaml
|
||||
# service: ca.org1.example.com
|
||||
|
||||
# ca.org2.example.com:
|
||||
# extends:
|
||||
# file: base-raft.yaml
|
||||
# service: ca.org2.example.com
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: cli
|
||||
|
||||
orderer0.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: orderer0.example.com
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||
|
||||
orderer1.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: orderer1.example.com
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||
|
||||
orderer2.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: orderer2.example.com
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer0.org1.example.com
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
command: /go/src/github.com/hyperledger/fabric/peer/peer node start
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer1.org1.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer0.org2.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer1.org2.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
#networks:
|
||||
# default:
|
||||
# external:
|
||||
# name: hyperledger_fabric
|
|
@ -1,7 +1,7 @@
|
|||
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
||||
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
|
||||
# This compose file will start a Hyperledger Fabric 2.0 MVE, including
|
||||
# * 2 ca (not in use now)
|
||||
# * 1 orderer
|
||||
# * 3 orderers
|
||||
# * 4 peers in 2 orgs
|
||||
# * cli for testing
|
||||
|
||||
|
@ -45,30 +45,34 @@ services:
|
|||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer1.org1.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer0.org2.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base-raft.yaml
|
||||
service: peer1.org2.example.com
|
||||
depends_on:
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer0.example.com
|
||||
- orderer1.example.com
|
||||
- orderer2.example.com
|
||||
|
||||
#networks:
|
||||
# default:
|
||||
|
|
|
@ -44,12 +44,12 @@ for IMG in base peer orderer ca; do
|
|||
pull_image "yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG" "true" &
|
||||
done
|
||||
|
||||
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG
|
||||
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG "true"
|
||||
|
||||
# pull_image yeasy/blockchain-explorer:0.1.0-preview # TODO: wait for official images
|
||||
echo "=== Pulling fabric core images ${FABRIC_IMG_TAG} from fabric repo... ==="
|
||||
for IMG in peer orderer ca ccenv tools baseos javaenv nodeenv; do
|
||||
pull_image hyperledger/fabric-${IMG}:$FABRIC_IMG_TAG &
|
||||
pull_image hyperledger/fabric-${IMG}:$FABRIC_IMG_TAG & # e.g., v2.0.0
|
||||
done
|
||||
|
||||
echo "=== Pulling base/3rd-party images with tag ${BASE_IMG_TAG} from fabric repo... ==="
|
||||
|
|
|
@ -344,8 +344,9 @@ channelUpdate() {
|
|||
sleep 2
|
||||
}
|
||||
|
||||
# Package and Install chaincode on the peer node
|
||||
# chaincodeInstall org peer peer_url peer_tls cc_name version path
|
||||
# Install chaincode on the peer node
|
||||
# In v2.x it will package, install and approve
|
||||
# chaincodeInstall peer cc_name version path [lang]
|
||||
chaincodeInstall () {
|
||||
if [ "$#" -ne 7 ]; then
|
||||
echo_r "Wrong param number for chaincode install"
|
||||
|
@ -498,7 +499,7 @@ chaincodeApproveForMyOrg () {
|
|||
--name ${name} \
|
||||
--version ${version} \
|
||||
--init-required \
|
||||
--package-id ${package_id} \
|
||||
--package-id ${package_id} \
|
||||
--sequence 1 \
|
||||
--signature-policy "${policy}" \
|
||||
--waitForEvent \
|
||||
|
|
|
@ -20,11 +20,11 @@ def decode_if_b64(raw):
|
|||
except binascii.Error:
|
||||
success = False
|
||||
|
||||
if success and False: # result_bytes = b'xxxx\xx'
|
||||
print('===================Start==================================')
|
||||
print(raw)
|
||||
print(result)
|
||||
print('=====================End===================================')
|
||||
#if success: # result_bytes = b'xxxx\xx'
|
||||
#print('===================Start==================================')
|
||||
#print(raw)
|
||||
#print(result)
|
||||
#print('=====================End===================================')
|
||||
return success, result
|
||||
|
||||
|
||||
|
@ -44,7 +44,7 @@ def check_tree(tree, prefix, f_write):
|
|||
else: # leaf
|
||||
result = v
|
||||
if 'cert' in k or 'id_bytes' in k or 'value' in k and 'hash' not in k:
|
||||
# print(prefix_path)
|
||||
#print(prefix_path)
|
||||
success, result = decode_if_b64(v)
|
||||
if success:
|
||||
result = "b64({})".format(result)
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
# Before running `make`, config this files
|
||||
# Define some global variables for usage. Will be included by func.sh.
|
||||
|
||||
ARCH=amd64
|
||||
# ARCH=amd64
|
||||
|
||||
# for the base images, including baseimage, couchdb, kafka, zookeeper
|
||||
BASE_IMG_TAG=0.4.16
|
||||
BASE_IMG_TAG=0.4.18
|
||||
|
||||
# For fabric images, including peer, orderer, ca
|
||||
FABRIC_IMG_TAG=latest
|
||||
|
|
|
@ -63,7 +63,7 @@ ready: # create/join channel, install/instantiate cc
|
|||
|
||||
make update_anchors
|
||||
|
||||
make cc_test # test_cc_install test_cc_approve test_cc_queryapprove test_cc_commit test_cc_querycommit test_cc_invoke_query
|
||||
make cc_test # test_cc_install test_cc_instantiate test_cc_invoke_query
|
||||
|
||||
make test_lscc # test lscc operations
|
||||
make test_qscc # test qscc operations
|
||||
|
|
|
@ -62,13 +62,12 @@ services:
|
|||
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||
- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||
- ORDERER_GENERAL_CLUSTER_LISTENPORT=7055
|
||||
- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||
- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
#- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls1
|
||||
- ./raft/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
|
@ -204,3 +203,4 @@ services:
|
|||
- ./raft/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./raft/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./examples:/go/src/examples
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
|
|
|
@ -86,11 +86,12 @@ services:
|
|||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||
volumes:
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
expose:
|
||||
- "7051" # gRPC
|
||||
- "9443" # Operation REST
|
||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||
command: peer node start
|
||||
|
||||
cli-base:
|
||||
|
|
|
@ -22,14 +22,18 @@ else
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# pull_image image_name <true|false (default)>
|
||||
pull_image() {
|
||||
IMG=$1
|
||||
#if [ -z "$(docker images -q ${IMG} 2> /dev/null)" ]; then # not exist
|
||||
# docker pull ${IMG}
|
||||
#else
|
||||
# echo "${IMG} already exist locally"
|
||||
#fi
|
||||
docker pull ${IMG}
|
||||
FORCED="false"
|
||||
if [ "$#" -eq 2 ]; then
|
||||
FORCED=$2
|
||||
fi
|
||||
if [ ! -z "$(docker images -q ${IMG} 2> /dev/null)" ] && [ "$FORCED" != "true" ]; then # existed and not forced to update
|
||||
echo "${IMG} already exists and not forced to update "
|
||||
else
|
||||
docker pull ${IMG}
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Downloading images from DockerHub... need a while"
|
||||
|
@ -37,7 +41,7 @@ echo "Downloading images from DockerHub... need a while"
|
|||
# TODO: we may need some checking on pulling result?
|
||||
echo "=== Pulling yeasy/hyperledger-fabric-* images with tag ${FABRIC_IMG_TAG}... ==="
|
||||
for IMG in base peer orderer ca; do
|
||||
pull_image yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG &
|
||||
pull_image "yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG" "true" &
|
||||
done
|
||||
|
||||
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG
|
||||
|
|
|
@ -553,8 +553,8 @@ chaincodeCommit () {
|
|||
}
|
||||
|
||||
# Query the Commit the chaincode definition
|
||||
# chaincodeQueryCommit channel org peer name version
|
||||
chaincodeQueryCommit () {
|
||||
# chaincodeQueryCommitted org peer peer_url peer_tls_root_cert channel cc_name
|
||||
chaincodeQueryCommitted () {
|
||||
if [ "$#" -ne 6 ]; then
|
||||
echo_r "Wrong param number for chaincode querycommit"
|
||||
exit -1
|
||||
|
|
|
@ -59,7 +59,7 @@ def check_tree(tree, prefix, f_write):
|
|||
if 'metadata' not in prefix_path:
|
||||
success, result = decode_if_b64(v)
|
||||
if success:
|
||||
#print(prefix_path)
|
||||
# print(prefix_path)
|
||||
result = "b64({})".format(result)
|
||||
f_write.write("{}={}\n".format(prefix_path, result))
|
||||
else: # json only allow dict or list structure
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# for docker-compose usage
|
||||
FABRIC_IMG_TAG=2.0.0
|
||||
EXT_IMG_TAG=0.4.18
|
||||
NETWORK=hlf_net
|
|
@ -0,0 +1,95 @@
|
|||
---
|
||||
version: '2.0'
|
||||
services:
|
||||
orderer.example.com: # orderer in solo mode
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer.example.com
|
||||
hostname: orderer.example.com
|
||||
expose:
|
||||
- '7050'
|
||||
volumes:
|
||||
- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls:/var/hyperledger/orderer/tls
|
||||
peer0.org1.example.com: # peer node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org1.example.com # will generated automatically
|
||||
hostname: peer0.org1.example.com # will generated automatically
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
expose:
|
||||
- 7051
|
||||
- 7052
|
||||
- 7053
|
||||
peer1.org1.example.com: # peer node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org1.example.com # will generated automatically
|
||||
hostname: peer1.org1.example.com # will generated automatically
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
expose:
|
||||
- 7051
|
||||
- 7052
|
||||
- 7053
|
||||
peer0.org2.example.com: # peer node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org2.example.com # will generated automatically
|
||||
hostname: peer0.org2.example.com # will generated automatically
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
expose:
|
||||
- 7051
|
||||
- 7052
|
||||
- 7053
|
||||
peer1.org2.example.com: # peer node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org2.example.com # will generated automatically
|
||||
hostname: peer1.org2.example.com # will generated automatically
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
expose:
|
||||
- 7051
|
||||
- 7052
|
||||
- 7053
|
|
@ -0,0 +1,316 @@
|
|||
# Makefile to bootup the network, and do testing with channel, chaincode
|
||||
# Run `make test` will pass all testing cases, and delete the network
|
||||
# Run `make ready` will create a network, pass testing cases, and stand there for manual test, e.g., make test_channel_list
|
||||
|
||||
|
||||
# support advanced bash grammar
|
||||
SHELL:=/bin/bash
|
||||
|
||||
# mode of the network: solo, kafka, raft
|
||||
HLF_MODE ?= raft
|
||||
|
||||
# mode of db: golevel, couchdb
|
||||
DB_MODE ?= golevel
|
||||
|
||||
# mode of dev
|
||||
DEV_MODE ?= non-dev
|
||||
|
||||
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
|
||||
|
||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-raft.yaml"
|
||||
|
||||
LOG_PATH ?= solo/logs
|
||||
|
||||
ifeq ($(HLF_MODE),kafka)
|
||||
NETWORK_INIT_WAIT=30
|
||||
else ifeq ($(HLF_MODE),raft)
|
||||
NETWORK_INIT_WAIT=5
|
||||
endif
|
||||
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-$(HLF_MODE).yaml"
|
||||
|
||||
LOG_PATH=$(HLF_MODE)/logs
|
||||
|
||||
ifeq ($(DB_MODE),couchdb)
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
||||
endif
|
||||
|
||||
ifeq ($(DEV_MODE),dev)
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-dev.yaml"
|
||||
endif
|
||||
|
||||
all: test
|
||||
|
||||
test:
|
||||
@echo "Run test with $(COMPOSE_FILE)"
|
||||
@echo "Please make sure u have setup Docker and pulled images by 'make setup download'."
|
||||
make ready # Run all testing till ready
|
||||
|
||||
make stop clean
|
||||
|
||||
ready: # create/join channel, install/instantiate cc
|
||||
make stop
|
||||
|
||||
# make clean_config_channel # Remove existing channel artifacts
|
||||
make gen_config_crypto # Will ignore if local config path exists
|
||||
make gen_config_channel # Will ignore if local config path exists
|
||||
|
||||
make start
|
||||
|
||||
sleep ${NETWORK_INIT_WAIT}
|
||||
|
||||
make channel_test
|
||||
|
||||
make update_anchors
|
||||
|
||||
make cc_test # test_cc_install test_cc_approveformyorg test_cc_checkcommitreadiness test_cc_commit test_cc_querycommitted test_cc_invoke_query
|
||||
|
||||
# make test_lscc # test lscc operations, in v2.0, legacy lscc won't work
|
||||
make test_qscc # test qscc operations
|
||||
make test_cscc # test cscc operations
|
||||
|
||||
make test_fetch_blocks # fetch block files
|
||||
|
||||
make test_config_update
|
||||
make test_channel_update
|
||||
|
||||
make test_fetch_blocks # fetch block files again
|
||||
make test_configtxlator
|
||||
|
||||
make test_channel_list
|
||||
make test_channel_getinfo
|
||||
|
||||
make logs_save
|
||||
|
||||
@echo "Now the fabric network is ready to play"
|
||||
@echo "* run 'make cli' to enter into the fabric-cli container."
|
||||
@echo "* run 'make stop' when done."
|
||||
|
||||
# channel related operations
|
||||
channel_test: test_channel_create test_channel_join test_channel_list test_channel_getinfo
|
||||
|
||||
# chaincode related operations
|
||||
cc_test: test_cc_install test_cc_queryinstalled test_cc_approveformyorg test_cc_checkcommitreadiness test_cc_commit test_cc_querycommitted test_cc_invoke_query
|
||||
|
||||
restart: stop start
|
||||
|
||||
start: # bootup the fabric network
|
||||
@echo "Start a fabric network with ${COMPOSE_FILE}..."
|
||||
@make clean
|
||||
@echo "Make sure the local hlf_net docker bridge exists"
|
||||
docker network ls|grep hlf_net > /dev/null || docker network create hlf_net
|
||||
@docker-compose -f ${COMPOSE_FILE} up -d # Start a fabric network
|
||||
|
||||
stop: # stop the fabric network
|
||||
@echo "Stop the fabric network with ${COMPOSE_FILE}..."
|
||||
@docker-compose -f ${COMPOSE_FILE} down >& /tmp/docker-compose.log
|
||||
|
||||
chaincode_dev: restart chaincode_init test_cc_peer0 stop
|
||||
|
||||
################## Channel testing operations ################
|
||||
|
||||
test_channel_list: # List the channel that peer joined
|
||||
@echo "List the joined channels"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_list.sh"
|
||||
|
||||
test_channel_getinfo: # Get info of a channel
|
||||
@echo "Get info of the app channel"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_getinfo.sh"
|
||||
|
||||
test_channel_create: # Init the channel
|
||||
@echo "Create channel on the fabric network"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_create.sh"
|
||||
|
||||
test_channel_join: # Init the channel
|
||||
@echo "Join channel"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_join.sh"
|
||||
|
||||
update_anchors: # Update the anchor peer
|
||||
@echo "Update anchors on the fabric network"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_update_anchors.sh"
|
||||
|
||||
test_channel_update: # send the channel update transaction
|
||||
@echo "Test channel update with adding new org"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_update.sh"
|
||||
|
||||
################## Configtxlator testing operations ################
|
||||
test_configtxlator: # Test change config using configtxlator
|
||||
@echo "Testing decoding and encoding with configtxlator"
|
||||
bash scripts/test_configtxlator.sh ${HLF_MODE}
|
||||
@echo "Flattening the json files of all blocks"
|
||||
python3 scripts/json_flatter.py ${HLF_MODE}/channel-artifacts/
|
||||
|
||||
test_config_update: # Test change config to add new org
|
||||
bash scripts/test_config_update.sh ${HLF_MODE}
|
||||
|
||||
################## Chaincode testing operations ################
|
||||
test_cc: # test chaincode, deprecated
|
||||
if [ "$(HLF_MODE)" = "dev" ]; then \
|
||||
make test_cc_peer0; \
|
||||
else \
|
||||
make test_cc_invoke_query; \
|
||||
fi
|
||||
|
||||
test_cc_install: # Install the chaincode
|
||||
@echo "Install chaincode to all peers"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_install.sh"
|
||||
|
||||
test_cc_queryinstalled: # Query the installed chaincodes
|
||||
@echo "Query the installed chaincode"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_queryinstalled.sh"
|
||||
|
||||
test_cc_getinstalled: # Get the installed chaincodes package
|
||||
@echo "Get the installed chaincode package"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_getinstalled.sh"
|
||||
|
||||
test_cc_approveformyorg: # Approve the chaincode definition
|
||||
@echo "Approve the chaincode by all orgs"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_approveformyorg.sh"
|
||||
|
||||
test_cc_checkcommitreadiness: # Query the approval status of chaincode
|
||||
@echo "Query the chaincode approval status by all orgs"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_checkcommitreadiness.sh"
|
||||
|
||||
test_cc_commit: # Commit the chaincode definition
|
||||
@echo "Commit the chaincode by any org"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_commit.sh"
|
||||
|
||||
test_cc_querycommitted: # Query the commit status of the chaincode definition
|
||||
@echo "Query the commit status of chaincode"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_querycommitted.sh"
|
||||
|
||||
test_cc_instantiate: # Instantiate the chaincode
|
||||
@echo "Instantiate chaincode on the fabric network"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_instantiate.sh"
|
||||
|
||||
test_cc_upgrade: # Upgrade the chaincode
|
||||
@echo "Upgrade chaincode on the fabric network"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_upgrade.sh"
|
||||
|
||||
test_cc_list: # List the chaincode
|
||||
@echo "List chaincode information (installed and instantited)"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_list.sh"
|
||||
|
||||
test_cc_invoke_query: # test user chaincode on all peers
|
||||
@echo "Invoke and query cc example02 on all peers"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_invoke_query.sh"
|
||||
|
||||
test_cscc: # test cscc queries
|
||||
@echo "Test CSCC query"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cscc.sh"
|
||||
|
||||
test_qscc: # test qscc queries
|
||||
@echo "Test QSCC query"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_qscc.sh"
|
||||
|
||||
test_lscc: # test lscc quries
|
||||
@echo "Test LSCC query"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_lscc.sh"
|
||||
|
||||
# FIXME: docker doesn't support wildcard in cp right now
|
||||
test_fetch_blocks: # test fetching channel blocks fetch
|
||||
@echo "Test fetching block files"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch_blocks.sh"
|
||||
|
||||
test_eventsclient: # test get event notification in a loop
|
||||
@echo "Test fetching event notification"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/start_eventsclient.sh"
|
||||
|
||||
test_sidedb: # test sideDB/private data feature
|
||||
@echo "Test sideDB"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_sideDB.sh"
|
||||
|
||||
temp: # test temp instructions, used for experiment
|
||||
@echo "Test experimental instructions"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_temp.sh"
|
||||
|
||||
################## Env setup related, no need to see usually ################
|
||||
|
||||
setup: # setup the environment
|
||||
bash scripts/env_setup.sh # Installing Docker and Docker-Compose
|
||||
|
||||
check: # Check shell scripts grammar
|
||||
@echo "Check shell scripts grammar"
|
||||
[ `which shellcheck` ] && shellcheck scripts/*.sh
|
||||
|
||||
clean: # clean up containers and chaincode images
|
||||
@echo "Clean all HLF containers and chaincode images"
|
||||
@-docker ps -a | awk '{ print $$1,$$2 }' | grep "hyperledger/fabric" | awk '{ print $$1 }' | xargs -r -I {} docker rm -f {}
|
||||
@-docker ps -a | awk '$$2 ~ /dev-peer/ { print $$1 }' | xargs -r -I {} docker rm -f {}
|
||||
@-docker images | awk '$$1 ~ /dev-peer/ { print $$3 }' | xargs -r -I {} docker rmi -f {}
|
||||
echo "May clean the config: HLF_MODE=${HLF_MODE} make clean_config_channel"
|
||||
|
||||
# Clean deeply by removing all generated files: container, artifacts, credentials
|
||||
purge: clean
|
||||
HLF_MODE=solo make clean_config_channel
|
||||
HLF_MODE=kafka make clean_config_channel
|
||||
HLF_MODE=raft make clean_config_channel
|
||||
make clean_config_crypto
|
||||
|
||||
env_clean: # clean up Docker environment
|
||||
@echo "Clean all images and containers"
|
||||
bash scripts/env_clean.sh
|
||||
|
||||
cli: # enter the cli container
|
||||
docker exec -it fabric-cli bash
|
||||
|
||||
orderer: orderer0
|
||||
|
||||
orderer0: # enter the orderer0 container
|
||||
docker exec -it orderer0.example.com bash
|
||||
|
||||
orderer1: # enter the orderer0 container
|
||||
docker exec -it orderer1.example.com bash
|
||||
|
||||
peer: peer0
|
||||
|
||||
peer0: # enter the peer container
|
||||
docker exec -it peer0.org1.example.com bash
|
||||
|
||||
peer1: # enter the peer container
|
||||
docker exec -it peer1.org1.example.com bash
|
||||
|
||||
ps: # show existing docker images
|
||||
docker ps -a
|
||||
|
||||
logs: # show logs
|
||||
docker-compose -f ${COMPOSE_FILE} logs -f --tail 200
|
||||
|
||||
logs_check: logs_save logs_view
|
||||
|
||||
logs_save: # save logs
|
||||
@echo "All tests done, saving logs locally"
|
||||
[ -d $(LOG_PATH) ] || mkdir -p $(LOG_PATH)
|
||||
docker logs peer0.org1.example.com >& $(LOG_PATH)/dev_peer0.log
|
||||
docker logs orderer0.example.com >& $(LOG_PATH)/dev_orderer.log
|
||||
docker-compose -f ${COMPOSE_FILE} logs >& $(LOG_PATH)/dev_all.log
|
||||
|
||||
logs_view: # view logs
|
||||
less $(LOG_PATH)/dev_peer.log
|
||||
|
||||
elk: # insert logs into elk
|
||||
# curl -XDELETE http://localhost:9200/logstash-\*
|
||||
nc localhost 5000 < $(LOG_PATH)/dev_all.log
|
||||
|
||||
gen_config_crypto: # generate crypto config
|
||||
bash scripts/gen_config_crypto.sh
|
||||
|
||||
gen_config_channel: # generate channel artifacts
|
||||
bash scripts/gen_config_channel.sh ${HLF_MODE}
|
||||
|
||||
clean_config_channel: # clean channel related artifacts
|
||||
rm -rf ${HLF_MODE}/channel-artifacts/*
|
||||
|
||||
clean_config_crypto: # clean config artifacts
|
||||
echo "Warning: Cleaning credentials will affect artifacts in solo/kafka/raft mode"
|
||||
rm -rf crypto-config/*
|
||||
rm -rf org3/crypto-config/*
|
||||
|
||||
download: # download required images
|
||||
@echo "Download Docker images"
|
||||
bash scripts/download_images.sh
|
||||
|
||||
################## chaincode dev mode ################
|
||||
chaincode_init: # start chaincode in dev mode and do install/instantiate
|
||||
@echo "Install and instantiate cc example02 on the fabric dev network"
|
||||
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/init_chaincode_dev.sh"
|
|
@ -0,0 +1,78 @@
|
|||
# All elements in this file should depend on the base-solo.yaml
|
||||
# Provided solo-base fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
# orderer.example.com
|
||||
# peer0.org1.example.com
|
||||
# peer1.org1.example.com
|
||||
# peer0.org2.example.com
|
||||
# peer1.org2.example.com
|
||||
# cli
|
||||
|
||||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com: # ca node for org1
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=false
|
||||
|
||||
ca.org2.example.com: # ca node for org1
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=false
|
||||
|
||||
orderer.example.com: # orderer node for example org
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: orderer.example.com
|
||||
environment:
|
||||
- ORDERER_GENERAL_TLS_ENABLED=false
|
||||
|
||||
cli: # client node
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: cli
|
||||
environment:
|
||||
#- GOPATH=/opt/gopath
|
||||
- CORE_PEER_TLS_ENABLED=false # to enable TLS, change to false
|
||||
|
||||
## following are peer nodes ##
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_TLS_ENABLED=false
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: peer1.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_TLS_ENABLED=false
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: peer0.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_TLS_ENABLED=false
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: peer1.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_TLS_ENABLED=false
|
||||
|
||||
event-listener:
|
||||
extends:
|
||||
file: base-solo.yaml
|
||||
service: event-listener
|
|
@ -0,0 +1,276 @@
|
|||
# All elements in this file should depend on the base.yaml
|
||||
# Provided a Kafka enabled fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
# orderer0.example.com
|
||||
# orderer1.example.com
|
||||
# peer0.org1.example.com
|
||||
# peer1.org1.example.com
|
||||
# peer0.org2.example.com
|
||||
# peer1.org2.example.com
|
||||
# 3 zookeeper nodes
|
||||
# 4 kafka nodes
|
||||
# cli
|
||||
|
||||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org1.example.com
|
||||
hostname: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||
ports:
|
||||
- "7054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||
|
||||
ca.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org2.example.com
|
||||
hostname: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||
ports:
|
||||
- "8054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||
|
||||
orderer0.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer0.example.com
|
||||
hostname: orderer0.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
environment:
|
||||
# Kafka related configurations
|
||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||
- ORDERER_KAFKA_VERBOSE=true
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./kafka/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
orderer1.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer1.example.com
|
||||
hostname: orderer1.example.com
|
||||
ports:
|
||||
- "8050:7050"
|
||||
environment:
|
||||
# Kafka related configurations
|
||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||
- ORDERER_KAFKA_VERBOSE=true
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./kafka/channel-artifacts/orderer1.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-cli
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
- ./scripts:/tmp/scripts
|
||||
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./examples:/opt/gopath/src/examples
|
||||
|
||||
## following are peer nodes ##
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 7051:7051
|
||||
- 7052:7052
|
||||
- 7053:7053
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org1.example.com
|
||||
hostname: peer1.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 8051:7051
|
||||
- 8052:7052
|
||||
- 8053:7053
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org2.example.com
|
||||
hostname: peer0.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 9051:7051
|
||||
- 9052:7052
|
||||
- 9053:7053
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org2.example.com
|
||||
hostname: peer1.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 10051:7051
|
||||
- 10052:7052
|
||||
- 10053:7053
|
||||
|
||||
|
||||
# ZooKeeper services, at least 3 nodes
|
||||
zookeeper0:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper0
|
||||
hostname: zookeeper0
|
||||
environment:
|
||||
- ZOO_MY_ID=1
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
zookeeper1:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper1
|
||||
hostname: zookeeper1
|
||||
environment:
|
||||
- ZOO_MY_ID=2
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
zookeeper2:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper2
|
||||
hostname: zookeeper2
|
||||
environment:
|
||||
- ZOO_MY_ID=3
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
||||
kafka0:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka0
|
||||
hostname: kafka0
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=0
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka1:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka1
|
||||
hostname: kafka1
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=1
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka2:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka2
|
||||
hostname: kafka2
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=2
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka3:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka3
|
||||
hostname: kafka3
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=3
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
@ -0,0 +1,206 @@
|
|||
# All elements in this file should depend on the base.yaml
|
||||
# Provided a Kafka enabled fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
# orderer0.example.com
|
||||
# orderer1.example.com
|
||||
# peer0.org1.example.com
|
||||
# peer1.org1.example.com
|
||||
# peer0.org2.example.com
|
||||
# peer1.org2.example.com
|
||||
# 3 zookeeper nodes
|
||||
# 4 raft nodes
|
||||
# cli
|
||||
|
||||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org1.example.com
|
||||
hostname: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||
ports:
|
||||
- "7054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||
|
||||
ca.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org2.example.com
|
||||
hostname: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||
ports:
|
||||
- "8054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||
|
||||
orderer0.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer0.example.com
|
||||
hostname: orderer0.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
environment:
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||
#- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||
#- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||
#- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
#- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./raft/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
orderer1.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer1.example.com
|
||||
hostname: orderer1.example.com
|
||||
ports:
|
||||
- "8050:7050"
|
||||
environment:
|
||||
- ORDERER_GENERAL_CLUSTER_SENDBUFFERSIZE=10
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./raft/channel-artifacts/orderer1.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
orderer2.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer2.example.com
|
||||
hostname: orderer2.example.com
|
||||
ports:
|
||||
- "9050:7050"
|
||||
environment:
|
||||
- ORDERER_GENERAL_CLUSTER_SENDBUFFERSIZE=10
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./raft/channel-artifacts/orderer2.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
command: orderer start
|
||||
|
||||
## following are peer nodes ##
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 7051:7051
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org1.example.com
|
||||
hostname: peer1.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 8051:7051
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org2.example.com
|
||||
hostname: peer0.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 9051:7051
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org2.example.com
|
||||
hostname: peer1.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 10051:7051
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-cli
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
- ./scripts:/tmp/scripts
|
||||
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||
- ./raft/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./raft/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./examples:/go/src/examples
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
@ -0,0 +1,190 @@
|
|||
# All elements in this file should depend on the base.yaml
|
||||
# Provided solo-base fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
# orderer.example.com
|
||||
# peer0.org1.example.com
|
||||
# peer1.org1.example.com
|
||||
# peer0.org2.example.com
|
||||
# peer1.org2.example.com
|
||||
# cli
|
||||
|
||||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com: # ca node for org1
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org1.example.com
|
||||
hostname: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||
ports:
|
||||
- "7054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||
|
||||
ca.org2.example.com: # ca node for org2
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org2.example.com
|
||||
hostname: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||
ports:
|
||||
- "8054:7054"
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||
|
||||
orderer0.example.com: # orderer in solo mode
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer0.example.com
|
||||
hostname: orderer0.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
- "8443:8443"
|
||||
volumes:
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
- ./solo/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
|
||||
## following are peer nodes ##
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: peer.yaml
|
||||
service: peer-solo
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- "7051:7051"
|
||||
- "7052:7052"
|
||||
- "7053:7053"
|
||||
- "9443:9443"
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: peer.yaml
|
||||
service: peer-solo
|
||||
container_name: peer1.org1.example.com
|
||||
hostname: peer1.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- "8051:7051"
|
||||
- "8052:7052"
|
||||
- "8053:7053"
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: peer.yaml
|
||||
service: peer-solo
|
||||
container_name: peer0.org2.example.com
|
||||
hostname: peer0.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- "9051:7051"
|
||||
- "9052:7052"
|
||||
- "9053:7053"
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: peer.yaml
|
||||
service: peer-solo
|
||||
container_name: peer1.org2.example.com
|
||||
hostname: peer1.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- "10051:7051"
|
||||
- "10052:7052"
|
||||
- "10053:7053"
|
||||
|
||||
peer0.org3.example.com:
|
||||
extends:
|
||||
file: peer.yaml
|
||||
service: peer-solo
|
||||
container_name: peer0.org3.example.com
|
||||
hostname: peer0.org3.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org3.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org3.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org3.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:7051
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org3.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org3MSP
|
||||
volumes:
|
||||
- ./crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- "11051:7051"
|
||||
- "11052:7052"
|
||||
- "11053:7053"
|
||||
|
||||
cli: # client node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
volumes:
|
||||
- ./scripts:/tmp/scripts
|
||||
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||
- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./solo/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./examples:/opt/gopath/src/examples
|
||||
|
||||
prometheus: # prometheus will pull metrics from fabric
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: prometheus
|
||||
container_name: prometheus
|
||||
hostname: prometheus
|
||||
ports:
|
||||
- "9090:9090"
|
|
@ -0,0 +1,165 @@
|
|||
# Contains the base template for all Hyperledger Fabric services
|
||||
# Never directly use services in this template, but inherent
|
||||
# All services are abstract without any names, config or port mapping
|
||||
# https://github.com/yeasy/docker-compose-files
|
||||
#
|
||||
# * ca-base: base for fabric-ca
|
||||
# * orderer-base: base for fabric-orderer
|
||||
# * peer-base: base for fabric-peer
|
||||
# * cli-base: base for fabric peer client
|
||||
# * event-listener-base: base for fabric eventhub listener
|
||||
# * kafka-base: base for kafka
|
||||
# * zookeeper-base: base for fabric-zookeeper
|
||||
# * couchdb-base: base for couchdb
|
||||
# * explorer-base: base for Hyperledger blockchain-explorer
|
||||
# * mysql-base: base for MySQL
|
||||
|
||||
version: '2' # compose v3 still doesn't support `extends`, shame!
|
||||
|
||||
services:
|
||||
ca-base:
|
||||
image: yeasy/hyperledger-fabric-ca:${FABRIC_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
environment:
|
||||
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=true # change to false to disable TLS
|
||||
|
||||
orderer-base:
|
||||
image: yeasy/hyperledger-fabric-orderer:${FABRIC_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
# Default config can be found at https://github.com/hyperledger/fabric/blob/master/orderer/common/localconfig/config.go
|
||||
environment:
|
||||
- FABRIC_LOGGING_SPEC=INFO # default: INFO
|
||||
- FABRIC_LOGGING_FORMAT="%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}"
|
||||
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 # default: 127.0.0.1
|
||||
- ORDERER_GENERAL_LISTENPORT=7050
|
||||
- ORDERER_GENERAL_GENESISMETHOD=file # default: provisional
|
||||
- ORDERER_GENERAL_BOOTSTRAPFILE=/var/hyperledger/orderer/orderer.genesis.block
|
||||
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP # default: DEFAULT
|
||||
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
|
||||
- ORDERER_GENERAL_LEDGERTYPE=file
|
||||
#- ORDERER_GENERAL_LEDGERTYPE=json # default: file
|
||||
- ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 # operation RESTful API
|
||||
- ORDERER_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API
|
||||
#- ORDERER_RAMLEDGER_HISTORY_SIZE=100 #only useful when use ram ledger
|
||||
# enabled TLS
|
||||
- ORDERER_GENERAL_TLS_ENABLED=true # default: false
|
||||
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||
# Only required by raft mode
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||
#volumes:
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
expose:
|
||||
- "7050" # gRPC
|
||||
- "8443" # Operation REST
|
||||
#command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
||||
command: orderer start
|
||||
|
||||
peer-base: # abstract base for fabric-peer, will be used in peer.yaml
|
||||
image: yeasy/hyperledger-fabric-peer:${FABRIC_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
environment:
|
||||
- FABRIC_LOGGING_SPEC=INFO
|
||||
- FABRIC_LOGGING_FORMAT="%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}"
|
||||
- CORE_PEER_ADDRESSAUTODETECT=false
|
||||
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${NETWORK} # uncomment this to use specific network
|
||||
- CORE_PEER_GOSSIP_USELEADERELECTION=true
|
||||
- CORE_PEER_GOSSIP_ORGLEADER=false # whether this node is the org leader, default to false
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=0.0.0.0:7051 # change to external addr for peers in other orgs
|
||||
- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9443 # operation RESTful API
|
||||
- CORE_METRICS_PROVIDER=prometheus # prometheus will pull metrics from fabric via /metrics RESTful API
|
||||
- CORE_PEER_PROFILE_ENABLED=false
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
||||
- CORE_CHIANCODE_BUILDER=hyperledger/fabric-ccenv:${FABRIC_IMG_TAG}
|
||||
- CORE_CHIANCODE_NODE_RUNTIME=hyperledger/fabric-nodeenv:${FABRIC_IMG_TAG}
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||
volumes:
|
||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
expose:
|
||||
- "7051" # gRPC
|
||||
- "9443" # Operation REST
|
||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||
command: peer node start
|
||||
|
||||
cli-base:
|
||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
tty: true
|
||||
environment:
|
||||
- FABRIC_LOGGING_SPEC=DEBUG
|
||||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{module}] %{shortfunc} -> %{level:.4s}%{color:reset} %{message}
|
||||
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
||||
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
||||
|
||||
prometheus: # prometheus will pull metrics from fabric
|
||||
image: prom/prometheus:v2.6.0
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
tty: true
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
|
||||
zookeeper-base:
|
||||
image: hyperledger/fabric-zookeeper:${EXT_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
tty: true
|
||||
expose:
|
||||
- '2181'
|
||||
- '2888'
|
||||
- '3888'
|
||||
|
||||
kafka-base:
|
||||
# official repo doesn't have 1.1.0-alpha tag, however, kafka changes version recently
|
||||
#image: yeasy/hyperledger-fabric-kafka:0.10.2.0
|
||||
image: hyperledger/fabric-kafka:${EXT_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
tty: true
|
||||
environment:
|
||||
- KAFKA_MESSAGE_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
||||
- KAFKA_REPLICA_FETCH_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
||||
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
|
||||
- KAFKA_LOG_RETENTION_MS=-1
|
||||
expose:
|
||||
- '9092'
|
||||
|
||||
couchdb-base:
|
||||
image: hyperledger/fabric-couchdb:${EXT_IMG_TAG}
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
tty: true
|
||||
|
||||
explorer-base:
|
||||
image: yeasy/blockchain-explorer:0.1.0-preview # Till we have official image
|
||||
expose:
|
||||
- "8080" # HTTP port
|
||||
command: bash -c 'sleep 10; node main.js'
|
||||
|
||||
mysql-base: # mysql service
|
||||
image: mysql:8.0
|
||||
restart: always
|
||||
network_mode: ${NETWORK}
|
||||
expose:
|
||||
- "3306"
|
||||
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: ${NETWORK}
|
|
@ -0,0 +1,112 @@
|
|||
# Copyright IBM Corp. All Rights Reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# "OrdererOrgs" - Definition of organizations managing orderer nodes
|
||||
# ---------------------------------------------------------------------------
|
||||
OrdererOrgs:
|
||||
# ---------------------------------------------------------------------------
|
||||
# Orderer
|
||||
# ---------------------------------------------------------------------------
|
||||
- Name: Orderer
|
||||
Domain: example.com
|
||||
CA:
|
||||
Country: US
|
||||
Province: California
|
||||
Locality: San Francisco
|
||||
# Template:
|
||||
# Count: 2
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Specs" - See OrdererOrgs below for complete description
|
||||
# ---------------------------------------------------------------------------
|
||||
Specs:
|
||||
- Hostname: orderer0
|
||||
- Hostname: orderer1
|
||||
- Hostname: orderer2
|
||||
- Hostname: orderer3
|
||||
# ---------------------------------------------------------------------------
|
||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||
# ---------------------------------------------------------------------------
|
||||
PeerOrgs:
|
||||
# ---------------------------------------------------------------------------
|
||||
# Org1
|
||||
# ---------------------------------------------------------------------------
|
||||
- Name: Org1
|
||||
Domain: org1.example.com
|
||||
EnableNodeOUs: true
|
||||
CA:
|
||||
Country: US
|
||||
Province: California
|
||||
Locality: San Francisco
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Specs"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Uncomment this section to enable the explicit definition of hosts in your
|
||||
# configuration. Most users will want to use Template, below
|
||||
#
|
||||
# Specs is an array of Spec entries. Each Spec entry consists of two fields:
|
||||
# - Hostname: (Required) The desired hostname, sans the domain.
|
||||
# - CommonName: (Optional) Specifies the template or explicit override for
|
||||
# the CN. By default, this is the template:
|
||||
#
|
||||
# "{{.Hostname}}.{{.Domain}}"
|
||||
#
|
||||
# which obtains its values from the Spec.Hostname and
|
||||
# Org.Domain, respectively.
|
||||
# ---------------------------------------------------------------------------
|
||||
# Specs:
|
||||
# - Hostname: foo # implicitly "foo.org1.example.com"
|
||||
# CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
|
||||
# - Hostname: bar
|
||||
# - Hostname: baz
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Template"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Allows for the definition of 1 or more hosts that are created sequentially
|
||||
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
|
||||
# You may override the number of nodes (Count), the starting index (Start)
|
||||
# or the template used to construct the name (Hostname).
|
||||
#
|
||||
# Note: Template and Specs are not mutually exclusive. You may define both
|
||||
# sections and the aggregate nodes will be created for you. Take care with
|
||||
# name collisions
|
||||
# ---------------------------------------------------------------------------
|
||||
Template:
|
||||
Count: 2
|
||||
# Start: 5
|
||||
# Hostname: {{.Prefix}}{{.Index}} # default
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Users"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Count: The number of user accounts _in addition_ to Admin
|
||||
# ---------------------------------------------------------------------------
|
||||
Users:
|
||||
Count: 1
|
||||
# ---------------------------------------------------------------------------
|
||||
# Org2: See "Org1" for full specification
|
||||
# ---------------------------------------------------------------------------
|
||||
- Name: Org2
|
||||
Domain: org2.example.com
|
||||
EnableNodeOUs: true
|
||||
CA:
|
||||
Country: US
|
||||
Province: California
|
||||
Locality: San Francisco
|
||||
Template:
|
||||
Count: 2
|
||||
Users:
|
||||
Count: 1
|
||||
|
||||
- Name: Org3
|
||||
Domain: org3.example.com
|
||||
EnableNodeOUs: true
|
||||
CA:
|
||||
Country: US
|
||||
Province: California
|
||||
Locality: San Francisco
|
||||
Template:
|
||||
Count: 2
|
||||
Users:
|
||||
Count: 1
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgs5hMqWm1yqAkSCNu
|
||||
hZZilgCMH5E2n+cQ4IX6ubPDoOShRANCAARP7jJS5cOCA0cXbHRS+B2IrP7qG5kf
|
||||
ijD5iO1IHpEnAB3bQrvEDX3N2XJKTxy/nDOh6atHBK3UXDN2twByIJeZ
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg2H9euQ0TOrNYBx0y
|
||||
SNigNcW6XcRaYBCVuoqKBFV3gbuhRANCAATR8y7LnWAGsNntkO26NIqueqy3NnVK
|
||||
lWO2nMImTN2ZjAyC5l6t1g8glLZxOVsni/+lc3Thj+GYS1AvHzYz1Qns
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICDjCCAbSgAwIBAgIRAPcQLxF/5LE2bv7G7mtguqowCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMR0wGwYDVQQDExRvcmRlcmVyMC5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||
CCqGSM49AwEHA0IABNHzLsudYAaw2e2Q7bo0iq56rLc2dUqVY7acwiZM3ZmMDILm
|
||||
Xq3WDyCUtnE5WyeL/6VzdOGP4ZhLUC8fNjPVCeyjTTBLMA4GA1UdDwEB/wQEAwIH
|
||||
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYL
|
||||
EiXwkW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQDbF6XJfey6uj2rogCTu0NZ
|
||||
H+3fSzzkMmx/KK2k664SYAIgfsZZ/yFnMKCpPsBYRYZbKnLWWO8/rHF7xCC+F/1e
|
||||
jaA=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICfTCCAiOgAwIBAgIRAMXtFgoPoQ9Oq9ZO26mAQDswCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMC5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABF2FZUTPTKvYXytgD0drgzWwkjxb9ol2MDRZ/zey8xJH
|
||||
4+IL9x6VUpixLZ5nbqwiNWmZtwiPsfQmsSYQYbNDq7ajgbgwgbUwDgYDVR0PAQH/
|
||||
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||
MEkGA1UdEQRCMECCFG9yZGVyZXIwLmV4YW1wbGUuY29tgghvcmRlcmVyMIIUb3Jk
|
||||
ZXJlcjAuZXhhbXBsZS5jb22CCG9yZGVyZXIwMAoGCCqGSM49BAMCA0gAMEUCIQC2
|
||||
ltcQwBeDnbFTnscfCCUTOoroFYR77W5m4s80sonUtwIgYG5WGJCOn8g2M+RwWeH9
|
||||
4fR+9nugg7rgv/qs5VIkD8s=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgUaRVs14w2HuJ++Yu
|
||||
laaVz88ArTOXr1O2n6ANDO7dc66hRANCAARdhWVEz0yr2F8rYA9Ha4M1sJI8W/aJ
|
||||
djA0Wf83svMSR+PiC/celVKYsS2eZ26sIjVpmbcIj7H0JrEmEGGzQ6u2
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgpPwNtKwxh4M0dx4X
|
||||
t/BSt9MYNDRTnTvM3ZIbONjNS+ShRANCAARae5ejNvy9iGYcVAPmZV5gFIVtIGAg
|
||||
J8LdHbH/twTu5DkFah2B+grC+KVX1vUE0I51dyOKVMmLHqbypHjtd1hV
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICDDCCAbOgAwIBAgIQFQeBAgerS7aDSySdl9sV6TAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xHTAbBgNVBAMTFG9yZGVyZXIxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
|
||||
KoZIzj0DAQcDQgAEWnuXozb8vYhmHFQD5mVeYBSFbSBgICfC3R2x/7cE7uQ5BWod
|
||||
gfoKwvilV9b1BNCOdXcjilTJix6m8qR47XdYVaNNMEswDgYDVR0PAQH/BAQDAgeA
|
||||
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDRwAwRAIgehXv+eyIl57k2KvBvPypGyxI
|
||||
0nn7xK1DbWa9byHZozoCIDuxA3LkDmJyZhCRUaIzYQTA21113DEZ/alyYvo3sjux
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICfDCCAiOgAwIBAgIRAPjaV85RtxdtCGwEQP9SdxIwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMS5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABDR01NIdTCD97nGG7NB5zgcn2dmCh73zLhRF3q2+meo+
|
||||
ARZFrUwWsqgy7fQWJZ2M3Hf5g1f5zdBsop8LrxSsjk6jgbgwgbUwDgYDVR0PAQH/
|
||||
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||
MEkGA1UdEQRCMECCFG9yZGVyZXIxLmV4YW1wbGUuY29tgghvcmRlcmVyMYIUb3Jk
|
||||
ZXJlcjEuZXhhbXBsZS5jb22CCG9yZGVyZXIxMAoGCCqGSM49BAMCA0cAMEQCIArv
|
||||
P5fPVc6wv2SCYrckJYXTBZWCuv1ZKDmY4irexYkHAiB5nq2n1j9NlsfnIpYMpTJZ
|
||||
W6PFz8sQlgbfYiVmLZRvEw==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg4bi+Hm70tiOydW/1
|
||||
6tmOQu5cquW9WLFr9svB3FGSkiqhRANCAAQ0dNTSHUwg/e5xhuzQec4HJ9nZgoe9
|
||||
8y4URd6tvpnqPgEWRa1MFrKoMu30FiWdjNx3+YNX+c3QbKKfC68UrI5O
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgd+KSenCvo4vMdpfe
|
||||
t56c/Z16uipKbk8Z2ip7B0kZL3GhRANCAASsDWn0twkrR2tW7wA1fJ/sUMSIWh90
|
||||
V4p/vINccJbOeqTP/XQil50ViHdxoSNWM7TaPlpbGMorWU2hN9lp1+xO
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICDjCCAbSgAwIBAgIRAMecrVUXyDjORUUnQ13ojRQwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMR0wGwYDVQQDExRvcmRlcmVyMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||
CCqGSM49AwEHA0IABKwNafS3CStHa1bvADV8n+xQxIhaH3RXin+8g1xwls56pM/9
|
||||
dCKXnRWId3GhI1YztNo+WlsYyitZTaE32WnX7E6jTTBLMA4GA1UdDwEB/wQEAwIH
|
||||
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYL
|
||||
EiXwkW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQCNZ64eOaeRIzgSTrhdRKG+
|
||||
Vg3HjJTwTUKfPmzswb6fZQIgT6z0HBCYD8OznSCX5h9pl/ro874Ppu1277f9Z1CR
|
||||
P3E=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICfDCCAiKgAwIBAgIQfZTGuePHdfrwmnr4wKi67DAKBggqhkjOPQQDAjBsMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
||||
YW1wbGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkG
|
||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
||||
Y2lzY28xHTAbBgNVBAMTFG9yZGVyZXIyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0C
|
||||
AQYIKoZIzj0DAQcDQgAEN6xM56y1yyJVTfbrwMv2/OAZSUn+Wfg2NZkhgE9535QI
|
||||
qlTOIgRcpcAi30EBnRanRpdM8xw0XGkIeX8+nN/kVaOBuDCBtTAOBgNVHQ8BAf8E
|
||||
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
|
||||
MAAwKwYDVR0jBCQwIoAgLfuG4M9PiJ7aoWv2sMXqgg0UzdnUT0bEVvDTXPvpM6gw
|
||||
SQYDVR0RBEIwQIIUb3JkZXJlcjIuZXhhbXBsZS5jb22CCG9yZGVyZXIyghRvcmRl
|
||||
cmVyMi5leGFtcGxlLmNvbYIIb3JkZXJlcjIwCgYIKoZIzj0EAwIDSAAwRQIhAP7i
|
||||
+spZ5TGL5VGbKQiyi+e8DungdRnWLXRSVQxIQ+RCAiALmdF8F35KdnQviC42tOZq
|
||||
25e5QFeabZJi4/eHHHDNpg==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgbdbtD7WsfenHLyu8
|
||||
SLh72ZunY85XcheGXS92nimu2KehRANCAAQ3rEznrLXLIlVN9uvAy/b84BlJSf5Z
|
||||
+DY1mSGAT3nflAiqVM4iBFylwCLfQQGdFqdGl0zzHDRcaQh5fz6c3+RV
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIs14GY3q+uJX8Ae0
|
||||
gXXx7EydQOwD4VFR2Tuc+pFZ6IqhRANCAAT3A4DgNkbkkKIk2hjwerg+XD6N3FGw
|
||||
t84qNJkNdhIaBrQG51VS0t0ijbTTeD44lvkE2f7pKn2OKxe/h2Q6Yjgh
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICDTCCAbOgAwIBAgIQI7S/Ukgb3NWvBjHn8qbzNDAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xHTAbBgNVBAMTFG9yZGVyZXIzLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
|
||||
KoZIzj0DAQcDQgAE9wOA4DZG5JCiJNoY8Hq4Plw+jdxRsLfOKjSZDXYSGga0BudV
|
||||
UtLdIo2003g+OJb5BNn+6Sp9jisXv4dkOmI4IaNNMEswDgYDVR0PAQH/BAQDAgeA
|
||||
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSAAwRQIhANWHSNkm6uc9uXPYWJc5lE22
|
||||
rlzP43+6cNhxgi53ZCG2AiBuqDKgbbd+NV9YoOxhCdG97jWPU0UQHM6sZmDVWFhr
|
||||
eg==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICfDCCAiOgAwIBAgIRAPzq97HiumS5phNWPVGzwPkwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMy5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABGzc9sVbVGE2VKx5IBITzInVJ+mGVFRKE1efNiW74EU+
|
||||
QBVyViFykXnrPYNvVsT65i0vgEptDCWQD3fm+EF+dOCjgbgwgbUwDgYDVR0PAQH/
|
||||
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||
MEkGA1UdEQRCMECCFG9yZGVyZXIzLmV4YW1wbGUuY29tgghvcmRlcmVyM4IUb3Jk
|
||||
ZXJlcjMuZXhhbXBsZS5jb22CCG9yZGVyZXIzMAoGCCqGSM49BAMCA0cAMEQCIAID
|
||||
3vddcozKx8eWvrSvKEsg/2cCgNwaAIWX/MR66Vp+AiA7LdXhV8xrAVsm6yCPj61K
|
||||
eJX88O6xTrnccbIvrDQtwQ==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgodVcUPk+QmI7Qs89
|
||||
jZ+FFR5WwAyBLGb1H1YY+4AZSmqhRANCAARs3PbFW1RhNlSseSASE8yJ1SfphlRU
|
||||
ShNXnzYlu+BFPkAVclYhcpF56z2Db1bE+uYtL4BKbQwlkA935vhBfnTg
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjPRbw31FDqsjqW2l
|
||||
/XK0iUYLRN/DcG8Fhw4exEYSNh+hRANCAARUgiXSBQEdN30nO2mj9FTAvEXVcz6P
|
||||
lCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNYUGCL
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||
wBo=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiQsZ+lkIBFb/dV+b
|
||||
eYxxdcy/2J94hI4xh/HqQIG7DLyhRANCAAQm5WaTl7H6pIyWl2pPaQ7W2TizANFf
|
||||
Z2yJsrtJwNdekTOVqSXh+JAcOJEzlX8AxpSfiuV+YLhG1WGZfCMYclWk
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||
1I8PpAO8LBY=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICLTCCAdOgAwIBAgIRAM+AEHeJSBqggOqblHo/5MYwCgYIKoZIzj0EAwIwbDEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJ
|
||||
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||
bmNpc2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||
CCqGSM49AwEHA0IABKTH6tOIPU8bsz+9o0zSa17HjvccslS83l4ydwsy73PSb9qU
|
||||
Gsv4fafZ8mFhiZ1QVHCOSUXdlRR2sCqId3qLYzajbDBqMA4GA1UdDwEB/wQEAwIF
|
||||
oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAr
|
||||
BgNVHSMEJDAigCAt+4bgz0+Intqha/awxeqCDRTN2dRPRsRW8NNc++kzqDAKBggq
|
||||
hkjOPQQDAgNIADBFAiEAkoYrfgrhZxiozFt+nTrowynIUVrY41qN+LqPf4MXL08C
|
||||
IHBLsAcfuTTrCOsP/lCwb6FNknLhRJcu6PGAa09RfBa+
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgBPZ52Zhm3JskixRq
|
||||
/C6/EK7n/ZykZwzIU0f2/veIHsqhRANCAASkx+rTiD1PG7M/vaNM0mtex473HLJU
|
||||
vN5eMncLMu9z0m/alBrL+H2n2fJhYYmdUFRwjklF3ZUUdrAqiHd6i2M2
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNZufJY6J5iZKtdh1
|
||||
whJctstg/ff2C2ACCy9558NcdSChRANCAAQkop/cvYeMmukIDQJOPDM1UT9ssFNK
|
||||
07++Q8F0GQpxXK/aNl4nzAunZHNvGh5a6PITfqFjBsUkzKv2ssRWWYdR
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggdnwZQ52tHilpK8d
|
||||
WLPqdIDaKjx2E4ma74gAPY7liY+hRANCAAQj29c7Z2DaiAX0bs2S15olqnJJTrvV
|
||||
GIpwic2/c4B0iv7GyfXVZ/tMzr3g7Dv8ZawZTvWhlNlsd/CLlJ8qVpsy
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJzCCAc6gAwIBAgIQQIM2ou9DqfvkKtiUOZHklTAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx
|
||||
LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI9vXO2dg2ogF
|
||||
9G7NkteaJapySU671RiKcInNv3OAdIr+xsn11Wf7TM694Ow7/GWsGU71oZTZbHfw
|
||||
i5SfKlabMqNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j
|
||||
BCQwIoAg0y4VvcZCLdSplahOGKT05hcJiRUeoqVmEQhWb+p7yNEwCgYIKoZIzj0E
|
||||
AwIDRwAwRAIgHtaqhr9/bxigCyhuKqYqDztw3uE11quIZ7drkaY/mvQCIGVtipl+
|
||||
O8Vy84ulTRlvtafD5eVJuq6IrP9BroFxu1DJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIChzCCAi2gAwIBAgIRANgPf/v+85TtKkvIXJXKsBcwCgYIKoZIzj0EAwIwdjEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
|
||||
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1
|
||||
MTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
|
||||
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHP25tKEyBKTWeQtlo+TuLiSys7M
|
||||
V9/MJHLDaJ5M/aEw8H6eyCYr9tKC+nMcySZfFgY0aNx0uYF+hT7faN9o2mCjgbYw
|
||||
gbMwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
|
||||
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIObH9ZKGdOwInjw4YsumDBatcQfd
|
||||
aT6m9fZDx3lYCFObMEcGA1UdEQRAMD6CFnBlZXIwLm9yZzEuZXhhbXBsZS5jb22C
|
||||
BXBlZXIwghZwZWVyMC5vcmcxLmV4YW1wbGUuY29tggVwZWVyMDAKBggqhkjOPQQD
|
||||
AgNIADBFAiEAvxOp3mk+uaxklAFVu+dK7jltpR2W33+rSLUP1qYvzFQCIF6sXLPm
|
||||
7M1lzR54aGqhVHuXHG0gGbo4wBZ5GVz9j5FW
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgUifQU7d8Sl7SVnM1
|
||||
M/i2DyIpKayTf93q+sszUg9741ahRANCAARz9ubShMgSk1nkLZaPk7i4ksrOzFff
|
||||
zCRyw2ieTP2hMPB+nsgmK/bSgvpzHMkmXxYGNGjcdLmBfoU+32jfaNpg
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgDcKHlgVvEdA8DaKO
|
||||
UxL0hUcgM0nuPd9YtZl2SKk5VXWhRANCAASLee2bCqa1H4ELqQ16l3FDY/0KJTRL
|
||||
kcbHCnmsoSJco55nEP8ANsppiJcV2Y35LzWKti0s+Nxq3VVRWjYiWxV7
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICKDCCAc+gAwIBAgIRAL6UJxau6L+P+ZjjcRQ8/hAwCgYIKoZIzj0EAwIwczEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1MTAw
|
||||
WjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
|
||||
U2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjEub3Jn
|
||||
MS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIt57ZsKprUf
|
||||
gQupDXqXcUNj/QolNEuRxscKeayhIlyjnmcQ/wA2ymmIlxXZjfkvNYq2LSz43Grd
|
||||
VVFaNiJbFXujTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud
|
||||
IwQkMCKAINMuFb3GQi3UqZWoThik9OYXCYkVHqKlZhEIVm/qe8jRMAoGCCqGSM49
|
||||
BAMCA0cAMEQCIA1SKdLR6URj5OwCzKZhR4V/TOGLsL77sYN8KeuvY1GSAiBPsdGr
|
||||
2V46NzLoCm8sAXKYAKp9KQtANPw5s1hOdxhUHg==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIChjCCAi2gAwIBAgIRAPBugYzQz6gS0Bc4FXQX5aQwCgYIKoZIzj0EAwIwdjEL
|
||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
|
||||
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1
|
||||
MTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
|
||||
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjEub3JnMS5leGFtcGxlLmNv
|
||||
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH8sryo9uJjooklsjtgWTBKGD+AZ
|
||||
btg/ZfYaABi1bncPIHfmFiWA6dQfMCmUQM265sBirsEiWNSSmYWgaIzskE2jgbYw
|
||||
gbMwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
|
||||
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIObH9ZKGdOwInjw4YsumDBatcQfd
|
||||
aT6m9fZDx3lYCFObMEcGA1UdEQRAMD6CFnBlZXIxLm9yZzEuZXhhbXBsZS5jb22C
|
||||
BXBlZXIxghZwZWVyMS5vcmcxLmV4YW1wbGUuY29tggVwZWVyMTAKBggqhkjOPQQD
|
||||
AgNHADBEAiA4G37nuh0AgV1lqnngP0eJ1B1K+9u9KmB4Z04sUWswSgIgFgryHRfs
|
||||
DIIhrlsxnTx1PBGdCbX9CtDbyRkWEgnWC7c=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgr0ifEvi/W/JyW5pD
|
||||
sxyNRKQRTTkD0TkWUgCTjrCwSiOhRANCAAR/LK8qPbiY6KJJbI7YFkwShg/gGW7Y
|
||||
P2X2GgAYtW53DyB35hYlgOnUHzAplEDNuubAYq7BIljUkpmFoGiM7JBN
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMTGO8zhf6nmY9V9b
|
||||
I7YkqTgW5OEiapSKFmqlv6WDmnKhRANCAATkkeOmj6rqs6n7hAa8iqHA2j1lVz3h
|
||||
TuJQvreeJV78DpgWrLj6sWuCqzYxfcK5zCNNGIejRMeD6NgcdhSm3HWu
|
||||
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue