Fix to use latest structure

pull/117/head
Baohua Yang 2018-01-03 21:19:09 +08:00
parent 9c7769d290
commit 80ef40b81a
356 changed files with 32627 additions and 5823 deletions

View File

@ -209,7 +209,6 @@ download: # download required images
docker pull yeasy/hyperledger-fabric-peer:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-orderer:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-ca:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-kafka:0.10.2.0 # TODO:official repo does not provide the latest image currently
docker pull yeasy/blockchain-explorer:latest # TODO: wait for official images
docker pull hyperledger/fabric-baseos:x86_64-0.4.2
docker pull hyperledger/fabric-zookeeper:x86_64-1.1.0-preview

View File

@ -67,12 +67,12 @@ echo_b "Calculate the config delta between pb files"
configtxlatorCompare ${APP_CHANNEL} ${ORIGINAL_CFG_PB} ${UPDATED_CFG_PB} ${CFG_DELTA_PB}
echo_b "Decode the config delta pb into json"
configtxlatorDecode "common.ConfigUpdate" ${CFG_DELTA_PB} ${CFG_DELTA_JSON}
[ -f ${CFG_DELTA_JSON} ] || configtxlatorDecode "common.ConfigUpdate" ${CFG_DELTA_PB} ${CFG_DELTA_JSON}
jq . ${CFG_DELTA_JSON} > /dev/null
[ $? -ne 0 ] && { echo_r "${CFG_DELTA_JSON} is invalid"; clean_exit; }
echo_b "Wrap the config update as envelope"
echo '{"payload":{"header":{"channel_header":{"channel_id":"'"$APP_CHANNEL"'", "type":2}},"data":{"config_update":'$(cat ${CFG_DELTA_JSON})'}}}' | jq . > ${CFG_DELTA_ENV_JSON}
[ -f ${CFG_DELTA_ENV_JSON} ] || echo '{"payload":{"header":{"channel_header":{"channel_id":"'"$APP_CHANNEL"'", "type":2}},"data":{"config_update":'$(cat ${CFG_DELTA_JSON})'}}}' | jq . > ${CFG_DELTA_ENV_JSON}
echo_b "Encode the config update envelope into pb"
configtxlatorEncode "common.Envelope" ${CFG_DELTA_ENV_JSON} ${CFG_DELTA_ENV_PB}

View File

