Add fabric v1.4.4

pull/135/head
Baohua Yang 2019-11-18 22:40:38 -08:00
parent 434a56271b
commit 07eb9aac9b
368 changed files with 161911 additions and 2 deletions

View File

@ -2,7 +2,7 @@
This project provides several useful Docker-Compose script to help quickly bootup a Hyperledger Fabric network, and do simple testing with deploy, invoke and query transactions.
Currently we support Hyperledger Fabric all releases from v0.6 to latest v1.x.
Currently we support Hyperledger Fabric all releases from v0.6.0 to latest.
If you're not familiar with Docker and Blockchain, can have a look at these books (in CN):
@ -14,6 +14,7 @@ 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 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.
@ -29,7 +30,7 @@ Fabric Release | Description
### TLDR
```bash
$ export RELEASE=v1.4.3
$ export RELEASE=v1.4.4
```
```bash

View File

@ -0,0 +1,4 @@
# for docker-compose usage
FABRIC_IMG_TAG=1.4.4
EXT_IMG_TAG=0.4.18
NETWORK=hlf_net

View File

@ -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

View File

@ -0,0 +1,300 @@
# 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
HLF_MODE ?= raft
# mode of db: golevel, couchdb
DB_MODE ?= golevel
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.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
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
@echo "Make sure the local hlf_net docker bridge exists"
docker network ls|grep hlf_net > /dev/null || docker network create hlf_net
# 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_approve test_cc_queryapprove test_cc_commit test_cc_querycommit test_cc_invoke_query
make test_lscc # test lscc operations
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_instantiate test_cc_invoke_query
restart: stop start
start: # bootup the fabric network
@echo "Start a fabric network with ${COMPOSE_FILE}..."
@make clean
@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_approve: # Approve the chaincode definition
@echo "Approve the chaincode by all orgs"
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_approve.sh"
test_cc_queryapprove: # 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_queryapprove.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_querycommit: # 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_querycommit.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"

View File

@ -0,0 +1,97 @@
# 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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,198 @@
# 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
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

View File

@ -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"

View File

@ -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_GENESISFILE=/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}

View File

@ -0,0 +1,99 @@
# 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
# ---------------------------------------------------------------------------
# "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

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqMqZY8MRhTc0UNJx
WD0UrxFPBYBLaZsg0NIxHPtqAN6hRANCAAQE4NkiEOucWnRl4z64kRsAxgU554+0
5gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWo
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqmO+JljFoPfIhim6
eVmCHpkHFA+2M+vgwrRvkKCGTaihRANCAAQ5eah0RR8AQsvUjwBw26wrMzRSXNx+
BOMdSraHfIV7y0kKJWxgYy3LAG/pCuEyQCkTINCAN5VxNjcOAFa3qW3Y
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICDTCCAbOgAwIBAgIQbtQFkVUkkkK26OUHGrVwjzAKBggqhkjOPQQDAjBpMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
bGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowWTELMAkGA1UE
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
Y28xHTAbBgNVBAMTFG9yZGVyZXIwLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEOXmodEUfAELL1I8AcNusKzM0UlzcfgTjHUq2h3yFe8tJCiVs
YGMtywBv6QrhMkApEyDQgDeVcTY3DgBWt6lt2KNNMEswDgYDVR0PAQH/BAQDAgeA
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgg1whLZo7+QC4iYtaXqEJkMJ2R4QZ
oXrvAlR4KScIoKIwCgYIKoZIzj0EAwIDSAAwRQIhAObUvHjLCmbhUxaiurtLATvU
PoFy2/NxPAiwEoFZOa7sAiAbBw0HU6nDQDtfd+M6xAWjvzctTXWNufIQNpbft+kr
fQ==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICXDCCAgOgAwIBAgIRAPXrSMqrFsd/yI0ash8h6NUwCgYIKoZIzj0EAwIwbDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
eGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFkxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMC5leGFtcGxlLmNvbTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABBtL0Zn5m8rL3OnI3aU1dN2YN9Ju4f1M5lUvkiY0QHz6
9F+G+AyxmpsJENHkmapIgZLCpP3wxEbfv6MrHAPmbg+jgZgwgZUwDgYDVR0PAQH/
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
AjAAMCsGA1UdIwQkMCKAIFwvWZvDghmE+1LwZv8nAi/e/cO62uCyUdFKtiNP9Msm
MCkGA1UdEQQiMCCCFG9yZGVyZXIwLmV4YW1wbGUuY29tgghvcmRlcmVyMDAKBggq
hkjOPQQDAgNHADBEAiAbPiz1T46CNRb4fs88hxTtU6lNFn53t6fNSBWKDbcXsQIg
F/yKnaHLlbi+rCrj6x7rdVgtYbgwUNnwzE1k6sQ0P3w=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg44um53xAgcGf36I8
hEosFEThX/q/xK6mdBJEGxiNnAChRANCAAQbS9GZ+ZvKy9zpyN2lNXTdmDfSbuH9
TOZVL5ImNEB8+vRfhvgMsZqbCRDR5JmqSIGSwqT98MRG37+jKxwD5m4P
-----END PRIVATE KEY-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgo4etZOei/4j42mZx
qLjJuqVAMeqKFlSckbVmHJhgM8mhRANCAAT4rVPl+9zbVBkYKvtsD5AD3Wszgvl4
yG2Ja6+QOZYAzKQ4PfiHcd9j7LcxQgcyN8Svvg2q2n9tKUxTy0O0USYm
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICDjCCAbSgAwIBAgIRAJTRLQULXJSCDRqpc2DLoPgwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMR0wGwYDVQQDExRvcmRlcmVyMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABPitU+X73NtUGRgq+2wPkAPdazOC+XjIbYlrr5A5lgDMpDg9
+Idx32PstzFCBzI3xK++Daraf20pTFPLQ7RRJiajTTBLMA4GA1UdDwEB/wQEAwIH
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQDQXr7pmhJsM/f9Su1fYUko
LG+JXsyLKaEXYpQsNlqj8gIgV1WRnRauF8NgWjy6XhVwAVdp2XmQNyquzw3vhnwX
rkc=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICXDCCAgKgAwIBAgIQAcANB1B/DFoweeVR4FdC0jAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowWTELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xHTAbBgNVBAMTFG9yZGVyZXIxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0C
AQYIKoZIzj0DAQcDQgAE0DiaZBWU1NNhumc5anDUP3n2qxVT5gg21+WJCX4UZV+n
jrJTJbi4/eE7YqZowhXFZfR6XqQG1ZjiT+80fEFDUaOBmDCBlTAOBgNVHQ8BAf8E
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
MAAwKwYDVR0jBCQwIoAgXC9Zm8OCGYT7UvBm/ycCL979w7ra4LJR0Uq2I0/0yyYw
KQYDVR0RBCIwIIIUb3JkZXJlcjEuZXhhbXBsZS5jb22CCG9yZGVyZXIxMAoGCCqG
SM49BAMCA0gAMEUCIQCFa5XLHXmtsdMgcV24Mw3i7fKV5Z2L4JMc79XRVNvxegIg
UtUIBLFxJ9tQKSNcz3Pb/UCgiD2ELkFc8MEC4wVYyOc=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeAn2qT0Xi2GNzoTr
+AJHiiiOW65+NWPrGQcOe508E6mhRANCAATQOJpkFZTU02G6ZzlqcNQ/efarFVPm
CDbX5YkJfhRlX6eOslMluLj94TtipmjCFcVl9HpepAbVmOJP7zR8QUNR
-----END PRIVATE KEY-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgQ83ryNMdclKveF5H
lo/ezTZLFzz1CdyUq9Hl67t6xI+hRANCAAS8ImiXidPbE3cNTAVRUuCERGVQB/MD
drjCpKyGvLpn6a/yJ0Xmzu9HeX/UV4zGpjL6VRC6teX/xSYIHSKL8co4
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICDjCCAbSgAwIBAgIRAN+s1O7GI0UOMZvmoXtLQ1YwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMR0wGwYDVQQDExRvcmRlcmVyMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABLwiaJeJ09sTdw1MBVFS4IREZVAH8wN2uMKkrIa8umfpr/In
RebO70d5f9RXjMamMvpVELq15f/FJggdIovxyjijTTBLMA4GA1UdDwEB/wQEAwIH
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQCaK9TwZhkZlKcM6m+SNiI0
E0GWKJ8reffQGfFs/3HOTwIgagYUi0kZAQPl5hFBQns2vt2nCPA+hmOrUD0pfqND
93Q=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICXTCCAgOgAwIBAgIRAKkT+oJUmBGpWzTtYim8W+IwCgYIKoZIzj0EAwIwbDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
eGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFkxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMi5leGFtcGxlLmNvbTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABB3IrJKcYK2uJDdnTofTcamGEfvYQv3TuQuDLSgmCmgJ
3NOwp9ADBqhpQk8ZbiwL4juPfU8Oliff87k74ndv2amjgZgwgZUwDgYDVR0PAQH/
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
AjAAMCsGA1UdIwQkMCKAIFwvWZvDghmE+1LwZv8nAi/e/cO62uCyUdFKtiNP9Msm
MCkGA1UdEQQiMCCCFG9yZGVyZXIyLmV4YW1wbGUuY29tgghvcmRlcmVyMjAKBggq
hkjOPQQDAgNIADBFAiEA2m2FR1khoJIELt/LvbuTz1Uy+re4F7xcw1g0pK9CUFAC
ICk+CzWymxfAnj7TKoz8ZWLNP8DXctkAw6KsAip0pZXl
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGsyJwJxyY3hS9b0F
wYdxVC7oWsmgcoLpkyLbyjaW53ehRANCAAQdyKySnGCtriQ3Z06H03GphhH72EL9
07kLgy0oJgpoCdzTsKfQAwaoaUJPGW4sC+I7j31PDpYn3/O5O+J3b9mp
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgd4tdFjKsTCKKVnho
WwN2D2IS7WCwhZelVYerkGEWlFehRANCAARw7YgLYl/zQiN89EXJyZP/RyHBdBgb
5sZ9j5yHYX8xYb68MwLX9UjnmkOrE4WtXAVNkipPAm0RQ4jPcN4+wPjj
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICPTCCAeSgAwIBAgIRALkA3kA+//oagSDlIqyHOKswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQE4NkiEOucWnRl4z64kRsAxgU5
54+05gtebflsj8+4j7N8ilc00Q5jj+/pmnbfmIteJNTXgjw1lJVhPNqEQSWoo20w
azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIINcIS2aO/kAuImLWl6hCZDCdkeE
GaF67wJUeCknCKCiMAoGCCqGSM49BAMCA0cAMEQCIHz3udWbnfpZSpElpVx8XqWJ
RNG/kM3Z1rzqQ71NdJ1IAiAKeU89pK21ftue2XUO8vjEtymXRohcVt0QNuSjSDgU
1g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgPCGHUkO5hsN4qk3h
gyYXMLrdtJooiP8uWxUPs0QiEOWhRANCAATc6HK5MOc7/vumy14U1gmXWu/qsOkR
her+U4lPeT+2vX/yppesmRcuSe7JEDI4EvO+ecNbQavzdsrHInhjjR9B
-----END PRIVATE KEY-----

View File

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRAPstpmLty1/Uwr+XtLuNV4kwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABNzocrkw5zv++6bLXhTWCZda7+qw6RGF6v5TiU95P7a9f/Kml6yZ
Fy5J7skQMjgS8755w1tBq/N2yscieGONH0GjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIINcIS2aO/kAuImLWl6hCZDCdkeEGaF6
7wJUeCknCKCiMAoGCCqGSM49BAMCA0gAMEUCIQD1lGsCNEdo2Ny8bNrWpmIZL4uO
W3jyVgLJe3YB5I17aAIgV+BLow4NaXg9Vh5jr07LJAkOEMxyfPF5oRJAGRJmWEg=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQGYhMtbj3X2UELdVlkj1nYTAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE5MDkyNDAwNTkwMFoXDTI5MDkyMTAwNTkwMFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHDtiAtiX/NCI3z0RcnJ
k/9HIcF0GBvmxn2PnIdhfzFhvrwzAtf1SOeaQ6sTha1cBU2SKk8CbRFDiM9w3j7A
+OOjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgXC9Zm8OCGYT7UvBm/ycC
L979w7ra4LJR0Uq2I0/0yyYwCgYIKoZIzj0EAwIDRwAwRAIgcm4RuPmSYe8V+Eyg
98hH37ZMLnC9Fc2aTyqqIkJ5msACIBrrwUG8qCowsqTdSZhuwfprXFc3oe4u7IIx
K3brtAW5
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICLDCCAdOgAwIBAgIRAJVGkdRzcqvkjXMT774PbBQwCgYIKoZIzj0EAwIwbDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
eGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBaMFYxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
bmNpc2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABHXzFhJjAcF2E7HHcCG9J8loMQxrzBsZjID3kDizlPVfxjmO
TRzog1Y/PB9aRAC3zBqUk6TvQ79/CiJaqESwqNSjbDBqMA4GA1UdDwEB/wQEAwIF
oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAr
BgNVHSMEJDAigCBcL1mbw4IZhPtS8Gb/JwIv3v3DutrgslHRSrYjT/TLJjAKBggq
hkjOPQQDAgNHADBEAiATrDX4/soATOQs7BCZ8e3QnzI45ufbKguu2x4T98Br5AIg
IugHkF9jH9TkMFZQrfeZ/RCSCLydnP36ng3fsOEr95w=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgdrCdvPZgtf7ekzyW
YaunDxRki8O18sO1AWTsj+JDwu6hRANCAAR18xYSYwHBdhOxx3AhvSfJaDEMa8wb
GYyA95A4s5T1X8Y5jk0c6INWPzwfWkQAt8walJOk70O/fwoiWqhEsKjU
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgRv+cZYfeX3RmplgX
22EtSL2AFMBTo4tXkK5dCPiWoHmhRANCAARTCgKBQ4dpPn3olMhlO8k6mpaWoagZ
rlvtJT2FzdYsZVKZl9a1sK5JOmvzqPbqFpAjcoAvnbTs2Ek+r7o2nyvv
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -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

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -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

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeP2LQOw5AZkA13tp
ACTuYfk9KWIKKuwBeQbAw3fue0ShRANCAAQ/W7e8kQaphjbqD/ylNv3TMwbzxL8J
TIaMl/48ANHSmiiTck5TBu+ipGxYJSQ6ASql422oLE+ccxA9u8gantkA
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICJzCCAc6gAwIBAgIQJ5UYoXl1ZxOj2E66JWCk1TAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx
LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP1u3vJEGqYY2
6g/8pTb90zMG88S/CUyGjJf+PADR0pook3JOUwbvoqRsWCUkOgEqpeNtqCxPnHMQ
PbvIGp7ZAKNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j
BCQwIoAgvVRA0AsJMpyeDtmCHjnVOFCEfAFwdT993A5RgL3MmB4wCgYIKoZIzj0E
AwIDRwAwRAIgbpAanlezo3yw1qqL02zfirkWl/YeTdQxer8M4yibHbkCIB9IGUUO
doG6yQnBXfyaCtfNYdpei3EL+t2aNq+jDhnO
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICaDCCAg6gAwIBAgIRAO/LwmuxNPrIF8MN1GoxzTswCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMS5leGFtcGxlLmNv
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPQC76QOrYVvKdeohtSkHQY3if0h
PzH78wUy/Jbr2AG/Ff3LW/zkEelEi03acjE6XfL9r4agwGKpUjrVMNYkfQSjgZcw
gZQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIGqRTRuJKCKrVqBWCJaVvoViiIIz
67DYtcHS/6oIMgrAMCgGA1UdEQQhMB+CFnBlZXIwLm9yZzEuZXhhbXBsZS5jb22C
BXBlZXIwMAoGCCqGSM49BAMCA0gAMEUCIQDQv4ysSqE0gW/wphHjFRJYfWjUcrPp
5UKIxsjA0QFcsQIgMFStVXjt5mF0wJq98AKPiBkaw9RY3cIwkuAK6xtiuVs=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgPJu78+r2RvtQbMvq
KsczX/xDqEYIK2UCID1pldzKyKWhRANCAAT0Au+kDq2FbynXqIbUpB0GN4n9IT8x
+/MFMvyW69gBvxX9y1v85BHpRItN2nIxOl3y/a+GoMBiqVI61TDWJH0E
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -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

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQga2xfa/FhOd6YolFn
NBb7owCaUomyas0EeQMmuIEcnn+hRANCAAQM9+i754FA/Orc0VZIP57ArJ8x0o4o
ql9yHj+EsP/SrjRbnVtGUNMqgvDggKHKgs7cRm69n3t1unCKpxoF5kPs
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc6gAwIBAgIQEtJxE8E80e8g3hg/v1IXcTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMS5vcmcx
LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDPfou+eBQPzq
3NFWSD+ewKyfMdKOKKpfch4/hLD/0q40W51bRlDTKoLw4IChyoLO3EZuvZ97dbpw
iqcaBeZD7KNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j
BCQwIoAgvVRA0AsJMpyeDtmCHjnVOFCEfAFwdT993A5RgL3MmB4wCgYIKoZIzj0E
AwIDSAAwRQIhAL54z+fOJL63KniExHmbMs0dskE5f+MjoBO4ZNzjY9A2AiAmgFQ2
QpQUEr0h1l+KuL7IvTUkbIvOztqq0cLo6ipr5Q==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICZzCCAg6gAwIBAgIRAKZWFo8h/lrUtUMqmfjcaEswCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjEub3JnMS5leGFtcGxlLmNv
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABB8iBq9A/OWW1zu3XfSRavsAEcLj
uCd/Lrb1W9x5/WIk/hVbM7s7mF0+dvkKzc9y8t9z1bVteLzBjEGZiAQE9PujgZcw
gZQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIGqRTRuJKCKrVqBWCJaVvoViiIIz
67DYtcHS/6oIMgrAMCgGA1UdEQQhMB+CFnBlZXIxLm9yZzEuZXhhbXBsZS5jb22C
BXBlZXIxMAoGCCqGSM49BAMCA0cAMEQCIE2VgPzWE4xzAX+gzEPXiaILUzUsGsoN
k14xyWCpxz79AiBoTX3KeC/Jz2mtQN+dnyoO5/wRNKwQg8e+3T9lcAce/g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg2LKnl+10oWXAfouB
tgpY7pOdn/9l8RVzIJxZcgi6HU2hRANCAAQfIgavQPzlltc7t130kWr7ABHC47gn
fy629Vvcef1iJP4VWzO7O5hdPnb5Cs3PcvLfc9W1bXi8wYxBmYgEBPT7
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgv4sTsBvXAL94E0gB
/DgO7Gc3COMElMQqxs0BdFFQrs6hRANCAASm6N/SexTQxQgzySEn0QWsZHA8h75C
S+Yuid+qJ1459NM70AcKH5Q1MtRHsfd7PKI2ZRQ5tqVCoR+CdLeXRT5x
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -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

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3QvNIz/tkmhWprd2
QqL9a+wtu/B/NnzT0wDZ//X+5NyhRANCAARANlBmuACHQscjwwCwmmw5Y9wC2mUJ
oR1OKyo51uafQYVfwe91nAix07fE8bdoUKJ/XNrLaK1nj6PdD/JjTTBu
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc+gAwIBAgIQc8T7H0B7mQZtPI/zb32BFDAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MGsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ4wDAYDVQQLEwVhZG1pbjEfMB0GA1UEAwwWQWRtaW5Ab3Jn
MS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEA2UGa4AIdC
xyPDALCabDlj3ALaZQmhHU4rKjnW5p9BhV/B73WcCLHTt8Txt2hQon9c2storWeP
o90P8mNNMG6jTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud
IwQkMCKAIL1UQNALCTKcng7Zgh451ThQhHwBcHU/fdwOUYC9zJgeMAoGCCqGSM49
BAMCA0cAMEQCIE4sB2gi79gP+H6zC4kFCaO31GYxc/YUQunE3sVkU4oxAiAHjnCP
3EMpvTSNTh2dcsgGkIgRxE2vRekSzfQ5p785Yg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICPDCCAeKgAwIBAgIRAIKNTTUkyDgyleo2PxtZORgwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMS5leGFtcGxlLmNv
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKP4JNNn6wMvSRUr0oJysoWaarSF
+rEMNLhz1WNl7byg5MkmE2nqG9vJ7F5AOINxVHobHpeSMSGs/Znr6FbzI2ijbDBq
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCBqkU0biSgiq1agVgiWlb6FYoiCM+uw
2LXB0v+qCDIKwDAKBggqhkjOPQQDAgNIADBFAiEA+ZowroCMeKrTRXqsc/u0syOk
wF+o8ArYNHZn2laeUBsCIDKlmGGMdKOWm8LtfnDNthX33ZIvgwLP+FPsZJbJkUjp
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg1vXsIXg9IKA9rp2p
3IlP9mVyiHmCE5sFtHMPy9Oy5o+hRANCAASj+CTTZ+sDL0kVK9KCcrKFmmq0hfqx
DDS4c9VjZe28oOTJJhNp6hvbyexeQDiDcVR6Gx6XkjEhrP2Z6+hW8yNo
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQVoOy7i6tVHJQ1PJGIAb4gjAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UwoCgUOHaT596JTIZTvJOpqWlqGoGa5b7SU9hc3WLGVSmZfWtbCuSTpr86j26haQ
I3KAL5207NhJPq+6Np8r76NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCC9
VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjOPQQDAgNHADBE
AiAnxJKszQecCkMQUl5/VAU1W4tf27Y4ovazuZ03IQ+JlQIgIuFweRw79udVfVtS
zeuAMdERG0OX6tpsU+PcrCZVqBE=
-----END CERTIFICATE-----

View File

@ -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

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg4kK8TmTO78P/Oncv
g0pFYf7hs/cnCxCmupAc7FWqiQ2hRANCAATuEgRLDV+iBL/oScz538CyL2VeKVzY
7LXtWjksZKPcd1dvXL/sfzRvjaePkzq9NxWfJg4uVfn8CKgzqbIOVYGC
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIQFI6NU9CGdUn7SLc1/UOz8TAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MGwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ8wDQYDVQQLEwZjbGllbnQxHzAdBgNVBAMMFlVzZXIxQG9y
ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuEgRLDV+i
BL/oScz538CyL2VeKVzY7LXtWjksZKPcd1dvXL/sfzRvjaePkzq9NxWfJg4uVfn8
CKgzqbIOVYGCo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCC9VEDQCwkynJ4O2YIeOdU4UIR8AXB1P33cDlGAvcyYHjAKBggqhkjO
PQQDAgNIADBFAiEA/1pe9y7MMqa5JjAFkJWHHwSpM1+2GJnB0ve9gXpBnQcCIFmt
lYxnNqqtHmKzv+KfveAt2VzZeywo7CMA3iVRkifJ
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICWDCCAf6gAwIBAgIRAIozwoVQXadyjsVrqzW7CIMwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABKbo39J7FNDFCDPJISfRBaxkcDyHvkJL5i6J36onXjn00zvQBwoflDUy
1Eex93s8ojZlFDm2pUKhH4J0t5dFPnGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV
HSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV
HQ4EIgQgapFNG4koIqtWoFYIlpW+hWKIgjPrsNi1wdL/qggyCsAwCgYIKoZIzj0E
AwIDSAAwRQIhAKQlQa5AynOA7G21nHayKfnebjHvfdCDAvCYhh/VDjjXAiAye4J7
XVMXEmuPUwf2MCoow1E0BuBPzetAPEmBoDl9SA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICPDCCAeKgAwIBAgIRAOR+2UD/6XIM68JHdlYu7PQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI0MDA1OTAwWhcNMjkwOTIxMDA1
OTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNv
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG5UyI1BKWFpkcSqDxye3DgTrBVP
QDNSD1umwDrA54vixDbploIyid/4maleYJz2i139CltTs9GTf7CNCjnTPXSjbDBq
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCBqkU0biSgiq1agVgiWlb6FYoiCM+uw
2LXB0v+qCDIKwDAKBggqhkjOPQQDAgNIADBFAiEAzhQRglHRHODEEjvHoJVs4UtY
lFV1vXoe8vWWNU5l6VYCIHDXEEAwB2GJoITAtv8mTtSNzcT97doalh6p5YFmcr4J
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwiQuDPM6Uz7jxAGM
NVFCWCefwG3cRRYkFeR9GrRRkb2hRANCAARuVMiNQSlhaZHEqg8cntw4E6wVT0Az
Ug9bpsA6wOeL4sQ26ZaCMonf+JmpXmCc9otd/QpbU7PRk3+wjQo50z10
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggFCfyPb/M4ISAZPf
r/n34zdZlrWaknkbw+I1b8V4nnehRANCAASkCyEAG3158WaJBns8JCfWjC9kCfNU
z8SL8m14yOGVYfTq1s14EuaAkXiyW2TS38SnTyXo0Qzz0GyVS8cOPKDa
-----END PRIVATE KEY-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQUM3B5r8kvE2USLdmiZz2djAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
pAshABt9efFmiQZ7PCQn1owvZAnzVM/Ei/JteMjhlWH06tbNeBLmgJF4sltk0t/E
p08l6NEM89BslUvHDjyg2qNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCO
a5XQf99jTcpfiG/OeeFBlQg3B13jTSJ0gZ11wsy01DAKBggqhkjOPQQDAgNHADBE
AiBx9Bwmb02DSWi25epN/GLLgy68qAOg8EK4bqGw2+3gjgIgZmatCUHZcQpId0B6
cdBU5LLvZghoy+5fBvp98DMbKf0=
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQUM3B5r8kvE2USLdmiZz2djAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
pAshABt9efFmiQZ7PCQn1owvZAnzVM/Ei/JteMjhlWH06tbNeBLmgJF4sltk0t/E
p08l6NEM89BslUvHDjyg2qNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCO
a5XQf99jTcpfiG/OeeFBlQg3B13jTSJ0gZ11wsy01DAKBggqhkjOPQQDAgNHADBE
AiBx9Bwmb02DSWi25epN/GLLgy68qAOg8EK4bqGw2+3gjgIgZmatCUHZcQpId0B6
cdBU5LLvZghoy+5fBvp98DMbKf0=
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
NodeOUs:
Enable: true
ClientOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: client
PeerOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: peer
AdminOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: admin
OrdererOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: orderer

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICVzCCAf2gAwIBAgIQXBKV0DC9faHK4CopQ73azTAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEABDDH3qm9LR5ijrbMFcNkUZ+myoFX/DWVsQsrU9njgSqTueOz6JRrWeT
+RZTOkGYCq3jfH1wmVKyeoO4w2GbC6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCACdlkGJcIbLTUHIiJBqWuSUfymaALe3DUSep7py1h0lTAKBggqhkjOPQQD
AgNIADBFAiEA6itc4tX3/xDez5LDegAyiEGCYIdOJo16taqW0+qD39ECIHI14hax
u0+j8UFPRPOm2RSB3szKKQWcG5tXVQa3vrTu
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICUDCCAfegAwIBAgIQUM3B5r8kvE2USLdmiZz2djAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
pAshABt9efFmiQZ7PCQn1owvZAnzVM/Ei/JteMjhlWH06tbNeBLmgJF4sltk0t/E
p08l6NEM89BslUvHDjyg2qNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCO
a5XQf99jTcpfiG/OeeFBlQg3B13jTSJ0gZ11wsy01DAKBggqhkjOPQQDAgNHADBE
AiBx9Bwmb02DSWi25epN/GLLgy68qAOg8EK4bqGw2+3gjgIgZmatCUHZcQpId0B6
cdBU5LLvZghoy+5fBvp98DMbKf0=
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
NodeOUs:
Enable: true
ClientOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: client
PeerOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: peer
AdminOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: admin
OrdererOUIdentifier:
Certificate: cacerts/ca.org2.example.com-cert.pem
OrganizationalUnitIdentifier: orderer

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgHCEZCrNMUyhkDhwj
ApJVk5R1YTXjJmhaDpnnIG3965KhRANCAAQOszMaI7KOFL5VZ75P/w5iJ8qcpO98
h/eLApiMqGXWAJ5ZVmcdgo49tS4g+3tozrEv3fK6/Ggx3eIAmQ9Luh3b
-----END PRIVATE KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc6gAwIBAgIQfifCLwH3nBrKHPsyRKNFDzAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5MDBa
MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcy
LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDrMzGiOyjhS+
VWe+T/8OYifKnKTvfIf3iwKYjKhl1gCeWVZnHYKOPbUuIPt7aM6xL93yuvxoMd3i
AJkPS7od26NNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j
BCQwIoAgjmuV0H/fY03KX4hvznnhQZUINwdd400idIGddcLMtNQwCgYIKoZIzj0E
AwIDSAAwRQIhANcqU+np2Uh9wmgO76XE2kyG1n8oprfRjD3Bw51gWJvtAiBrUG9g
FraI191Nrqz5lbcAbpkT+JStTPq76OxEo+Q8nw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICVzCCAf2gAwIBAgIQXBKV0DC9faHK4CopQ73azTAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEABDDH3qm9LR5ijrbMFcNkUZ+myoFX/DWVsQsrU9njgSqTueOz6JRrWeT
+RZTOkGYCq3jfH1wmVKyeoO4w2GbC6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCACdlkGJcIbLTUHIiJBqWuSUfymaALe3DUSep7py1h0lTAKBggqhkjOPQQD
AgNIADBFAiEA6itc4tX3/xDez5LDegAyiEGCYIdOJo16taqW0+qD39ECIHI14hax
u0+j8UFPRPOm2RSB3szKKQWcG5tXVQa3vrTu
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICVzCCAf2gAwIBAgIQXBKV0DC9faHK4CopQ73azTAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xOTA5MjQwMDU5MDBaFw0yOTA5MjEwMDU5
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEABDDH3qm9LR5ijrbMFcNkUZ+myoFX/DWVsQsrU9njgSqTueOz6JRrWeT
+RZTOkGYCq3jfH1wmVKyeoO4w2GbC6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCACdlkGJcIbLTUHIiJBqWuSUfymaALe3DUSep7py1h0lTAKBggqhkjOPQQD
AgNIADBFAiEA6itc4tX3/xDez5LDegAyiEGCYIdOJo16taqW0+qD39ECIHI14hax
u0+j8UFPRPOm2RSB3szKKQWcG5tXVQa3vrTu
-----END CERTIFICATE-----

Some files were not shown because too many files have changed in this diff Show More