@ -1,94 +1,165 @@
KAFKA_ENABLED ?= false
COUCHDB_ENABLED ?= false
DEV_ENABLED ?= false
# Makefile to bootup the network, and do operations (channel, chaincode)
COMPOSE_FILE ?= "docker-compose-2orgs-4peers.yaml"
# mode of the network: solo, kafka, couchdb, event, dev
HLF_MODE ?= solo
HLF_VERSION ?= 1.0.2
ifeq ($(KAFKA_ENABLED),true)
COMPOSE_FILE="docker-compose-2orgs-4peers-kafka.yaml"
CODE_BUILD_WAIT=40 # time to wait to build peer/orderer from local code
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)
COMPOSE_FILE="docker-compose-2orgs-4peers-kafka.yaml"
LOG_PATH=kafka/logs
else ifeq ($(HLF_MODE),couchdb)
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
else ifeq ($(HLF_MODE),event)
COMPOSE_FILE="docker-compose-2orgs-4peers-event.yaml"
else ifeq ($(HLF_MODE),be)
COMPOSE_FILE="docker-compose-2orgs-4peers-solo-be.yaml"
else ifeq ($(HLF_MODE),dev)
COMPOSE_FILE="docker-compose-1orgs-1peers-dev.yaml"
endif
ifeq ($(COUCHDB_ENABLED),true)
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
endif
all: test
ifeq ($(DEV_ENABLED),true)
COMPOSE_FILE="docker-compose-1orgs-1peers-dev.yaml"
endif
all:
@echo "Run test with ${COMPOSE_FILE}"
test:
@echo "Run test with $(COMPOSE_FILE)"
@echo "Please make sure u have setup Docker and pulled images by 'make setup'."
sleep 2
make ready
make lscc qscc
make ready # Finish all testing
make stop clean
ready: restart
@echo "Restart, init network and then do cc testing..."
if [ "$(DEV_ENABLED)" = "true" ]; then \
echo "In DEV mode, wait for rebuilding ..." && sleep 35; \
make init_peer0; \
sleep 5; \
make test_peer0; \
else \
echo "In Normal mode ..." && sleep 3; \
make init; \
sleep 2; \
make test_cc; \
fi
ready: # create/join channel, install/instantiate cc
make stop
make gen_config # Will ignore if local config path exists
make start
make test_channel_create
make test_channel_join
make update_anchors
make test_cc_install
make test_cc_instantiate
make test_cc_invoke_query
make test_lscc # test lscc operations
make test_qscc # test qscc operations
#make test_fetch_blocks # fetch block files
#make test_config_update
#make test_channel_update
make logs_save
make test_fetch_blocks # fetch block files again
make test_configtxlator
@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."
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
init: # initialize the fabric network
@echo "Install and instantiate cc example02 on the fabric network"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/initialize_all.sh"
init_peer0: # initialize the fabric network
@echo "Install and instantiate cc example02 on the fabric dev network"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/initialize_peer0.sh"
stop: # stop the fabric network
@echo "Stop the fabric network"
docker-compose -f ${COMPOSE_FILE} down # Stop a fabric network
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 # Stop a fabric network
chaincode_dev: restart chaincode_init test_cc_peer0 stop
################## Channel testing operations ################
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
if [ "$(HLF_MODE)" = "kafka" ]; then \
bash scripts/test_configtxlator.sh kafka; \
else \
bash scripts/test_configtxlator.sh solo; \
fi
test_config_update: # Test change config to add new org
if [ "$(HLF_MODE)" = "kafka" ]; then \
bash scripts/test_config_update.sh kafka; \
else \
bash scripts/test_config_update.sh solo; \
fi
################## Chaincode testing operations ################
test_cc: # test user chaincode on all peers
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 on the fabric network"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_install.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_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_all.sh"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_invoke_query.sh"
test_peer0: # test single peer
@echo "Invoke and query cc example02 on single peer0"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_peer0.sh"
qscc: # test qscc queries
test_qscc: # test qscc queries
@echo "Test QSCC query"
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_qscc.sh"
lscc: # test lscc quries
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"
################## Env setup related, no need to see usually ################
setup: # setup the environment
bash scripts/setup_Docker.sh # Install Docker, Docker-Compose
bash scripts/download_images.sh # Pull required Docker images
bash scripts/setup_env.sh # Installing Docker and Docker-Compose
bash scripts/download_images.sh # Pull required Docker images
check: # Check shell scripts grammar
@echo "Check shell scripts grammar"
[ `which shellcheck` ] && shellcheck scripts/*.sh
clean: # clean up containers
@echo "Clean all containers and fabric cc images"
@-docker rm -f `docker ps -qa`
@-docker rmi $$(docker images | awk '$$1 ~ /dev-peer/ { print $$3}')
@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 {}
clean_env: # clean up environment
@echo "Clean all images and containers"
@ -97,6 +168,9 @@ clean_env: # clean up environment
cli: # enter the cli container
docker exec -it fabric-cli bash
orderer: # enter the orderer container
docker exec -it orderer.example.com bash
peer: # enter the peer container
docker exec -it peer0.org1.example.com bash
@ -112,22 +186,37 @@ logs: # show logs
logs_check: logs_save logs_view
logs_save: # save logs
docker logs peer0.org1.example.com >& /tmp/dev_peer.log
docker logs orderer.example.com >& /tmp/dev_orderer.log
[ -d $(LOG_PATH) ] || mkdir -p $(LOG_PATH)
docker logs peer0.org1.example.com >& $(LOG_PATH)/dev_peer0.log
docker logs orderer.example.com >& $(LOG_PATH)/dev_orderer.log
docker-compose -f ${COMPOSE_FILE} logs >& $(LOG_PATH)/dev_all.log
logs_view: # view logs
less /tmp/dev_peer.log
less $(LOG_PATH)/dev_peer.log
gen_e2e: # generate solo artifacts
cd solo && bash gen_artifacts.sh
gen_config: # generate config artifacts
if [ "$(HLF_MODE)" = "kafka" ]; then \
bash scripts/gen_config.sh kafka; \
else \
bash scripts/gen_config.sh solo; \
fi
gen_kafka: # generate kafka artifacts
cd kafka && bash gen_artifacts.sh
download: # download required images
@echo "Download Docker images"
docker pull yeasy/hyperledger-fabric:latest
docker pull yeasy/hyperledger-fabric:1.0.2
docker pull hyperledger/fabric-baseos:x86_64-0.4.1
docker tag yeasy/hyperledger-fabric:latest hyperledger/fabric-ccenv:x86_64-1.1.0
docker pull yeasy/hyperledger-fabric:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-peer:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-orderer:$(HLF_VERSION)
docker pull yeasy/hyperledger-fabric-ca:$(HLF_VERSION)
docker pull yeasy/blockchain-explorer:latest # TODO: wait for official images
docker pull hyperledger/fabric-baseos:x86_64-0.3.2
docker pull hyperledger/fabric-zookeeper:x86_64-$(HLF_VERSION)
docker pull hyperledger/fabric-kafka:x86_64-$(HLF_VERSION)
docker pull hyperledger/fabric-couchdb:x86_64-$(HLF_VERSION)
docker pull hyperledger/fabric-ccenv:x86_64-$(HLF_VERSION)
################## 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

@ -1,144 +0,0 @@
# Hyperledger fabric 1.0.2
Here we show steps on how to setup a fabric 1.0.2 network on Linux (e.g., Ubuntu/Debian), and then use it to run chaincode tests.
If you're not familiar with Docker and Blockchain technology yet, feel free to have a look at 2 books (in CN):
* [Docker Practice](https://github.com/yeasy/docker_practice)
* [Blockchain Guide](https://github.com/yeasy/blockchain_guide)
## Pass-through
The following command will run the entire process (start a fabric network, create channel, test chaincode and stop it.) pass-through.
```sh
$ make setup # install docker/compose, and pull required images
$ make all
```
tldr :)
`make all` actually call following command sequentially.
* `make start`
* `make init`
* `make test_cc`
* `make stop`
Otherwise, if u wanna know more or run the command manually, then go on reading the following part.
## Environment Setup
The following scripts will setup the environment by installing Docker, Docker-Compose and download required docker images.
```sh
$ make setup # setup environment
```
If you want to setup the environment manually, then have a look at [manually setup](docs/setup.md).
## Bootup Fabric Network
Start a 4 peer (belonging to 2 organizations) fabric network.
```sh
$ make start # Start a fabric network
```
The script actually uses docker-compose to boot up the fabric network with several containers.
There will be 7 running containers, include 4 peers, 1 cli, 1 ca and 1 orderer.
```bash
$ make ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1dc3f2557bdc hyperledger/fabric-tools "bash -c 'while tr..." 25 minutes ago Up 25 minutes fabric-cli
5e5f37a0ed3c hyperledger/fabric-peer "peer node start" 25 minutes ago Up 25 minutes 7050/tcp, 7054-7059/tcp, 0.0.0.0:8051->7051/tcp, 0.0.0.0:8052->7052/tcp, 0.0.0.0:8053->7053/tcp peer1.org1.example.com
6cce94da6392 hyperledger/fabric-peer "peer node start" 25 minutes ago Up 25 minutes 7050/tcp, 7054-7059/tcp, 0.0.0.0:9051->7051/tcp, 0.0.0.0:9052->7052/tcp, 0.0.0.0:9053->7053/tcp peer0.org2.example.com
e36c5e8d56c5 hyperledger/fabric-peer "peer node start" 25 minutes ago Up 25 minutes 7050/tcp, 7054-7059/tcp, 0.0.0.0:7051-7053->7051-7053/tcp peer0.org1.example.com
1fdd3d2b6527 hyperledger/fabric-orderer "orderer start" 25 minutes ago Up 25 minutes 0.0.0.0:7050->7050/tcp orderer.example.com
8af323340651 hyperledger/fabric-ca "fabric-ca-server ..." 25 minutes ago Up 25 minutes 0.0.0.0:7054->7054/tcp fabric-ca
e41d8bca7fe5 hyperledger/fabric-peer "peer node start" 25 minutes ago Up 25 minutes 7050/tcp, 7054-7059/tcp, 0.0.0.0:10051->7051/tcp, 0.0.0.0:10052->7052/tcp, 0.0.0.0:10053->7053/tcp peer1.org2.example.com
```
### Initialize Fabric network
```bash
$ make init # Start a fabric network
```
The command actually calls the `./scripts/initialize.sh` script in the `fabric-cli` container to:
* create a new application channel `businesschannel`
* join all peers into the channel
* install and instantiate chaincode `example02` for testing
This script only needs to be executed once.
You should see result like the following if the initialization is successful.
```bash
==============================================
==========initialize businesschannel==========
==============================================
Channel name : businesschannel
Creating channel...
...
===================== All GOOD, initialization completed =====================
```
And there will be new chaincode container generated in the system, looks like
```bash
$ make ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9971c9fd1971 dev-peer1.org2.example.com-mycc-1.0 "chaincode -peer.a..." 54 seconds ago Up 53 seconds dev-peer1.org2.example.com-mycc-1.0
e3092961b81b dev-peer1.org1.example.com-mycc-1.0 "chaincode -peer.a..." About a minute ago Up About a minute dev-peer1.org1.example.com-mycc-1.0
57d3555f56e5 dev-peer0.org2.example.com-mycc-1.0 "chaincode -peer.a..." About a minute ago Up About a minute dev-peer0.org2.example.com-mycc-1.0
c9974dbc21d9 dev-peer0.org1.example.com-mycc-1.0 "chaincode -peer.a..." 23 minutes ago Up 23 minutes dev-peer0.org1.example.com-mycc-1.0
```
## Test Chaincode
```bash
$ make test_cc # test invoke and query with chaincode
```
More details, see [chaincode test](docs/chaincode_test.md).
## Stop the network
```bash
$ make stop # stop the fabric network
```
## Clean environment
Clean all related containers and images.
```bash
$ make clean # clean the environment
```
## More to learn
Topics | Description
-- | --
[Detailed Explanation](./docs/detailed_steps.md) | Explain in detail how a 1-peer network start and test.
[Fetch blocks](docs/peer_cmds.md) | Fetch blocks using `peer channel fetch` cmd.
[Use Events](./docs/events.md) | Get events with block-listener
[Artifacts Generation](docs/artifacts_generation.md) | Will explain the usage of `cryptogen` and `configtxgen` to prepare the artifacts for booting the fabric network.
[couchDB](docs/couchdb_usage.md) | Use couchDB as the state DB.
[kafka](./kafka/README.md) | Use kafka as the ordering backend
[configtxlator](docs/configtxlator.md) | Use configtxlator to convert the configurations
[WIP] [Some verification tests](docs/verification_test.md) |
## Acknowledgement
* [Hyperledger Fabric](https://github.com/hyperledger/fabric/) project.
* [Hyperledger Fabric Getting Started](http://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html).

View File

@ -31,8 +31,8 @@ services:
- ./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' # use this if to debug orderer
#command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
command: bash -c 'orderer start' # use this if to debug orderer
peer0.org1.example.com:
extends:
@ -49,7 +49,7 @@ services:
- CORE_PEER_LOCALMSPID=Org1MSP
volumes:
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
# e2e mode configuration
# 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
@ -61,6 +61,7 @@ services:
- 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:
@ -74,23 +75,23 @@ services:
- 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=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
- 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/
#- /tmp/:/tmp/
- ./scripts:/tmp/scripts
# e2e mode configuration
# 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:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
#- ./solo/crypto-config:/etc/hyperledger/fabric/crypto-config
#- ./solo/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:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
- ./kafka/crypto-config:/etc/hyperledger/fabric/crypto-config
- ./kafka/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

@ -1,4 +1,5 @@
# Kafka enabled fabric network with:
# 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
@ -15,8 +16,6 @@ version: '2' # v3 does not support 'extends' yet
services:
ca.org1.example.com:
#image: yeasy/hyperledger-fabric-ca:1.0.2
#image: hyperledger/fabric-ca:x86_64-1.0.2
extends:
file: base.yaml
service: ca-base
@ -33,8 +32,6 @@ services:
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:
#image: yeasy/hyperledger-fabric-ca:1.0.2
#image: hyperledger/fabric-ca:x86_64-1.0.2
extends:
file: base.yaml
service: ca-base
@ -80,17 +77,17 @@ services:
- 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=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
- 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
- ./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:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
- ./kafka/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
- ./kafka/crypto-config:/etc/hyperledger/fabric/crypto-config
- ./kafka/examples:/opt/gopath/src/examples
## following are peer nodes ##

View File

@ -1,4 +1,5 @@
# Base compose files for:
# 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
@ -12,13 +13,14 @@
version: '2' # v3 does not support 'extends' yet
services:
ca.org1.example.com:
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_TLS_ENABLED=true
- 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
@ -28,13 +30,14 @@ services:
- ./solo/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.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_TLS_ENABLED=true
- 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
@ -44,12 +47,14 @@ services:
- ./solo/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'
orderer.example.com: # There can be multiple orderers
orderer.example.com: # orderer node for example org
extends:
file: base.yaml
service: orderer-base
container_name: orderer.example.com
hostname: orderer.example.com
environment:
- ORDERER_GENERAL_TLS_ENABLED=true
ports:
- "7050:7050"
volumes:
@ -58,30 +63,6 @@ services:
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
command: orderer start
cli:
extends:
file: base.yaml
service: cli-base
container_name: fabric-cli
hostname: fabric-cli
tty: true
environment:
#- GOPATH=/opt/gopath
- 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=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
volumes:
#- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
- ./scripts:/tmp/scripts
- ./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:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
## following are peer nodes ##
@ -97,6 +78,7 @@ services:
- 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
@ -118,6 +100,7 @@ services:
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.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
@ -139,6 +122,7 @@ services:
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
- CORE_PEER_GOSSIP_BOOTSTRAP=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
@ -160,10 +144,83 @@ services:
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
- CORE_PEER_GOSSIP_BOOTSTRAP=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
ports:
- 10051:7051
- 10052:7052
- 10053:7053
- 10053:7053
peer0.org3.example.com:
extends:
file: base.yaml
service: peer-base
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_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:7051
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org3.example.com:7052
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org3.example.com:7051
- CORE_PEER_LOCALMSPID=Org3MSP
- CORE_PEER_TLS_ENABLED=true
volumes:
- ./solo/crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/msp:/etc/hyperledger/fabric/msp
- ./solo/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
tty: true
environment:
#- GOPATH=/opt/gopath
- 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
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
volumes:
#- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
- ./scripts:/tmp/scripts
- ./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
- ./solo/examples:/opt/gopath/src/examples
#- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
event-listener:
extends:
file: base.yaml
service: event-listener-base
container_name: fabric-event-listener
hostname: fabric-event-listener
environment:
- 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
- ./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
- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
command: bash -c 'while true; do sleep 1; block-listener -events-address=peer0.org1.example.com:7053 -events-mspdir=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/ -events-mspid=Org1MSP; done'
#command: bash -c 'while true; do sleep 20170504; done'

View File

@ -1,5 +1,5 @@
# This is the default base file to config env and command
# Notice that chaincode is executed inside docker in default net mode
# All element in this file is abstract without knowing the org and consensus type
# https://github.com/yeasy/docker-compose-files
# Depends on the hyperledger/fabric-peer image.
@ -14,27 +14,30 @@ services:
environment:
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- FABRIC_CA_SERVER_TLS_ENABLED=true
#- FABRIC_CA_SERVER_TLS_ENABLED=false
orderer-base:
#image: yeasy/hyperledger-fabric-orderer:1.0.2
image: hyperledger/fabric-orderer:x86_64-1.0.2
restart: always
# Default config can be found at https://github.com/hyperledger/fabric/blob/master/orderer/common/localconfig/config.go
environment:
- ORDERER_GENERAL_LOGLEVEL=DEBUG
- ORDERER_GENERAL_LOGLEVEL=DEBUG # default: INFO
- ORDERER_GENERAL_LOGFORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 # default: 127.0.0.1
- ORDERER_GENERAL_GENESISMETHOD=file # default: provisional
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP # default: DEFAULT
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
- ORDERER_GENERAL_LEDGERTYPE=file
- ORDERER_GENERAL_BATCHTIMEOUT=2s
#- ORDERER_GENERAL_LEDGERTYPE=json # default: file
- ORDERER_GENERAL_BATCHTIMEOUT=1s
- ORDERER_GENERAL_MAXMESSAGECOUNT=10
- ORDERER_GENERAL_MAXWINDOWSIZE=1000
- ORDERER_GENERAL_LISTENPORT=7050
#- ORDERER_RAMLEDGER_HISTORY_SIZE=100 #only useful when use ram ledger
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=true
- 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]
@ -87,10 +90,21 @@ services:
- CORE_LOGGING_LEVEL=DEBUG
- CORE_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
- ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
- CHANNEL_NAME:="businesschannel"
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: bash -c 'cd /tmp; bash scripts/func.sh; while true; do sleep 20170504; done'
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
event-listener-base:
image: yeasy/hyperledger-fabric:1.0.2
restart: always
tty: true
environment:
- CORE_PEER_ID=fabric-event-listener
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_TLS_ENABLED=false # event-listener doesn't support TLS
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
#command: bash -c 'block-listener -events-address=peer0.org1.example.com:7053 -events-mspdir=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/ -events-mspid=Org1MSP'
command: bash -c 'while true; do sleep 20170504; done'
couchdb-base:
#container_name: couchdb0
@ -110,6 +124,8 @@ services:
- '3888'
kafka-base:
# official repo doesn't have latest tag, however, kafka changes version recently
#image: yeasy/hyperledger-fabric-kafka:0.10.2.0
image: hyperledger/fabric-kafka:x86_64-1.0.2
restart: always
tty: true

View File

@ -1,4 +1,4 @@
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
# https://github.com/yeasy/files/tree/master/hyperledger
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
# * 1 ca
# * 1 orderer
@ -10,7 +10,7 @@ version: '2.0'
services:
orderer.example.com: # There can be multiple orderers
extends:
file: docker-compose-base-dev.yaml
file: base-dev.yaml
service: orderer.example.com
depends_on:
- kafka0
@ -20,14 +20,14 @@ services:
peer0.org1.example.com:
extends:
file: docker-compose-base-dev.yaml
file: base-dev.yaml
service: peer0.org1.example.com
depends_on:
- orderer.example.com
cli:
extends:
file: docker-compose-base-dev.yaml
file: base-dev.yaml
service: cli
depends_on:
- peer0.org1.example.com
@ -36,23 +36,23 @@ services:
# ZooKeeper services, at least 3 nodes
zookeeper0:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper0
zookeeper1:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper1
zookeeper2:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper2
# Kafka services, at least 4 node to tolerant work with 1 node failure
kafka0:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka0
depends_on:
- zookeeper0
@ -61,7 +61,7 @@ services:
kafka1:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka1
depends_on:
- zookeeper0
@ -70,7 +70,7 @@ services:
kafka2:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka2
depends_on:
- zookeeper0
@ -79,7 +79,7 @@ services:
kafka3:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka3
depends_on:
- zookeeper0

View File

@ -17,12 +17,12 @@ version: '2'
services:
orderer.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: orderer.example.com
peer0.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer0.org1.example.com
environment:
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
@ -32,7 +32,7 @@ services:
peer1.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer1.org1.example.com
environment:
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
@ -42,7 +42,7 @@ services:
peer0.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer0.org2.example.com
environment:
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
@ -52,7 +52,7 @@ services:
peer1.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer1.org2.example.com
environment:
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
@ -102,6 +102,6 @@ services:
cli:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: cli

View File

@ -8,84 +8,52 @@
version: '2.0'
services:
ca:
image: yeasy/hyperledger-fabric-ca:1.0.2
container_name: fabric-ca
hostname: ca
# command: /go/src/github.com/hyperledger/fabric-ca/bin/ca server start -ca testdata/ec.pem -ca-key testdata/ec-key.pem -config testdata/testconfig.json
ports:
- "7054:7054"
command: fabric-ca-server start -b admin:adminpw
orderer.example.com: # There can be multiple orderers
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: orderer.example.com
peer0.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: peer0.org1.example.com
depends_on:
- orderer.example.com
peer1.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: peer1.org1.example.com
depends_on:
- orderer.example.com
peer0.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: peer0.org2.example.com
depends_on:
- orderer.example.com
peer1.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: peer1.org2.example.com
depends_on:
- orderer.example.com
cli:
extends:
file: docker-compose-base-e2e.yaml
file: base-event.yaml
service: cli
environment:
- CORE_PEER_TLS_ENABLED=false # event-listener doesn't support TLS
event-listener:
container_name: fabric-event-listener
hostname: fabric-event-listener
image: yeasy/hyperledger-fabric:1.0.2
tty: true
environment:
- CORE_PEER_ID=fabric-event-listener
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
- CORE_PEER_LOCALMSPID=Org1MSP
- CORE_PEER_TLS_ENABLED=false # event-listener doesn't support TLS
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
volumes:
#- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
- ./solo/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
- ./solo/channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
- ./solo/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
extends:
file: base-event.yaml
service: event-listener
depends_on:
- orderer.example.com
- peer0.org1.example.com
- peer1.org1.example.com
- peer0.org2.example.com
- peer1.org2.example.com
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
#command: bash -c 'block-listener -events-address=peer0.org1.example.com:7053 -events-mspdir=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/ -events-mspid=Org1MSP'
command: bash -c 'while true; do sleep 20170504; done'
#networks:
# default:
# external:
# name: hyperledger_fabric
#networks:
# default:
# external:
# name: hyperledger_fabric

View File

@ -10,66 +10,71 @@ version: '2.0'
services:
# ca.org1.example.com:
# extends:
# file: docker-compose-base-kafka.yaml
# file: base-kafka.yaml
# service: ca.org1.example.com
# ca.org2.example.com:
# extends:
# file: docker-compose-base-kafka.yaml
# file: base-kafka.yaml
# service: ca.org2.example.com
cli:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: cli
orderer.example.com: # There can be multiple orderers
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: orderer.example.com
depends_on:
- kafka0
- kafka1
- kafka2
- kafka3
peer0.org1.example.com:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: peer0.org1.example.com
depends_on:
- orderer.example.com
peer1.org1.example.com:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: peer1.org1.example.com
peer0.org2.example.com:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: peer0.org2.example.com
peer1.org2.example.com:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: peer1.org2.example.com
# ZooKeeper services, at least 3 nodes
zookeeper0:
extends:
file: docker-compose-base-kafka.yaml
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper0
zookeeper1:
extends:
file: docker-compose-base-kafka.yaml
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper1
zookeeper2:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: zookeeper2
# Kafka services, at least 4 node to tolerant work with 1 node failure
kafka0:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka0
depends_on:
- zookeeper0
@ -78,7 +83,7 @@ services:
kafka1:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka1
depends_on:
- zookeeper0
@ -87,7 +92,7 @@ services:
kafka2:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka2
depends_on:
- zookeeper0
@ -96,7 +101,7 @@ services:
kafka3:
extends:
file: docker-compose-base-kafka.yaml
file: base-kafka.yaml
service: kafka3
depends_on:
- zookeeper0

View File

@ -0,0 +1,81 @@
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
# * 2 ca (not in use now)
# * 1 orderer
# * 4 peers in 2 orgs
# * cli for testing
# * blockchain-explorer
version: '2.0'
services:
# ca.org1.example.com:
# extends:
# file: base-solo.yaml
# service: ca.org1.example.com
# ca.org2.example.com:
# extends:
# file: base-solo.yaml
# service: ca.org2.example.com
cli:
extends:
file: base-solo.yaml
service: cli
orderer.example.com: # There can be multiple orderers
extends:
file: base-solo.yaml
service: orderer.example.com
peer0.org1.example.com:
extends:
file: base-solo.yaml
service: peer0.org1.example.com
peer1.org1.example.com:
extends:
file: base-solo.yaml
service: peer1.org1.example.com
peer0.org2.example.com:
extends:
file: base-solo.yaml
service: peer0.org2.example.com
peer1.org2.example.com:
extends:
file: base-solo.yaml
service: peer1.org2.example.com
explorer:
image: yeasy/blockchain-explorer:latest
container_name: explorer
hostname: explorer
depends_on:
- mysql
volumes:
- ./explorer/config.json:/blockchain-explorer/config.json
- ./solo/crypto-config:/blockchain-explorer/first-network/crypto-config
ports:
- "8080:8080" # HTTP port
command: bash -c 'sleep 10; node main.js'
mysql: # mysql service
image: mysql:8.0
container_name: mysql
hostname: mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=fabricexplorer
volumes:
- ./explorer/fabricexplorer.sql:/docker-entrypoint-initdb.d/fabricexplorer.sql
expose:
- "3306"
#command: bash -c 'mysqld; sleep 1; mysql -uroot -proot < /tmp/fabricexplorer.sql; while true; do sleep 20171117; done'
#networks:
# default:
# external:
# name: hyperledger_fabric

View File

@ -10,42 +10,42 @@ version: '2.0'
services:
# ca.org1.example.com:
# extends:
# file: docker-compose-base-e2e.yaml
# file: base-solo.yaml
# service: ca.org1.example.com
# ca.org2.example.com:
# extends:
# file: docker-compose-base-e2e.yaml
# file: base-solo.yaml
# service: ca.org2.example.com
cli:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: cli
orderer.example.com: # There can be multiple orderers
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: orderer.example.com
peer0.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer0.org1.example.com
peer1.org1.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer1.org1.example.com
peer0.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer0.org2.example.com
peer1.org2.example.com:
extends:
file: docker-compose-base-e2e.yaml
file: base-solo.yaml
service: peer1.org2.example.com
#networks:

View File

@ -0,0 +1,73 @@
{
"network-config": {
"orderer": [
{
"url": "grpcs://orderer.example.com:7050",
"server-hostname": "orderer.example.com",
"tls_cacerts": "/first-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt"
}
],
"org1": {
"name": "peerOrg1",
"mspid": "Org1MSP",
"peer1": {
"requests": "grpcs://peer0.org1.example.com:7051",
"events": "grpcs://peer0.org1.example.com:7053",
"server-hostname": "peer0.org1.example.com",
"tls_cacerts": "/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
},
"peer2": {
"requests": "grpcs://peer1.org1.example.com:7051",
"events": "grpcs://peer1.org1.example.com:7053",
"server-hostname": "peer1.org1.example.com",
"tls_cacerts": "/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt"
},
"admin": {
"key": "/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore",
"cert": "/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
}
},
"org2": {
"name": "peerOrg2",
"mspid": "Org2MSP",
"ca": "https://ca.org2.example.com:7054",
"peer1": {
"requests": "grpcs://peer0.org2.example.com:7051",
"events": "grpcs://peer0.org2.example.com:7053",
"server-hostname": "peer0.org2.example.com",
"tls_cacerts": "/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
},
"peer2": {
"requests": "grpcs://peer1.org2.example.com:7051",
"events": "grpcs://peer1.org2.example.com:7053",
"server-hostname": "peer1.org2.example.com",
"tls_cacerts": "/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt"
},
"admin": {
"key": "/first-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore",
"cert": "/first-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts"
}
}
},
"host":"explorer",
"port":"8080",
"channel": "businesschannel",
"GOPATH":"../artifacts",
"keyValueStore":"/tmp/fabric-client-kvs",
"eventWaitTime":"30000",
"peer":"peer1",
"org":["org1"],
"users":[
{
"username":"admin",
"secret":"adminpw"
}
],
"mysql":{
"host":"mysql",
"port":"3306",
"database":"fabricexplorer",
"username":"root",
"passwd":"root"
}
}

View File

@ -0,0 +1,115 @@
/*
Navicat MySQL Data Transfer
Source Server : 172.16.10.162
Source Server Type : MySQL
Source Server Version : 50635
Source Host : 172.16.10.162
Source Database : fabricexplorer
Target Server Type : MySQL
Target Server Version : 50635
File Encoding : utf-8
Date: 07/07/2017 10:14:31 AM
*/
DROP DATABASE IF EXISTS `fabricexplorer`;
CREATE DATABASE fabricexplorer;
use fabricexplorer;
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for `blocks`
-- ----------------------------
DROP TABLE IF EXISTS `blocks`;
CREATE TABLE `blocks` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`blocknum` int(11) DEFAULT NULL,
`datahash` varchar(256) DEFAULT NULL,
`prehash` varchar(256) DEFAULT NULL,
`channelname` varchar(128) DEFAULT NULL,
`txcount` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='blocks';
-- ----------------------------
-- Table structure for `chaincodes`
-- ----------------------------
DROP TABLE IF EXISTS `chaincodes`;
CREATE TABLE `chaincodes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`version` varchar(255) DEFAULT NULL,
`path` varchar(255) DEFAULT NULL,
`channelname` varchar(255) DEFAULT NULL,
`txcount` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
-- ----------------------------
-- Table structure for `channel`
-- ----------------------------
DROP TABLE IF EXISTS `channel`;
CREATE TABLE `channel` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(64) DEFAULT NULL,
`blocks` int(11) DEFAULT NULL,
`trans` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='channel';
-- ----------------------------
-- Table structure for `peer`
-- ----------------------------
DROP TABLE IF EXISTS `peer`;
CREATE TABLE `peer` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`org` int(11) DEFAULT NULL,
`name` varchar(64) DEFAULT NULL,
`mspid` varchar(64) DEFAULT NULL,
`requests` varchar(64) DEFAULT NULL,
`events` varchar(64) DEFAULT NULL,
`server_hostname` varchar(64) DEFAULT NULL,
`createdt` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='peer';
-- ----------------------------
-- Table structure for `peer_ref_channel`
-- ----------------------------
DROP TABLE IF EXISTS `peer_ref_channel`;
CREATE TABLE `peer_ref_channel` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`peerid` int(11) DEFAULT NULL,
`channelid` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='';
-- ----------------------------
-- Table structure for `transaction`
-- ----------------------------
DROP TABLE IF EXISTS `transaction`;
CREATE TABLE `transaction` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`channelname` varchar(64) DEFAULT NULL,
`blockid` int(11) DEFAULT NULL,
`txhash` varchar(256) DEFAULT NULL,
`createdt` datetime DEFAULT NULL,
`chaincodename` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='transtaion';
-- ----------------------------
-- Table structure for `write_lock`
-- ----------------------------
DROP TABLE IF EXISTS `write_lock`;
CREATE TABLE `write_lock` (
`write_lock` int(1) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`write_lock`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -1,13 +1,8 @@
## Start a network base on kafka
### Quick testing with kafka
### Quick testing
```bash
$ KAFKA_ENABLED=true make
$ HLF_MODE=kafka make
```
When the fabric-network fully started, it takes about 30~60s to finish all the test.
## Generate crypto-config and channel-artifacts
```bash
$ make gen_kafka
```

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgM4o2FiiE5OyPE+o1
H1KqX6rU9b1dVK0dvZ2UaLD8UFahRANCAATM0PsnILzXKXZCIon7sJgXOF1zoyX4
s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKD
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICMDCCAdagAwIBAgIRAPbKwadSmJh3VAnoKWQtThEwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATM0PsnILzXKXZCIon7sJgXOF1z
oyX4s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKDo18w
XTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTAD
AQH/MCkGA1UdDgQiBCAGVZiQvil5WQPebaRPA7Q/8SaoOmjplA72xgHnHC2+TzAK
BggqhkjOPQQDAgNIADBFAiEA6YnPBFAz3fGQKXP6meEZooYhJZS0AxG6/OiSRlWp
5SsCIFK9Hx6fB7jSNWvtv6wpsOtQgwnlMcOIvKMwfZoezIvN
-----END CERTIFICATE-----

View File

@ -1,13 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRANhWCxxLoAmvxs3mtkIfoEYwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABFIL82i8Lw23GklPO3dhd7UonwbZ6XYQ0hX16TKDoEiF7eu7OfAF
WksVqGWZlUrak2F7lfASQF4dn8WDB+fvJXujTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIAZVmJC+KXlZA95tpE8DtD/xJqg6aOmU
DvbGAeccLb5PMAoGCCqGSM49BAMCA0gAMEUCIQDotlD1UlpKYlQWWp80W0DvJhxZ
Q8QZm7vDTP9xDwgH/gIgWRivrcoL35yp8ACozfGVs4FVnJTxgBE/z3cIYO4dS/s=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICMDCCAdagAwIBAgIRAPbKwadSmJh3VAnoKWQtThEwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATM0PsnILzXKXZCIon7sJgXOF1z
oyX4s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKDo18w
XTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTAD
AQH/MCkGA1UdDgQiBCAGVZiQvil5WQPebaRPA7Q/8SaoOmjplA72xgHnHC2+TzAK
BggqhkjOPQQDAgNIADBFAiEA6YnPBFAz3fGQKXP6meEZooYhJZS0AxG6/OiSRlWp
5SsCIFK9Hx6fB7jSNWvtv6wpsOtQgwnlMcOIvKMwfZoezIvN
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,13 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRANhWCxxLoAmvxs3mtkIfoEYwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABFIL82i8Lw23GklPO3dhd7UonwbZ6XYQ0hX16TKDoEiF7eu7OfAF
WksVqGWZlUrak2F7lfASQF4dn8WDB+fvJXujTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIAZVmJC+KXlZA95tpE8DtD/xJqg6aOmU
DvbGAeccLb5PMAoGCCqGSM49BAMCA0gAMEUCIQDotlD1UlpKYlQWWp80W0DvJhxZ
Q8QZm7vDTP9xDwgH/gIgWRivrcoL35yp8ACozfGVs4FVnJTxgBE/z3cIYO4dS/s=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICMDCCAdagAwIBAgIRAPbKwadSmJh3VAnoKWQtThEwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATM0PsnILzXKXZCIon7sJgXOF1z
oyX4s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKDo18w
XTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTAD
AQH/MCkGA1UdDgQiBCAGVZiQvil5WQPebaRPA7Q/8SaoOmjplA72xgHnHC2+TzAK
BggqhkjOPQQDAgNIADBFAiEA6YnPBFAz3fGQKXP6meEZooYhJZS0AxG6/OiSRlWp
5SsCIFK9Hx6fB7jSNWvtv6wpsOtQgwnlMcOIvKMwfZoezIvN
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgf6gVM7prpq2dVAF0
XZsrMRl1ngQWHP3g8vQPHoUMCM+hRANCAASxVOz9WeuZQ/+bZRf4TgXIoMzlkwhi
sGGkbJzu3IFvp7RPBzlXak4PzLZhTbcXBHr6Uax570iZqYRMgwelvnZu
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICDTCCAbOgAwIBAgIRALKzAgSMqygfH0YaCqLdBWkwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFgxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEsVTs/VnrmUP/m2UX+E4FyKDM5ZMIYrBhpGyc7tyBb6e0Twc5
V2pOD8y2YU23FwR6+lGsee9ImamETIMHpb52bqNNMEswDgYDVR0PAQH/BAQDAgeA
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgBlWYkL4peVkD3m2kTwO0P/EmqDpo
6ZQO9sYB5xwtvk8wCgYIKoZIzj0EAwIDSAAwRQIhAKOsudnRbopdMBcOQf8vyeJh
AfyWjxqXzQoLCCpgUxaEAiBUR+ROeUkaiwUkT5Pkvkfo3dmoA4gqwnH4WfvkXDqP
jg==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICWjCCAgCgAwIBAgIRAK7kSOvolrl5Oqn1j6MXCDkwCgYIKoZIzj0EAwIwbDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
eGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFgxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
bmNpc2NvMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0C
AQYIKoZIzj0DAQcDQgAEz3vOY8Dga6/uct3qkXiMyO3z6GoVaaWs//C+2bXDW6TA
eNxg5hTYJFhlPdbj7wPC2tzRy/l11ue/0Zqad8lfpaOBljCBkzAOBgNVHQ8BAf8E
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
MAAwKwYDVR0jBCQwIoAgktHqTAvQ+K2pBwfqDCgRIK9UYAVaTeucW18zXxL7Svgw
JwYDVR0RBCAwHoITb3JkZXJlci5leGFtcGxlLmNvbYIHb3JkZXJlcjAKBggqhkjO
PQQDAgNIADBFAiEAy+f0Vdu4sPrIZLhWCTKdJXXzm70vMAAcJGCqvo30KqkCICVX
DX6tq+Tw5AQKu9UoZeGHawSSPYw6eKElz8U3kN8b
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjBMgv0lVc5MiD6FQ
m69sJ8l7VBw/caLKQbLPxbXieiKhRANCAATPe85jwOBrr+5y3eqReIzI7fPoahVp
paz/8L7ZtcNbpMB43GDmFNgkWGU91uPvA8La3NHL+XXW57/Rmpp3yV+l
-----END PRIVATE KEY-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgs34D8BnRo1WJZL8J
wW3rYaZjCF9nipPRBYAnAtJKmLuhRANCAAQG4y+DxWAQIC22aS4nFOVpYV0/IQAp
4/MyxGZ1jPSkcnpsinJLCC0pX8YSG5sXM7raYnOlxy5+wGU8YeMjNB+s
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,13 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRANhWCxxLoAmvxs3mtkIfoEYwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABFIL82i8Lw23GklPO3dhd7UonwbZ6XYQ0hX16TKDoEiF7eu7OfAF
WksVqGWZlUrak2F7lfASQF4dn8WDB+fvJXujTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIAZVmJC+KXlZA95tpE8DtD/xJqg6aOmU
DvbGAeccLb5PMAoGCCqGSM49BAMCA0gAMEUCIQDotlD1UlpKYlQWWp80W0DvJhxZ
Q8QZm7vDTP9xDwgH/gIgWRivrcoL35yp8ACozfGVs4FVnJTxgBE/z3cIYO4dS/s=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICMDCCAdagAwIBAgIRAPbKwadSmJh3VAnoKWQtThEwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMGkxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j
b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATM0PsnILzXKXZCIon7sJgXOF1z
oyX4s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKDo18w
XTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTAD
AQH/MCkGA1UdDgQiBCAGVZiQvil5WQPebaRPA7Q/8SaoOmjplA72xgHnHC2+TzAK
BggqhkjOPQQDAgNIADBFAiEA6YnPBFAz3fGQKXP6meEZooYhJZS0AxG6/OiSRlWp
5SsCIFK9Hx6fB7jSNWvtv6wpsOtQgwnlMcOIvKMwfZoezIvN
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguvc2KI5t+mMd1pPH
bd1dBsWr25SYfpgdrlet+8EGPD6hRANCAARSC/NovC8NtxpJTzt3YXe1KJ8G2el2
ENIV9ekyg6BIhe3ruznwBVpLFahlmZVK2pNhe5XwEkBeHZ/Fgwfn7yV7
-----END PRIVATE KEY-----

View File

@ -1,13 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICCzCCAbGgAwIBAgIRANhWCxxLoAmvxs3mtkIfoEYwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBaMFYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABFIL82i8Lw23GklPO3dhd7UonwbZ6XYQ0hX16TKDoEiF7eu7OfAF
WksVqGWZlUrak2F7lfASQF4dn8WDB+fvJXujTTBLMA4GA1UdDwEB/wQEAwIHgDAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIAZVmJC+KXlZA95tpE8DtD/xJqg6aOmU
DvbGAeccLb5PMAoGCCqGSM49BAMCA0gAMEUCIQDotlD1UlpKYlQWWp80W0DvJhxZ
Q8QZm7vDTP9xDwgH/gIgWRivrcoL35yp8ACozfGVs4FVnJTxgBE/z3cIYO4dS/s=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICKzCCAdKgAwIBAgIQDnBVSgj/w031TaF6zsUDkjAKBggqhkjOPQQDAjBsMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowVjELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
Y2lzY28xGjAYBgNVBAMMEUFkbWluQGV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEuIgH+i6I78B5s35WLzf52pKq2lqPSxb1O2p0P5qxbPhouUHp
AuaGSUE+lA7rOEkhOgIS3Augfq973WRLSv8H16NsMGowDgYDVR0PAQH/BAQDAgWg
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMCsG
A1UdIwQkMCKAIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S+0r4MAoGCCqG
SM49BAMCA0cAMEQCIBlJHFWffEbo55UO9i1coa6o0940YOLzXMDb/hyRPyO/AiA8
zm7S0giNChs+xYS6V0vfA/wh4HJVgDuGrvXHag4IMQ==
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqeIIYAsjWCcMmRkp
C3C9hs0Q2opH7TbmrdrXoZJj/LGhRANCAAS4iAf6LojvwHmzflYvN/nakqraWo9L
FvU7anQ/mrFs+Gi5QekC5oZJQT6UDus4SSE6AhLcC6B+r3vdZEtK/wfX
-----END PRIVATE KEY-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghIfmhCzLHkJqLBrp
ZD16VLNqPxH9Dpdr7IRK/3I79wKhRANCAATF5TnbRZU9YBnAYy7zkYlWZpLx3eyL
r16b+nnFgwajBCQWkoyls5fDTnMB9K4gdHQJvv/Cu9pWpKZXTVVl9onJ
-----END PRIVATE KEY-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQJ24cvAJMZ5y+HIv0lVxj/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJqqIOM1lhfOTv53E+BNTNdgaQhRh66L
qDJ8YJfRSKReQQm6Ups8SN9S28s7OEzDuOsJ0cqkTigVcF9wlFyRy6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgWQ2KKXUS
ewr2H2H+RWliT/ASiZUUrs1y0LiyjTkn14QCIDLNQPYPw+1FRQwt1CIQzVV5FTQI
NfI9pPRriogFAy7n
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQJ24cvAJMZ5y+HIv0lVxj/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJqqIOM1lhfOTv53E+BNTNdgaQhRh66L
qDJ8YJfRSKReQQm6Ups8SN9S28s7OEzDuOsJ0cqkTigVcF9wlFyRy6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgWQ2KKXUS
ewr2H2H+RWliT/ASiZUUrs1y0LiyjTkn14QCIDLNQPYPw+1FRQwt1CIQzVV5FTQI
NfI9pPRriogFAy7n
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqWPbCN4RHdB5tr8x
Ij4IT03vyzFZr0osDrvgJWQE+mShRANCAARBeheIf6n/DYsdMK/J0ON8PqOJSk98
fwA51/eIg0joCJj9rLBTU0/iYeSemqwpQNWrhp3jH1C/LEBgfZCkMlwx
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQRv6BL/u3L+PhJ1aSrRZPnzAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQXoXiH+p/w2LHTCvydDjfD6jiUpPfH8A
Odf3iINI6AiY/aywU1NP4mHknpqsKUDVq4ad4x9QvyxAYH2QpDJcMaNNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgYahj3le0
Jc8KI9AHz+jOn3NjIywfp9JdC6pnQzETZQACIHV/+u7hDb3ytzLgjkxnqHUpLBhv
RkzctwF1AVEl11AM
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICZzCCAg2gAwIBAgIQfHsr/8TSwM4bk0kgS5u/0jAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcxLmV4YW1wbGUuY29t
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/ZORGlh6kSbpdAn0LfZfvC/pJYaO
RCSrPvL1A6b1/Qnwe+BLO9d1EfiwyZhcEReTfr18Bnh2AeCLnL+uuVIy0KOBlzCB
lDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgpKm2JRN6LYLzW97fCH7jLi9irEE2
+HLF4brsEmqFLrQwKAYDVR0RBCEwH4IWcGVlcjAub3JnMS5leGFtcGxlLmNvbYIF
cGVlcjAwCgYIKoZIzj0EAwIDSAAwRQIhALqbj7LKlLTE6ER06UVEtVPjSPhKg7iu
KSc3eHMmtQGIAiAMMpP60aVgR3wZYTXqpbla8JZyK7x1oX/eUv0mW4WQZg==
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgd0S7NjRobJcDsPoo
kwP/IUjrQqKmIZHY7q1qke/YOWChRANCAAT9k5EaWHqRJul0CfQt9l+8L+klho5E
JKs+8vUDpvX9CfB74Es713UR+LDJmFwRF5N+vXwGeHYB4Iucv665UjLQ
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQJ24cvAJMZ5y+HIv0lVxj/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJqqIOM1lhfOTv53E+BNTNdgaQhRh66L
qDJ8YJfRSKReQQm6Ups8SN9S28s7OEzDuOsJ0cqkTigVcF9wlFyRy6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgWQ2KKXUS
ewr2H2H+RWliT/ASiZUUrs1y0LiyjTkn14QCIDLNQPYPw+1FRQwt1CIQzVV5FTQI
NfI9pPRriogFAy7n
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgKfBefTd8K711TEBx
fuJNRG1LHMD9FQBQgKaOSmm3GoChRANCAAS2B4Zl80zNmngDiFDFBrHVQAHc6RXO
MMj4hZOkgHyMvLDpRD7Lq+UkEsMlG4FzNKpnHy9XwPawHZB5cC2tWR3I
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRANYetlHEfJZZtMDqu35quOowCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjEub3JnMS5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABLYHhmXzTM2aeAOIUMUGsdVAAdzpFc4w
yPiFk6SAfIy8sOlEPsur5SQSwyUbgXM0qmcfL1fA9rAdkHlwLa1ZHcijTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIG3mFUm075OC
5nkfPbwPS547HFNB7cI/yPu97NLksODSMAoGCCqGSM49BAMCA0cAMEQCIA9ewJLN
2dWDwOB2smtJqOH5bskm8/LqlDeBNBYk70I3AiAnKAJoS/gZ+deb59eeqbi8Kv/k
5+Cr1DM0EPJ0zUqt5A==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICZzCCAg2gAwIBAgIQcqeN5foMMTg0eO+c6c/gGzAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMS5vcmcxLmV4YW1wbGUuY29t
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7/7EMgj817wspCOGdZQ+6QBMXqt7
KHoCirhvQtzxnT74opAgsnYMRpImF82fipkJAbyEcJ4xWR8oJ2GrtNr/6KOBlzCB
lDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgpKm2JRN6LYLzW97fCH7jLi9irEE2
+HLF4brsEmqFLrQwKAYDVR0RBCEwH4IWcGVlcjEub3JnMS5leGFtcGxlLmNvbYIF
cGVlcjEwCgYIKoZIzj0EAwIDSAAwRQIhAO8Yc3MNSQJl3708UIuwk7owSsPYJVYy
xOvuKXLKh67ZAiBIe+QihTNuvlDJvFTCdsJcfgBBHPkQd5L8iQsfivGgrQ==
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOe2zWsHZMTGT1BKl
zywbCiql0z4CYsjVlgzbrakPYi6hRANCAATv/sQyCPzXvCykI4Z1lD7pAExeq3so
egKKuG9C3PGdPviikCCydgxGkiYXzZ+KmQkBvIRwnjFZHygnYau02v/o
-----END PRIVATE KEY-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgnTd8izocVAEJLbac
tWICw67lbMboThXvjWbCOiGaJ9ehRANCAAQucl1GqxUYcyj+UBt8ZGPxlXtaqo6t
33uAupgBAmHU0q0GBodXsIEb3L/Ca2T99y/CKjYpdJXN5JqAiqms3m9d
-----END PRIVATE KEY-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQJ24cvAJMZ5y+HIv0lVxj/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJqqIOM1lhfOTv53E+BNTNdgaQhRh66L
qDJ8YJfRSKReQQm6Ups8SN9S28s7OEzDuOsJ0cqkTigVcF9wlFyRy6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgWQ2KKXUS
ewr2H2H+RWliT/ASiZUUrs1y0LiyjTkn14QCIDLNQPYPw+1FRQwt1CIQzVV5FTQI
NfI9pPRriogFAy7n
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgzS8FrIAa3qOjX73P
FjHDJvZwle0ScdR62UlRVmA3p0OhRANCAAR8mqog4zWWF85O/ncT4E1M12BpCFGH
rouoMnxgl9FIpF5BCbpSmzxI31Lbyzs4TMO46wnRyqROKBVwX3CUXJHL
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQJ24cvAJMZ5y+HIv0lVxj/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJqqIOM1lhfOTv53E+BNTNdgaQhRh66L
qDJ8YJfRSKReQQm6Ups8SN9S28s7OEzDuOsJ0cqkTigVcF9wlFyRy6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgbeYVSbTvk4Lm
eR89vA9LnjscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgWQ2KKXUS
ewr2H2H+RWliT/ASiZUUrs1y0LiyjTkn14QCIDLNQPYPw+1FRQwt1CIQzVV5FTQI
NfI9pPRriogFAy7n
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICOjCCAeGgAwIBAgIQbK6FbU31KwALmK2Z45TmrTAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29t
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEd4/ZO57UEMCL6ThW5R8bi6kMsd3p
kzvPJqEXiswtC0ROG7YT0Ky0lyJuo5BF/nv/AKBGsT5ZHOZxypYs4ZARWaNsMGow
DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIKSptiUTei2C81ve3wh+4y4vYqxBNvhy
xeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIDUpGUSRRy0RcZf3z7h3oAdNuK32
uSLdZ0FqMGdYGcIIAiBde2WvxP3CmqLZSQEw2mR6IpRcJYap1cozSmXCwEmnfQ==
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgZQ+RJAXOT6aQ2t6R
LrrVc7E8EUeso32PJFusiutCz6mhRANCAAR3j9k7ntQQwIvpOFblHxuLqQyx3emT
O88moReKzC0LRE4bthPQrLSXIm6jkEX+e/8AoEaxPlkc5nHKlizhkBFZ
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAOwkDt1N4pGtDlkFHJuqDD4wCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABJyxgiK73CXyfUfyUyhckIojRm5rB5vv
fA4rNq3b8E7rVhMUK103WYPL96EwyQY7KbXNMC1dBIwPWohDmh6aTamjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIG3mFUm075OC
5nkfPbwPS547HFNB7cI/yPu97NLksODSMAoGCCqGSM49BAMCA0cAMEQCIGYABqah
FIRnanjFKgFf8c9qYZgc2Ta/4W1tHwogF8CBAiAL0jCWG4IgJCsjEx7QcHH9rJ6F
K86H6HK+pAx9RAq5zw==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQPvW4anFBfPsU0XRUt49FzTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
xeU520WVPWAZwGMu85GJVmaS8d3si69em/p5xYMGowQkFpKMpbOXw05zAfSuIHR0
Cb7/wrvaVqSmV01VZfaJyaNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgbeYVSbTvk4LmeR89vA9L
njscU0Htwj/I+73s0uSw4NIwCgYIKoZIzj0EAwIDRwAwRAIgIIfJBFxc4AC6pc/0
oaiVlFqS2y2d0NuFpfRelKuWnyMCIFB2gwJ8rUVvNLvTMvcWl2ycBEpslMnmUiJz
OXUDBZiy
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg1BSYBh9z9Ezju00p
nmxVx945igBfYvmIrAjKqedeo8ahRANCAAScsYIiu9wl8n1H8lMoXJCKI0Zuaweb
73wOKzat2/BO61YTFCtdN1mDy/ehMMkGOym1zTAtXQSMD1qIQ5oemk2p
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAOwkDt1N4pGtDlkFHJuqDD4wCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABJyxgiK73CXyfUfyUyhckIojRm5rB5vv
fA4rNq3b8E7rVhMUK103WYPL96EwyQY7KbXNMC1dBIwPWohDmh6aTamjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIG3mFUm075OC
5nkfPbwPS547HFNB7cI/yPu97NLksODSMAoGCCqGSM49BAMCA0cAMEQCIGYABqah
FIRnanjFKgFf8c9qYZgc2Ta/4W1tHwogF8CBAiAL0jCWG4IgJCsjEx7QcHH9rJ6F
K86H6HK+pAx9RAq5zw==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAfCgAwIBAgIRAPcErel6bDqCktlsWVDjEpQwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0G
A1UEAxMWdGxzY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
AwEHA0IABC5yXUarFRhzKP5QG3xkY/GVe1qqjq3fe4C6mAECYdTSrQYGh1ewgRvc
v8JrZP33L8IqNil0lc3kmoCKqazeb12jXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV
HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIKSptiUTei2C
81ve3wh+4y4vYqxBNvhyxeG67BJqhS60MAoGCCqGSM49BAMCA0cAMEQCIG2A3h+V
qi6vHJZBdLsSbRXo2JTbmzPH9EAhC86T8pveAiB+bndoDOCdHLcc/TibB4cJa2Mn
PzaRI2RLnGexXmrhcA==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICOzCCAeKgAwIBAgIRAK+m8QW4ZVe8E0GHWIe1Y6EwCgYIKoZIzj0EAwIwdjEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYz
NzQwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNv
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABK4/kv7B+amCXRQMkt2lPsaaVc7H
pLOPN24yPlv2pCZIRxQ5ekjDufRwZzwyhD8XKTsUGSZ0wq1sUp2TH7HDWeyjbDBq
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCCkqbYlE3otgvNb3t8IfuMuL2KsQTb4
csXhuuwSaoUutDAKBggqhkjOPQQDAgNHADBEAiBcMqQWvQrFTqRlS2fAr9cs4Iw/
bXxvqlfD4+yp4KK+hAIgM8Dm0UcxmN0Do/CUs7O2BXbdm83P7nBgHRSrsHqqIZk=
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcJu0Pjoi6cIYvbUF
VNPCoCnvKPw0iYnIYU2n5aT5KaOhRANCAASuP5L+wfmpgl0UDJLdpT7GmlXOx6Sz
jzduMj5b9qQmSEcUOXpIw7n0cGc8MoQ/Fyk7FBkmdMKtbFKdkx+xw1ns
-----END PRIVATE KEY-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgWP5Agcauhf6fy5xu
ZvAK5MtFgaMpzQgxxWCGX0wRwnyhRANCAASoCn9eQZC0jiDp0D0yS8EmeisW+4XB
FtLz92MzCQOjJ90xDuQJLU0mWI0gQ2A7QFUUE29w7N3zmjRTd7AwvUZ/
-----END PRIVATE KEY-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQN6qZ4KEZP2nsHBxZuPSbszAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
qAp/XkGQtI4g6dA9MkvBJnorFvuFwRbS8/djMwkDoyfdMQ7kCS1NJliNIENgO0BV
FBNvcOzd85o0U3ewML1Gf6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgiqAh/B1Idvgp/8Sukq4X
KtK0RSzyHHactGMLrm3N0VEwCgYIKoZIzj0EAwIDRwAwRAIgDdiTnhN11o38AKPk
jqnP68uE6fKp3Fszl2KcHqA/JN8CIGcOzKdK0SAqhlymvrT65waMFb9lzYeDWqR6
rUfJ9Qp8
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAN/KUV2he5NK+/bsO2rTf7YwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzIuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMi5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABEodehTxnk3Vq6wW6lN9X7QzymkDYM/X
cepXRlTioNrE1qv/cPouB+BsQnqL+FCgpj0PGC+2O/jzYJNDA1ULUXqjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIIqgIfwdSHb4
Kf/ErpKuFyrStEUs8hx2nLRjC65tzdFRMAoGCCqGSM49BAMCA0cAMEQCIHq3yXkT
zMcKC7y33JREEJJbk50scrtYiFWCoDBeaQORAiBaKe9Hz+A3WSry8jDyvQeKXekZ
NmtEATWG5Vu4tPYZdg==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQN6qZ4KEZP2nsHBxZuPSbszAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
qAp/XkGQtI4g6dA9MkvBJnorFvuFwRbS8/djMwkDoyfdMQ7kCS1NJliNIENgO0BV
FBNvcOzd85o0U3ewML1Gf6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgiqAh/B1Idvgp/8Sukq4X
KtK0RSzyHHactGMLrm3N0VEwCgYIKoZIzj0EAwIDRwAwRAIgDdiTnhN11o38AKPk
jqnP68uE6fKp3Fszl2KcHqA/JN8CIGcOzKdK0SAqhlymvrT65waMFb9lzYeDWqR6
rUfJ9Qp8
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAe+gAwIBAgIQSTc0+tixMH2d2L8MI/6XzjAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEtBOsiBcmRw3Q7s7FNRW8pCGFgIotoVhw+Sbjp7d1LRVhgOVVael+KpaX
r2QRLfRm1TTBOK841LsDqjpwX0/ov6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1Ud
JQQIMAYGBFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgu7waLAmy87xr
+IaE3RHNALNUi7ngXcqW0ao7Ol+BnGQwCgYIKoZIzj0EAwIDSAAwRQIhAJTEu1jJ
a3ceq0cZRwZys3/YXMiviUJ9gI9dCTL6hCrpAiBsA4AipBZlf6Uu4eO6C/0x+ghc
pCtryvR4THlZUGjmpA==
-----END CERTIFICATE-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAN/KUV2he5NK+/bsO2rTf7YwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzIuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMi5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABEodehTxnk3Vq6wW6lN9X7QzymkDYM/X
cepXRlTioNrE1qv/cPouB+BsQnqL+FCgpj0PGC+2O/jzYJNDA1ULUXqjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIIqgIfwdSHb4
Kf/ErpKuFyrStEUs8hx2nLRjC65tzdFRMAoGCCqGSM49BAMCA0cAMEQCIHq3yXkT
zMcKC7y33JREEJJbk50scrtYiFWCoDBeaQORAiBaKe9Hz+A3WSry8jDyvQeKXekZ
NmtEATWG5Vu4tPYZdg==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQN6qZ4KEZP2nsHBxZuPSbszAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
qAp/XkGQtI4g6dA9MkvBJnorFvuFwRbS8/djMwkDoyfdMQ7kCS1NJliNIENgO0BV
FBNvcOzd85o0U3ewML1Gf6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgiqAh/B1Idvgp/8Sukq4X
KtK0RSzyHHactGMLrm3N0VEwCgYIKoZIzj0EAwIDRwAwRAIgDdiTnhN11o38AKPk
jqnP68uE6fKp3Fszl2KcHqA/JN8CIGcOzKdK0SAqhlymvrT65waMFb9lzYeDWqR6
rUfJ9Qp8
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggkPxt/gVSQd3pbXm
6/8Cau/Ne6OENP5XoDJPK6a3IoihRANCAARh1uKnuDcGCCchPAAFZOQKfCK35Nbb
yos613b25s1eZuNbPP4dDioScEKhysYJ6aH1dVsghDBtI939I9EkhbYP
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAb+gAwIBAgIQNY7sACQPpsjgEWEueGFt/zAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcyLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYdbip7g3BggnITwABWTkCnwit+TW28qL
Otd29ubNXmbjWzz+HQ4qEnBCocrGCemh9XVbIIQwbSPd/SPRJIW2D6NNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgiqAh/B1Idvgp
/8Sukq4XKtK0RSzyHHactGMLrm3N0VEwCgYIKoZIzj0EAwIDSAAwRQIhALA333hl
SlkK2WOjOrLnYCVJ5jCwSE+fPw6Z14aR3HzDAiACWwyCNHAXQhSDTLUtrrNcjvBL
J0FtUXOA+WqW+QAkOA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAe+gAwIBAgIQSTc0+tixMH2d2L8MI/6XzjAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEtBOsiBcmRw3Q7s7FNRW8pCGFgIotoVhw+Sbjp7d1LRVhgOVVael+KpaX
r2QRLfRm1TTBOK841LsDqjpwX0/ov6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1Ud
JQQIMAYGBFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgu7waLAmy87xr
+IaE3RHNALNUi7ngXcqW0ao7Ol+BnGQwCgYIKoZIzj0EAwIDSAAwRQIhAJTEu1jJ
a3ceq0cZRwZys3/YXMiviUJ9gI9dCTL6hCrpAiBsA4AipBZlf6Uu4eO6C/0x+ghc
pCtryvR4THlZUGjmpA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICSTCCAe+gAwIBAgIQSTc0+tixMH2d2L8MI/6XzjAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD
VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEtBOsiBcmRw3Q7s7FNRW8pCGFgIotoVhw+Sbjp7d1LRVhgOVVael+KpaX
r2QRLfRm1TTBOK841LsDqjpwX0/ov6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1Ud
JQQIMAYGBFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgu7waLAmy87xr
+IaE3RHNALNUi7ngXcqW0ao7Ol+BnGQwCgYIKoZIzj0EAwIDSAAwRQIhAJTEu1jJ
a3ceq0cZRwZys3/YXMiviUJ9gI9dCTL6hCrpAiBsA4AipBZlf6Uu4eO6C/0x+ghc
pCtryvR4THlZUGjmpA==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICZjCCAg2gAwIBAgIQWGnXQt0AoR4REuCVbs6zlDAKBggqhkjOPQQDAjB2MQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3
NDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcyLmV4YW1wbGUuY29t
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjcqsHOVhT8r6Yq2/tUg/ykzSKEwd
J1k3iR24ayG0fz5glYJeyifTln8pCvylgq7pB8mAz1+zwsEM8B/xehLQLaOBlzCB
lDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgu7waLAmy87xr+IaE3RHNALNUi7ng
XcqW0ao7Ol+BnGQwKAYDVR0RBCEwH4IWcGVlcjAub3JnMi5leGFtcGxlLmNvbYIF
cGVlcjAwCgYIKoZIzj0EAwIDRwAwRAIhAMLX9t5BiN+n6uiEluFNt7Lt6JTx+rI4
oyGqAGLoSh0dAh89MT/FybJ9xaH4p2wNHP0UEC3EGbVlrxbMPYnRva3n
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgaaAw2M+Jjd0kqcEh
X64tUhB+fZ4H+N95OaThJAxJhqihRANCAASNyqwc5WFPyvpirb+1SD/KTNIoTB0n
WTeJHbhrIbR/PmCVgl7KJ9OWfykK/KWCrukHyYDPX7PCwQzwH/F6EtAt
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAN/KUV2he5NK+/bsO2rTf7YwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzIuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMi5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABEodehTxnk3Vq6wW6lN9X7QzymkDYM/X
cepXRlTioNrE1qv/cPouB+BsQnqL+FCgpj0PGC+2O/jzYJNDA1ULUXqjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIIqgIfwdSHb4
Kf/ErpKuFyrStEUs8hx2nLRjC65tzdFRMAoGCCqGSM49BAMCA0cAMEQCIHq3yXkT
zMcKC7y33JREEJJbk50scrtYiFWCoDBeaQORAiBaKe9Hz+A3WSry8jDyvQeKXekZ
NmtEATWG5Vu4tPYZdg==
-----END CERTIFICATE-----

View File

@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQN6qZ4KEZP2nsHBxZuPSbszAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xNzA5MjcwNjM3NDBaFw0yNzA5MjUwNjM3NDBa
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD
ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
qAp/XkGQtI4g6dA9MkvBJnorFvuFwRbS8/djMwkDoyfdMQ7kCS1NJliNIENgO0BV
FBNvcOzd85o0U3ewML1Gf6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG
BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgiqAh/B1Idvgp/8Sukq4X
KtK0RSzyHHactGMLrm3N0VEwCgYIKoZIzj0EAwIDRwAwRAIgDdiTnhN11o38AKPk
jqnP68uE6fKp3Fszl2KcHqA/JN8CIGcOzKdK0SAqhlymvrT65waMFb9lzYeDWqR6
rUfJ9Qp8
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgSJpf6xdRTXN8dxGE
JnP4wVbl5ZCsY2LSyTYvs/uusfqhRANCAATn000+n8NNnEgsHmPu7GxPgaqN841V
INBjGCYRdFyBV/Amk7DKNfUp+8wB8xORpNz0aE3FwyhJk79Ew6SEKvU5
-----END PRIVATE KEY-----

View File

@ -1,14 +0,0 @@
-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRALIyFgGGfzpgc2/oWpTB1NgwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzIuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjEub3JnMi5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABOfTTT6fw02cSCweY+7sbE+Bqo3zjVUg
0GMYJhF0XIFX8CaTsMo19Sn7zAHzE5Gk3PRoTcXDKEmTv0TDpIQq9TmjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIIqgIfwdSHb4
Kf/ErpKuFyrStEUs8hx2nLRjC65tzdFRMAoGCCqGSM49BAMCA0cAMEQCIH/wwAH+
FWdLXi39ZxczcrG8Cf+ZbpeSDiJu19ffaim3AiAnsV8jqkuWBbSoOm8gWCL/IN8B
aUD9Aef9n6eby2yVFw==
-----END CERTIFICATE-----

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