Remove fabric v1.0.3
parent
03d039a00d
commit
480a53e904
|
@ -1,35 +0,0 @@
|
||||||
## Chaincode Tests
|
|
||||||
|
|
||||||
All the test command needs to be executed inside the `fabric-cli` container.
|
|
||||||
|
|
||||||
Use the following command to login into the container fabric-cli
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker exec -it fabric-cli bash
|
|
||||||
```
|
|
||||||
|
|
||||||
After finish the chaincode tests, you can log-out by `exit`.
|
|
||||||
|
|
||||||
|
|
||||||
### Chaincode Operations
|
|
||||||
|
|
||||||
You can execute some chaincode operations, such as `query` or `invoke`,
|
|
||||||
and you can modify the parameters and execute this script repeatedly.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ bash ./scripts/test_4peers.sh #execute in container fabric-cli
|
|
||||||
```
|
|
||||||
|
|
||||||
You should see the following output:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
|
|
||||||
UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
|
|
||||||
UTC [msp/identity] Sign -> DEBU 006 Sign: plaintext: 0AB7070A6D08031A0C08C3EAE9C90510...6D7963631A0A0A0571756572790A0161
|
|
||||||
UTC [msp/identity] Sign -> DEBU 007 Sign: digest: FA308EF50C4812BADB60D58CE15C1CF41089EFB93B27D46885D92C92F55E98A0
|
|
||||||
Query Result: 80
|
|
||||||
UTC [main] main -> INFO 008 Exiting.....
|
|
||||||
===================== Query on PEER3 on channel 'businesschannel' is successful =====================
|
|
||||||
|
|
||||||
===================== All GOOD, End-2-End execution completed =====================
|
|
||||||
```
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
To bootup a fabric network, we need:
|
To bootup a fabric network, we need:
|
||||||
|
|
||||||
* crypto_config: crypto keys/certs for all organizations, see `e2e_cli/crypto-config`
|
* crypto_config: crypto keys/certs for all organizations, see `solo/crypto-config`
|
||||||
* orderer_genesis.block: genesis block to bootup orderer, see `e2e_cli/channel-artifacts`
|
* orderer_genesis.block: genesis block to bootup orderer, see `solo/channel-artifacts`
|
||||||
* channel.tx: transaction to create an application channel, see `e2e_cli/channel-artifacts`
|
* channel.tx: transaction to create an application channel, see `solo/channel-artifacts`
|
||||||
* Org1MSPanchors.tx, Org2MSPanchors.tx: Transaction to update anchor config in Org1 and Org2, see `e2e_cli/channel-artifacts`
|
* Org1MSPanchors.tx, Org2MSPanchors.tx: Transaction to update anchor config in Org1 and Org2, see `solo/channel-artifacts`
|
||||||
|
|
||||||
### Generate crypto-config using cryptogen
|
### Generate crypto-config using cryptogen
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
### Start network with CouchDB
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose -f docker-compose-2orgs-4peers.yaml -f docker-compose-2orgs-4peers-couchdb.yaml up
|
|
||||||
```
|
|
||||||
|
|
||||||
To use CouchDB instead of the default database leveldb, The same chaincode functions are available with CouchDB, however, there is the
|
|
||||||
added ability to perform rich and complex queries against the state database
|
|
||||||
data content contingent upon the chaincode data being modeled as JSON
|
|
||||||
|
|
||||||
### Test chaincode_example02
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker exec -it fabric-cli bash
|
|
||||||
|
|
||||||
bash ./scripts/initialize.sh
|
|
||||||
|
|
||||||
bash ./scripts/test_4peers.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
You can use chaincode_example02 chaincode against the CouchDB state database
|
|
||||||
using the steps outlined above, however in order to exercise the CouchDB query
|
|
||||||
capabilities you will need to use a chaincode that has data modeled as JSON.
|
|
||||||
(e.g. marbles02)
|
|
||||||
|
|
||||||
### [WIP] [Test example marbles02](https://github.com/hyperledger/fabric/blob/master/examples/chaincode/go/marbles02/marbles_chaincode.go)
|
|
||||||
|
|
||||||
### Interact with CouchDb by WEB-UI
|
|
||||||
|
|
||||||
The browser is `http://localhost:5984/_utils`, then you will find a database named `businesschannel`
|
|
||||||
|
|
|
@ -1,122 +0,0 @@
|
||||||
## Use default channel
|
|
||||||
|
|
||||||
By default, all the peer will join the default chain of `testchainid`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker exec -it fabric-cli bash
|
|
||||||
$ peer channel list
|
|
||||||
Channels peers has joined to:
|
|
||||||
testchainid
|
|
||||||
UTC [main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
After the cluster is synced successfully, you can validate by install/instantiate, invoking or querying chaincode from the container or from the host.
|
|
||||||
|
|
||||||
### install&instantiate
|
|
||||||
Use `docker exec -it fabric-cli bash` to open a bash inside container `fabric-cli`, which will accept our chaincode testing commands of `install&instantiate`, `invoke` and `query`.
|
|
||||||
|
|
||||||
Inside the container, run the following command to install a new chaincode of the example02. The chaincode will initialize two accounts: `a` and `b`, with value of `100` and `200`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode install -v 1.0 -n test_cc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
|
|
||||||
```
|
|
||||||
This will take a while, and the result may look like following.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
[golang-platform] writeGopathSrc -> INFO 001 rootDirectory = /go/src
|
|
||||||
container] WriteFolderToTarPackage -> INFO 002 rootDirectory = /go/src
|
|
||||||
[main] main -> INFO 003 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
Then instantiate the chaincode test_cc on defaule channel testchainid.
|
|
||||||
```bash
|
|
||||||
$ peer chaincode instantiate -v 1.0 -n test_cc -c '{"Args":["init","a","100","b","200"]}' -o orderer0:7050
|
|
||||||
```
|
|
||||||
|
|
||||||
This will take a while, and the result may look like following:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
|
|
||||||
UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
|
|
||||||
UTC [main] main -> INFO 003 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
There should be no error in the return log, and in the peer nodes's output.
|
|
||||||
Wait several seconds till the deploy is finished.
|
|
||||||
|
|
||||||
If the `peer chaincode install` and `peer chaincode instantiate` commands are executed successfully, there will generate a new chaincode container, besides the 4 existing one, name like `dev-peer0-test_cc-1.0`.
|
|
||||||
```bash
|
|
||||||
$ docker ps
|
|
||||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
||||||
cf7bf529f214 dev-peer0-test_cc-1.0 "chaincode -peer.a..." 58 seconds ago Up 58 seconds dev-peer0-test_cc-1.0
|
|
||||||
44b6870b0802 hyperledger/fabric-peer "bash -c 'while tr..." 14 minutes ago Up 14 minutes 7050-7059/tcp fabric-cli
|
|
||||||
ed2c4927c0ed hyperledger/fabric-peer "peer node start -..." 14 minutes ago Up 14 minutes 7050/tcp, 7052-7059/tcp, 0.0.0.0:7051->7051/tcp fabric-peer0
|
|
||||||
af5ba8f213bb hyperledger/fabric-orderer "orderer" 14 minutes ago Up 14 minutes 0.0.0.0:7050->7050/tcp fabric-orderer0
|
|
||||||
bbe31b98445f hyperledger/fabric-ca "fabric-ca-server ..." 14 minutes ago Up 14 minutes 7054/tcp, 0.0.0.0:7054->7054/tcp fabric-ca
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
And will also generate a new chaincode image, name like `dev-peer0-test_cc-1.0`.
|
|
||||||
```bash
|
|
||||||
$ docker images
|
|
||||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
|
||||||
dev-peer0-test_cc-1.0 latest 84e5422eead5 About a minute ago 176 MB
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
### Query
|
|
||||||
Inside the container, query the existing value of `a` and `b`.
|
|
||||||
|
|
||||||
*Notice that the query method can be called by invoke a transaction.*
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -n test_cc -c '{"Args":["query","a"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
The final output may look like the following, with a payload value of `100`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Query Result: 100
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
Query the value of `b`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -n test_cc -c '{"Args":["query","b"]}' -o orderer0:7050
|
|
||||||
```
|
|
||||||
|
|
||||||
The final output may look like the following, with a payload value of `200`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Query Result: 200
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Invoke
|
|
||||||
Inside the container, invoke a transaction to transfer `10` from `a` to `b`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode invoke -n test_cc -c '{"Args":["invoke","a","b","10"]}' -o orderer0:7050
|
|
||||||
```
|
|
||||||
|
|
||||||
The final result may look like the following, the response should be `OK`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
[chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Invoke result: version:1 response:<status:200 message:"OK" > payload:"\n \215\263\337\322u\323?\242t$s\035l\270Ta\270\270+l6\322X\346\365k\020\215Phy\260\022C\n<\002\004lccc\001\007test_cc\004\001\001\001\001\000\000\007test_cc\002\001a\004\001\001\001\001\001b\004\001\001\001\001\002\001a\000\00290\001b\000\003210\000\032\003\010\310\001" endorsement:<endorser:"\n\007DEFAULT\022\232\007-----BEGIN -----\nMIICjDCCAjKgAwIBAgIUBEVwsSx0TmqdbzNwleNBBzoIT0wwCgYIKoZIzj0EAwIw\nfzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xHzAdBgNVBAoTFkludGVybmV0IFdpZGdldHMsIEluYy4xDDAK\nBgNVBAsTA1dXVzEUMBIGA1UEAxMLZXhhbXBsZS5jb20wHhcNMTYxMTExMTcwNzAw\nWhcNMTcxMTExMTcwNzAwWjBjMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGgg\nQ2Fyb2xpbmExEDAOBgNVBAcTB1JhbGVpZ2gxGzAZBgNVBAoTEkh5cGVybGVkZ2Vy\nIEZhYnJpYzEMMAoGA1UECxMDQ09QMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\nHBuKsAO43hs4JGpFfiGMkB/xsILTsOvmN2WmwpsPHZNL6w8HWe3xCPQtdG/XJJvZ\n+C756KEsUBM3yw5PTfku8qOBpzCBpDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYw\nFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFOFC\ndcUZ4es3ltiCgAVDoyLfVpPIMB8GA1UdIwQYMBaAFBdnQj2qnoI/xMUdn1vDmdG1\nnEgQMCUGA1UdEQQeMByCCm15aG9zdC5jb22CDnd3dy5teWhvc3QuY29tMAoGCCqG\nSM49BAMCA0gAMEUCIDf9Hbl4xn3z4EwNKmilM9lX2Fq4jWpAaRVB97OmVEeyAiEA\n25aDPQHGGq2AvhKT0wvt08cX1GTGCIbfmuLpMwKQj38=\n-----END -----\n" signature:"0E\002!\000\271\232\230\261\336\352ow\021V3\224\252\217\362vzM'\213\376@2\306/\201=\213\023\244\310%\002 \014\277\362|\223\342\277Pk5(\004\331\014\021\307\273\351/]:\020\232\013d\261\035+\266\265\305<" >
|
|
||||||
[main] main -> INFO 002 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
### Query
|
|
||||||
Query again the existing value of `a` and `b`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -n test_cc -c '{"Args":["query","a"]}'
|
|
||||||
```
|
|
||||||
The new value of `a` should be 90.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -n test_cc -c '{"Args":["query","b"]}'
|
|
||||||
```
|
|
||||||
The new value of `b` should be 210.
|
|
|
@ -1,221 +0,0 @@
|
||||||
### Explain 1-peer usage step by step
|
|
||||||
|
|
||||||
This section will show you how to operate the chaincode in detail.
|
|
||||||
first start fabric network with `docker-compose-1peer.yaml`, and we will obtain the basic environmet that can be operated.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose -f docker-compose-1peer.yaml up
|
|
||||||
```
|
|
||||||
|
|
||||||
There will be 4 containers running successfully.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker ps
|
|
||||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
||||||
6688f290a9b9 hyperledger/fabric-peer "bash -c 'while tr..." About a minute ago Up About a minute 7050-7059/tcp fabric-cli
|
|
||||||
6ddbbd972ac3 hyperledger/fabric-peer "peer node start -..." About a minute ago Up About a minute 7050/tcp, 0.0.0.0:7051->7051/tcp, 7052/tcp, 7054-7059/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com
|
|
||||||
4afc759e0dc9 hyperledger/fabric-orderer "orderer" About a minute ago Up About a minute 0.0.0.0:7050->7050/tcp orderer.example.com
|
|
||||||
bea1154c7162 hyperledger/fabric-ca "fabric-ca-server ..." About a minute ago Up About a minute 7054/tcp, 0.0.0.0:7054->7054/tcp fabric-ca
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### Create artifacts
|
|
||||||
|
|
||||||
**This step can be safely skipped.**.
|
|
||||||
|
|
||||||
As we already put the needed artifacts `orderer.genesis.block` and `channel.tx` under `e2e_cli/channel-artifacts/`.
|
|
||||||
|
|
||||||
Detailed steps in [GenerateArtifacts](artifacts_generation.md) explains the creation of `orderer.genesis.block` (needed by orderering service) and `channel.tx` (needed by cli to create new channel) and crypto related configuration files.
|
|
||||||
|
|
||||||
#### Create new channel
|
|
||||||
|
|
||||||
Create a new channel named `mychannel` with the existing `channel.tx` file.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker exec -it fabric-cli bash
|
|
||||||
```
|
|
||||||
Into the container and execute following commands:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ CHANNEL_NAME="businesschannel"
|
|
||||||
$ peer channel create -o orderer.example.com:7050 -c ${CHANNEL_NAME} -f ./channel-artifacts/channel.tx
|
|
||||||
```
|
|
||||||
The cmd will return lots of info, which is the content of the configuration block.
|
|
||||||
|
|
||||||
And a block with the same name of the channel will be created locally.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ ls businesschannel.block
|
|
||||||
businesschannel.block
|
|
||||||
```
|
|
||||||
|
|
||||||
Check the log output of `orderer.example.com`, should find some message like
|
|
||||||
|
|
||||||
```bash
|
|
||||||
orderer.example.com | UTC [orderer/multichain] newChain -> INFO 004 Created and starting new chain newchannel
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Join the channel
|
|
||||||
|
|
||||||
Use the following command to join `peer0.org1.example.com` the channel
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer channel join -b ${CHANNEL_NAME}.block
|
|
||||||
|
|
||||||
Peer joined the channel!
|
|
||||||
```
|
|
||||||
|
|
||||||
Will receive the `Peer joined the channel!` response if succeed.
|
|
||||||
|
|
||||||
Then use the following command, we will find the channels that peers joined.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer channel list
|
|
||||||
Channels peers has joined to:
|
|
||||||
mychannel
|
|
||||||
2017-04-11 03:44:40.313 UTC [main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Update anchor peers
|
|
||||||
|
|
||||||
The `configtx.yaml` file contains the definitions for our sample network and presents the topology of the network components - three members (OrdererOrg, Org1 & Org2), But in this MVE, we just use OrdererOrg and Org1, org1 has only peer(pee0.org1), and chose it as anchor peers for Org1.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer channel create -o orderer.example.com:7050 -c ${CHANNEL_NAME} -f ./channel-artifacts/Org1MSPanchors.tx
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Install&Instantiate
|
|
||||||
|
|
||||||
First `install` a chaincode named `mycc` to `peer0`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
|
|
||||||
```
|
|
||||||
|
|
||||||
This will take a while, and the result may look like following.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
UTC [golang-platform] writeGopathSrc -> INFO 004 rootDirectory = /go/src
|
|
||||||
UTC [container] WriteFolderToTarPackage -> INFO 005 rootDirectory = /go/src
|
|
||||||
UTC [main] main -> INFO 006 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
Then `instantiate` the chaincode mycc on channel `mychannel`, with initial args and the endorsement policy.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode instantiate -o orderer.example.com:7050 -C ${CHANNEL_NAME} -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.member')"
|
|
||||||
```
|
|
||||||
|
|
||||||
This will take a while, and the result may look like following:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default escc
|
|
||||||
UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 005 Using default vscc
|
|
||||||
UTC [main] main -> INFO 006 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
Now in the system, there will be a new `dev-peer0.org1.example.com-mycc-1.0` image and a `dev-peer0.org1.example.com-mycc-1.0` chaincode container.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
crluser@baas-test2:~$ docker ps
|
|
||||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
||||||
7aa088c76597 dev-peer0.org1.example.com-mycc-1.0 "chaincode -peer.a..." 10 seconds ago Up 9 seconds dev-peer0.org1.example.com-mycc-1.0
|
|
||||||
eb1d9c73b26b hyperledger/fabric-peer "bash -c 'while tr..." About a minute ago Up About a minute 7050-7059/tcp fabric-cli
|
|
||||||
2d6fd4f61e2b hyperledger/fabric-peer "peer node start -..." About a minute ago Up About a minute 7050/tcp, 0.0.0.0:7051->7051/tcp, 7052/tcp, 7054-7059/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com
|
|
||||||
832dcc64cc1b hyperledger/fabric-orderer "orderer" About a minute ago Up About a minute 0.0.0.0:7050->7050/tcp orderer.example.com
|
|
||||||
c87095528f76 hyperledger/fabric-ca "fabric-ca-server ..." About a minute ago Up About a minute 7054/tcp, 0.0.0.0:7054->7054/tcp fabric-ca
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Query
|
|
||||||
|
|
||||||
Query the existing value of `a` and `b`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -C ${CHANNEL_NAME} -n mycc -c '{"Args":["query","a"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
The result may look like following, with a payload value of `100`.
|
|
||||||
```bash
|
|
||||||
Query Result: 100
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -C ${CHANNEL_NAME} -n mycc -c '{"Args":["query","a"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
The result may look like following, with a payload value of `200`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Query Result: 200
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### Invoke
|
|
||||||
|
|
||||||
Inside the container, invoke a transaction to transfer `10` from `a` to `b`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode invoke -o orderer.example.com:7050 -C ${CHANNEL_NAME} -n mycc -c '{"Args":["invoke","a","b","10"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
The result may look like following:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Invoke result: version:1 response:<status:200 message:"OK" > payload:"\n qm\251\207\312\277\256\261b\317:\300\000\014\203`\005\304\254\304,$a\360\327\010\342\342/y]\323\022X\nQ\022\031\n\004lccc\022\021\n\017\n\007test_cc\022\004\010\001\020\001\0224\n\007test_cc\022)\n\t\n\001a\022\004\010\001\020\001\n\t\n\001b\022\004\010\001\020\001\032\007\n\001a\032\00290\032\010\n\001b\032\003210\032\003\010\310\001" endorsement:<endorser:"\n\007Org0MSP\022\210\004-----BEGIN -----\nMIIBYzCCAQmgAwIBAwICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9y\nZzAwHhcNMTcwMjIwMTkwNjExWhcNMTgwMjIwMTkwNjExWjAQMQ4wDAYDVQQDDAVw\nZWVyMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEF6dfqjqfbIgZuOR+dgoJMl\n/FaUlGI70A/ixmVUY83Yp4YtV3FDBSOPiO5O+s8pHnpbwB1LqhrxAx1Plr0M/UWj\nUDBOMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFBY2bc84vLEwkX1fSAER2p48jJXw\nMB8GA1UdIwQYMBaAFFQzuQR1RZP/Qn/BNDtGSa8n4eN/MAoGCCqGSM49BAMCA0gA\nMEUCIQDeDZ71L+OTYcbbqiDNRf0L8OExO59mH1O3xpdwMAM0MgIgXySG4sv9yV31\nWcWRFfRFyu7o3T72kqiLZ1nkDuJ8jWI=\n-----END -----\n" signature:"0E\002!\000\220M'\245\230do\310>\277\251j\021$\250\237H\353\377\331:\230\362n\216\224~\033\240\006\367%\002 \014\240|h\346\250\356\372\353\301;#\372\027\276!\252F\334/\221\210\254\215\363\235\341v\217\236\274<" >
|
|
||||||
2017-04-06 09:47:15.993 UTC [main] main -> INFO 002 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Query
|
|
||||||
|
|
||||||
And then query the value of `a` and `b`.
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -C ${CHANNEL_NAME} -n mycc -c '{"Args":["query","a"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Query Result: 90
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
The value of `a` should be `90`.
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer chaincode query -C ${CHANNEL_NAME} -n mycc -c '{"Args":["query","b"]}'
|
|
||||||
```
|
|
||||||
|
|
||||||
The value of `b` should be `210`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Query Result: 210
|
|
||||||
[main] main -> INFO 001 Exiting.....
|
|
||||||
```
|
|
||||||
|
|
||||||
Finally, the output of the chaincode containers may look like following.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker logs -f dev-peer0.org1.example.com-mycc-1.0
|
|
||||||
ex02 Init
|
|
||||||
Aval = 100, Bval = 200
|
|
||||||
ex02 Invoke
|
|
||||||
Query Response:{"Name":"a","Amount":"100"}
|
|
||||||
ex02 Invoke
|
|
||||||
Aval = 90, Bval = 210
|
|
||||||
ex02 Invoke
|
|
||||||
Query Response:{"Name":"b","Amount":"210"}
|
|
||||||
ex02 Invoke
|
|
||||||
Query Response:{"Name":"a","Amount":"90"}
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### (optional) All-in-one testing operation
|
|
||||||
|
|
||||||
Run this script will check whether the MVE bootstrap success.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker exec -it fabric-cli bash
|
|
||||||
$ bash ./scripts/test_1peer.sh
|
|
||||||
```
|
|
|
@ -1,8 +1,9 @@
|
||||||
## Events
|
## Events
|
||||||
Events didn't support TLS, so make sure TLS has been disabled by setting *_TLS_ENABLED=false in peer-base.yaml and orderer-base.yaml
|
Events didn't support TLS, so make sure TLS has been disabled by setting *_TLS_ENABLED=false in peer-base.yaml and orderer-base.yaml
|
||||||
Next, start the network with following command:
|
Next, start the network with following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ bash scripts/start_fabric.sh docker-compose-2orgs-4peers-event.yaml
|
$ HLF_MODE=event make restart
|
||||||
```
|
```
|
||||||
|
|
||||||
when the network starts successfully, we started a block-listener in container `fabric-event-listener`.
|
when the network starts successfully, we started a block-listener in container `fabric-event-listener`.
|
||||||
|
@ -14,14 +15,14 @@ Listening logs at a new terminal,
|
||||||
$ docker logs -f fabric-event-listener
|
$ docker logs -f fabric-event-listener
|
||||||
```
|
```
|
||||||
|
|
||||||
So when we do chaincode operations in container `fabric-cli`,
|
And init channels and chaincodes.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker exec -it fabric-cli bash
|
$ HLF_MODE=event make test_channel_create test_channel_join
|
||||||
$ bash ./scripts/initialize.sh
|
$ HFL_MODE=event make test_cc_install test_cc_instantiate test_cc_invoke_query # Enable eventhub listener
|
||||||
```
|
```
|
||||||
|
|
||||||
then we will get some events at listening terminal looks like following:
|
Then we will get some events at listening terminal looks like following:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Received block
|
Received block
|
|
@ -1,37 +0,0 @@
|
||||||
## peer channel fetch
|
|
||||||
|
|
||||||
### Under no-tls
|
|
||||||
|
|
||||||
When you set *TLS_ENABLED=false, then you can fetch blocks using following command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ NUM= the block's num you want to fetch
|
|
||||||
$ peer channel fetch $NUM -o orderer.example.com:7050 -c businesschannel
|
|
||||||
```
|
|
||||||
or you can use self-defined file, such as:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer channel fetch $NUM self-define-file.block -o orderer.example.com:7050 -c businesschannel
|
|
||||||
```
|
|
||||||
|
|
||||||
For example, we `install` 4 times, and `invoke` 2 times, so we have 6 blocks in total, and we put it into `/e2e_cli/channel-artifacts`.
|
|
||||||
you can also use following command to fetch blocks:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ peer channel fetch oldest -o orderer.example.com:7050 -c businesschannel
|
|
||||||
$ peer channel fetch newest -o orderer.example.com:7050 -c businesschannel
|
|
||||||
```
|
|
||||||
|
|
||||||
### Under tls
|
|
||||||
|
|
||||||
When you set *TLS_ENABLED=true, then you can fetch blocks using following command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ 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
|
|
||||||
$ NUM= the block's num you want to fetch
|
|
||||||
$ peer channel fetch $NUM -o orderer.example.com:7050 -c businesschannel --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA |xargs mv true businesschannel_$NUM.block
|
|
||||||
$ peer channel fetch oldest -o orderer.example.com:7050 -c businesschannel --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA |xargs mv true businesschannel_oldest.block
|
|
||||||
$ peer channel fetch newest -o orderer.example.com:7050 -c businesschannel --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA |xargs mv true businesschannel_newest.block
|
|
||||||
```
|
|
||||||
|
|
||||||
temporarily cannot support specify self-defined-file.
|
|
|
@ -1,21 +0,0 @@
|
||||||
## Manually Setup
|
|
||||||
|
|
||||||
|
|
||||||
### Install Docker/Docker-Compose
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ bash scripts/setup_Docker.sh # Install Docker, Docker-Compose
|
|
||||||
```
|
|
||||||
|
|
||||||
### Download Images
|
|
||||||
|
|
||||||
Pull necessary images of peer, orderer, ca, and base image. You may optionally run the clean_env.sh script to remove all existing container and images.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ bash scripts/cleanup_env.sh
|
|
||||||
$ bash scripts/download_images.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
There are also some community [images](https://hub.docker.com/r/hyperledger/) at Dockerhub, use at your own choice.
|
|
||||||
|
|
||||||
Now you can try [chaincode test](chaincode_test.md) operations with the bootup fabric network.
|
|
|
@ -1,33 +1,3 @@
|
||||||
# Hyperledger fabric 1.0.4
|
|
||||||
|
|
||||||
Here we show steps on how to setup a fabric 1.0.4 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
|
## Environment Setup
|
||||||
|
|
||||||
The following scripts will setup the environment by installing Docker, Docker-Compose and download required docker images.
|
The following scripts will setup the environment by installing Docker, Docker-Compose and download required docker images.
|
|
@ -1,10 +0,0 @@
|
||||||
## Instantiate chaincode in two channel using same chaincode
|
|
||||||
|
|
||||||
|
|
||||||
## The usage of `peer upgrade` and the diffrence between `peer instantiate`
|
|
||||||
|
|
||||||
|
|
||||||
## Check the results when a new peer joins a channel that has completed some chaincode opreations
|
|
||||||
|
|
||||||
|
|
||||||
## What happens if the organization joins a channel that does not belong to it
|
|
|
@ -1,143 +0,0 @@
|
||||||
# Hyperledger fabric 1.0.4
|
|
||||||
|
|
||||||
Here we show steps on how to setup a fabric 1.0.4 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
|
|
||||||
f6686986fe18 hyperledger/fabric-tools:x86_64-1.0.4 "bash -c 'cd /tmp;..." 6 seconds ago Up 14 seconds fabric-cli
|
|
||||||
c7f274bf60bc yeasy/hyperledger-fabric-peer:1.0.4 "peer node start" 6 seconds ago Up 11 seconds 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
|
|
||||||
c6c5f69f2d53 yeasy/hyperledger-fabric-peer:1.0.4 "peer node start" 6 seconds ago Up 12 seconds 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
|
|
||||||
3cad0c519e6f yeasy/hyperledger-fabric-peer:1.0.4 "peer node start" 6 seconds ago Up 13 seconds 7050/tcp, 7054-7059/tcp, 0.0.0.0:7051-7053->7051-7053/tcp peer0.org1.example.com
|
|
||||||
8b371209f6b8 yeasy/hyperledger-fabric-peer:1.0.4 "peer node start" 6 seconds ago Up 11 seconds 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
|
|
||||||
ba1f00a9c83c hyperledger/fabric-orderer:x86_64-1.0.4 "orderer start" 6 seconds ago Up 14 seconds 0.0.0.0:7050->7050/tcp orderer.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).
|
|
|
@ -1,149 +0,0 @@
|
||||||
# mode of the network: solo, kafka, couchdb, dev
|
|
||||||
HLF_MODE ?= solo
|
|
||||||
|
|
||||||
CODE_BUILD_WAIT=2
|
|
||||||
NETWORK_INIT_WAIT=2
|
|
||||||
|
|
||||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml"
|
|
||||||
|
|
||||||
ifeq ($(HLF_MODE),kafka)
|
|
||||||
COMPOSE_FILE="docker-compose-2orgs-4peers-kafka.yaml"
|
|
||||||
else ifeq ($(HLF_MODE),couchdb)
|
|
||||||
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
|
||||||
else ifeq ($(HLF_MODE),dev)
|
|
||||||
COMPOSE_FILE="docker-compose-1orgs-1peers-dev.yaml"
|
|
||||||
endif
|
|
||||||
|
|
||||||
all:
|
|
||||||
@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 fetch_block
|
|
||||||
make stop clean
|
|
||||||
|
|
||||||
ready: restart
|
|
||||||
@echo "Restart, init network and then do cc testing..."
|
|
||||||
if [ "$(HLF_MODE)" = "dev" ]; then \
|
|
||||||
echo "In DEV mode, wait for rebuilding ..." && sleep $(CODE_BUILD_WAIT); \
|
|
||||||
make init_peer0; \
|
|
||||||
sleep $(NETWORK_INIT_WAIT); \
|
|
||||||
make test_cc_peer0; \
|
|
||||||
else \
|
|
||||||
echo "In Normal mode ..." && sleep 3; \
|
|
||||||
make init; \
|
|
||||||
sleep $(NETWORK_INIT_WAIT); \
|
|
||||||
make test_cc_all; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
@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
|
|
||||||
|
|
||||||
chaincode_dev: restart chaincode_init test_cc_peer0 stop
|
|
||||||
|
|
||||||
################## Chaincode testing operations ################
|
|
||||||
test_cc_all: # 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"
|
|
||||||
|
|
||||||
test_cc_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
|
|
||||||
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_qscc.sh"
|
|
||||||
|
|
||||||
lscc: # test lscc quries
|
|
||||||
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_lscc.sh"
|
|
||||||
|
|
||||||
fetch_block: # test channel fetch
|
|
||||||
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch.sh"
|
|
||||||
docker cp fabric-cli:/tmp/block_0.block kafka/channel-artifacts/
|
|
||||||
docker cp fabric-cli:/tmp/block_1.block kafka/channel-artifacts/
|
|
||||||
docker cp fabric-cli:/tmp/block_2.block kafka/channel-artifacts/
|
|
||||||
docker cp fabric-cli:/tmp/block_3.block kafka/channel-artifacts/
|
|
||||||
|
|
||||||
|
|
||||||
################## 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
|
|
||||||
|
|
||||||
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}')
|
|
||||||
|
|
||||||
clean_env: # clean up environment
|
|
||||||
@echo "Clean all images and containers"
|
|
||||||
bash scripts/clean_env.sh
|
|
||||||
|
|
||||||
cli: # enter the cli container
|
|
||||||
docker exec -it fabric-cli bash
|
|
||||||
|
|
||||||
peer: # enter the peer container
|
|
||||||
docker exec -it peer0.org1.example.com bash
|
|
||||||
|
|
||||||
dev_compile: # rebuild the peer
|
|
||||||
docker exec -it peer0.org1.example.com bash /tmp/peer_build.sh
|
|
||||||
|
|
||||||
ps: # show existing docker images
|
|
||||||
docker ps -a
|
|
||||||
|
|
||||||
logs: # show logs
|
|
||||||
docker-compose -f ${COMPOSE_FILE} logs -f --tail 200
|
|
||||||
|
|
||||||
logs_check: logs_save logs_view
|
|
||||||
|
|
||||||
logs_save: # save logs
|
|
||||||
docker logs peer0.org1.example.com >& /tmp/dev_peer.log
|
|
||||||
docker logs orderer.example.com >& /tmp/dev_orderer.log
|
|
||||||
docker-compose -f ${COMPOSE_FILE} logs >& /tmp/dev_all.log
|
|
||||||
|
|
||||||
logs_view: # view logs
|
|
||||||
less /tmp/dev_peer.log
|
|
||||||
|
|
||||||
gen_solo: # generate solo artifacts
|
|
||||||
cd solo && bash gen_artifacts.sh
|
|
||||||
|
|
||||||
gen_kafka: # generate kafka artifacts
|
|
||||||
cd kafka && bash gen_artifacts.sh
|
|
||||||
|
|
||||||
configtxlator: # run configtxlator
|
|
||||||
cd kafka && bash run_configtxlator.sh
|
|
||||||
|
|
||||||
download: # download required images
|
|
||||||
@echo "Download Docker images"
|
|
||||||
docker pull yeasy/hyperledger-fabric:latest
|
|
||||||
docker pull yeasy/hyperledger-fabric-kafka:0.10.2.0 # official repo does not provide the latest image currently
|
|
||||||
docker pull hyperledger/fabric-baseos:x86_64-0.4.2
|
|
||||||
docker tag yeasy/hyperledger-fabric:latest hyperledger/fabric-ccenv:x86_64-1.1.0
|
|
||||||
|
|
||||||
|
|
||||||
################## 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"
|
|
||||||
|
|
|
@ -1,144 +0,0 @@
|
||||||
# Hyperledger fabric 1.0.3
|
|
||||||
|
|
||||||
Here we show steps on how to setup a fabric 1.0.3 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).
|
|
|
@ -1,97 +0,0 @@
|
||||||
# This is the development compose file to config env and command
|
|
||||||
# Notice that chaincode is executed inside docker in default net mode
|
|
||||||
# https://github.com/yeasy/docker-compose-files
|
|
||||||
|
|
||||||
# Depends on the yeasy/hyperledger-fabric image.
|
|
||||||
|
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
orderer.example.com: # There can be multiple orderers
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: orderer-base
|
|
||||||
image: yeasy/hyperledger-fabric:1.0.3
|
|
||||||
container_name: orderer.example.com
|
|
||||||
hostname: orderer.example.com
|
|
||||||
ports:
|
|
||||||
- "7050:7050"
|
|
||||||
environment:
|
|
||||||
# Kafka related configurations
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
|
||||||
- ORDERER_KAFKA_VERBOSE=true
|
|
||||||
volumes:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
||||||
# for solo case
|
|
||||||
#- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
|
||||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
|
||||||
# for kafka case
|
|
||||||
- ./kafka/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
|
||||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
|
||||||
#command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
|
||||||
command: bash -c 'orderer start' # use this if to debug orderer
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
image: yeasy/hyperledger-fabric:1.0.3
|
|
||||||
container_name: peer0.org1.example.com
|
|
||||||
hostname: peer0.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
volumes:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
||||||
# e2e mode configuration
|
|
||||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
# kafka mode configuration
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 7051:7051
|
|
||||||
- 7052:7052
|
|
||||||
- 7053:7053
|
|
||||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
|
||||||
command: bash -c 'peer node start'
|
|
||||||
#command: bash -c 'peer node start --peer-chaincodedev=true' # DEV mode
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: cli-base
|
|
||||||
image: yeasy/hyperledger-fabric:1.0.3
|
|
||||||
container_name: fabric-cli
|
|
||||||
hostname: fabric-cli
|
|
||||||
tty: true
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=fabric-cli
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
- CORE_PEER_TLS_CERT_FILE=/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:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric
|
|
||||||
#- /tmp/:/tmp/
|
|
||||||
- ./scripts:/tmp/scripts
|
|
||||||
# e2e 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/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/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
|
@ -1,256 +0,0 @@
|
||||||
# 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
|
|
||||||
# orderer.example.com
|
|
||||||
# peer0.org1.example.com
|
|
||||||
# peer1.org1.example.com
|
|
||||||
# peer0.org2.example.com
|
|
||||||
# peer1.org2.example.com
|
|
||||||
# 3 zookeeper nodes
|
|
||||||
# 4 kafka nodes
|
|
||||||
# cli
|
|
||||||
|
|
||||||
version: '2' # v3 does not support 'extends' yet
|
|
||||||
|
|
||||||
services:
|
|
||||||
ca.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: ca-base
|
|
||||||
container_name: ca.org1.example.com
|
|
||||||
hostname: ca.org1.example.com
|
|
||||||
environment:
|
|
||||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
|
||||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
|
||||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
|
||||||
ports:
|
|
||||||
- "7054:7054"
|
|
||||||
volumes:
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
|
||||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
|
||||||
|
|
||||||
ca.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: ca-base
|
|
||||||
container_name: ca.org2.example.com
|
|
||||||
hostname: ca.org2.example.com
|
|
||||||
environment:
|
|
||||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
|
||||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
|
||||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
|
||||||
ports:
|
|
||||||
- "8054:7054"
|
|
||||||
volumes:
|
|
||||||
- ./kafka/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
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: orderer-base
|
|
||||||
container_name: orderer.example.com
|
|
||||||
hostname: orderer.example.com
|
|
||||||
ports:
|
|
||||||
- "7050:7050"
|
|
||||||
environment:
|
|
||||||
# Kafka related configurations
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
|
||||||
- ORDERER_KAFKA_VERBOSE=true
|
|
||||||
volumes:
|
|
||||||
- ./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: orderer start
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: cli-base
|
|
||||||
container_name: fabric-cli
|
|
||||||
hostname: fabric-cli
|
|
||||||
tty: true
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=fabric-cli
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
- CORE_PEER_TLS_CERT_FILE=/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:/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
|
|
||||||
|
|
||||||
## following are peer nodes ##
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer0.org1.example.com
|
|
||||||
hostname: peer0.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
volumes:
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 7051:7051
|
|
||||||
- 7052:7052
|
|
||||||
- 7053:7053
|
|
||||||
|
|
||||||
peer1.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer1.org1.example.com
|
|
||||||
hostname: peer1.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer1.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
volumes:
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 8051:7051
|
|
||||||
- 8052:7052
|
|
||||||
- 8053:7053
|
|
||||||
|
|
||||||
peer0.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer0.org2.example.com
|
|
||||||
hostname: peer0.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org2.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
|
||||||
volumes:
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 9051:7051
|
|
||||||
- 9052:7052
|
|
||||||
- 9053:7053
|
|
||||||
|
|
||||||
peer1.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer1.org2.example.com
|
|
||||||
hostname: peer1.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer1.org2.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
|
||||||
volumes:
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 10051:7051
|
|
||||||
- 10052:7052
|
|
||||||
- 10053:7053
|
|
||||||
|
|
||||||
|
|
||||||
# ZooKeeper services, at least 3 nodes
|
|
||||||
zookeeper0:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: zookeeper-base
|
|
||||||
container_name: zookeeper0
|
|
||||||
hostname: zookeeper0
|
|
||||||
environment:
|
|
||||||
- ZOO_MY_ID=1
|
|
||||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
|
||||||
|
|
||||||
zookeeper1:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: zookeeper-base
|
|
||||||
container_name: zookeeper1
|
|
||||||
hostname: zookeeper1
|
|
||||||
environment:
|
|
||||||
- ZOO_MY_ID=2
|
|
||||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
|
||||||
|
|
||||||
zookeeper2:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: zookeeper-base
|
|
||||||
container_name: zookeeper2
|
|
||||||
hostname: zookeeper2
|
|
||||||
environment:
|
|
||||||
- ZOO_MY_ID=3
|
|
||||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
|
||||||
|
|
||||||
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
|
||||||
kafka0:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: kafka-base
|
|
||||||
container_name: kafka0
|
|
||||||
hostname: kafka0
|
|
||||||
environment:
|
|
||||||
- KAFKA_BROKER_ID=0
|
|
||||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
|
||||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
|
||||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
||||||
|
|
||||||
kafka1:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: kafka-base
|
|
||||||
container_name: kafka1
|
|
||||||
hostname: kafka1
|
|
||||||
environment:
|
|
||||||
- KAFKA_BROKER_ID=1
|
|
||||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
|
||||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
|
||||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
||||||
|
|
||||||
kafka2:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: kafka-base
|
|
||||||
container_name: kafka2
|
|
||||||
hostname: kafka2
|
|
||||||
environment:
|
|
||||||
- KAFKA_BROKER_ID=2
|
|
||||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
|
||||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
|
||||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
||||||
|
|
||||||
kafka3:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: kafka-base
|
|
||||||
container_name: kafka3
|
|
||||||
hostname: kafka3
|
|
||||||
environment:
|
|
||||||
- KAFKA_BROKER_ID=3
|
|
||||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
|
||||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
|
||||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
|
@ -1,208 +0,0 @@
|
||||||
# All elements in this file should depend on the base.yaml
|
|
||||||
# Provided solo-base fabric network with:
|
|
||||||
|
|
||||||
# ca.org1.example.com
|
|
||||||
# ca.org2.example.com
|
|
||||||
# orderer.example.com
|
|
||||||
# peer0.org1.example.com
|
|
||||||
# peer1.org1.example.com
|
|
||||||
# peer0.org2.example.com
|
|
||||||
# peer1.org2.example.com
|
|
||||||
# cli
|
|
||||||
|
|
||||||
version: '2' # v3 does not support 'extends' yet
|
|
||||||
|
|
||||||
services:
|
|
||||||
ca.org1.example.com: # ca node for org1
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: ca-base
|
|
||||||
container_name: ca.org1.example.com
|
|
||||||
hostname: ca.org1.example.com
|
|
||||||
environment:
|
|
||||||
- FABRIC_CA_SERVER_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
|
|
||||||
ports:
|
|
||||||
- "7054:7054"
|
|
||||||
volumes:
|
|
||||||
- ./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 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
|
|
||||||
ports:
|
|
||||||
- "8054:7054"
|
|
||||||
volumes:
|
|
||||||
- ./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: # 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:
|
|
||||||
- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
|
||||||
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
|
||||||
command: orderer start
|
|
||||||
|
|
||||||
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=/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_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:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
|
|
||||||
- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
||||||
|
|
||||||
## following are peer nodes ##
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer0.org1.example.com
|
|
||||||
hostname: peer0.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
- 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
|
|
||||||
ports:
|
|
||||||
- 7051:7051
|
|
||||||
- 7052:7052
|
|
||||||
- 7053:7053
|
|
||||||
|
|
||||||
peer1.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer1.org1.example.com
|
|
||||||
hostname: peer1.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer1.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
- 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
|
|
||||||
ports:
|
|
||||||
- 8051:7051
|
|
||||||
- 8052:7052
|
|
||||||
- 8053:7053
|
|
||||||
|
|
||||||
peer0.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer0.org2.example.com
|
|
||||||
hostname: peer0.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org2.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
|
||||||
- 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
|
|
||||||
ports:
|
|
||||||
- 9051:7051
|
|
||||||
- 9052:7052
|
|
||||||
- 9053:7053
|
|
||||||
|
|
||||||
peer1.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
container_name: peer1.org2.example.com
|
|
||||||
hostname: peer1.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer1.org2.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
|
||||||
- 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
|
|
||||||
|
|
||||||
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=/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/
|
|
||||||
depends_on:
|
|
||||||
- orderer.example.com
|
|
||||||
- peer0.org1.example.com
|
|
||||||
- peer1.org1.example.com
|
|
||||||
- peer0.org2.example.com
|
|
||||||
- peer1.org2.example.com
|
|
||||||
#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'
|
|
|
@ -1,137 +0,0 @@
|
||||||
# This is the default base file to config env and command
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
ca-base:
|
|
||||||
#image: yeasy/hyperledger-fabric-ca:1.0.3
|
|
||||||
image: hyperledger/fabric-ca:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
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.3
|
|
||||||
image: hyperledger/fabric-orderer:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- ORDERER_GENERAL_LOGLEVEL=DEBUG
|
|
||||||
- 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_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
|
|
||||||
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
|
|
||||||
- ORDERER_GENERAL_LEDGERTYPE=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_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]
|
|
||||||
expose:
|
|
||||||
- "7050" #
|
|
||||||
command: orderer start
|
|
||||||
|
|
||||||
peer-base:
|
|
||||||
image: yeasy/hyperledger-fabric-peer:1.0.3
|
|
||||||
#image: hyperledger/fabric-peer:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ADDRESSAUTODETECT=false
|
|
||||||
- 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_VM_DOCKER_HOSTCONFIG_NETWORKMODE=v103_default # uncomment this to use specific network
|
|
||||||
- CORE_PEER_GOSSIP_USELEADERELECTION=true
|
|
||||||
- CORE_PEER_GOSSIP_ORGLEADER=false # this node is the group leader, default to false
|
|
||||||
- CORE_PEER_PROFILE_ENABLED=false
|
|
||||||
- CORE_PEER_TLS_ENABLED=true
|
|
||||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
|
||||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
|
||||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
|
||||||
- CORE_CHIANCODE_LOGGING_LEVEL=DEBUG
|
|
||||||
- CORE_CHIANCODE_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
|
||||||
expose:
|
|
||||||
- "7050" # Rest
|
|
||||||
- "7051" # Grpc
|
|
||||||
- "7052" # Peer CLI
|
|
||||||
- "7053" # Peer Event
|
|
||||||
- "7054" # eCAP
|
|
||||||
- "7055" # eCAA
|
|
||||||
- "7056" # tCAP
|
|
||||||
- "7057" # eCAA
|
|
||||||
- "7058" # tlsCAP
|
|
||||||
- "7059" # tlsCAA
|
|
||||||
volumes: # docker.sock is mapped as the default CORE_VM_ENDPOINT
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
#volumes:
|
|
||||||
# - /var/run/:/host/var/run/
|
|
||||||
command: peer node start
|
|
||||||
|
|
||||||
cli-base:
|
|
||||||
#image: yeasy/hyperledger-fabric:1.0.3
|
|
||||||
image: hyperledger/fabric-tools:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
tty: true
|
|
||||||
environment:
|
|
||||||
#- GOPATH=/opt/gopath
|
|
||||||
- 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"
|
|
||||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
|
||||||
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
|
||||||
|
|
||||||
event-listener-base:
|
|
||||||
image: yeasy/hyperledger-fabric:1.0.3
|
|
||||||
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=/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'
|
|
||||||
|
|
||||||
couchdb-base:
|
|
||||||
#container_name: couchdb0
|
|
||||||
image: hyperledger/fabric-couchdb:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
tty: true
|
|
||||||
# Comment/Uncomment the port mapping if you want to hide/expose the CouchDB service,
|
|
||||||
# for example map it to utilize Fauxton User Interface in dev environments.
|
|
||||||
|
|
||||||
zookeeper-base:
|
|
||||||
image: hyperledger/fabric-zookeeper:x86_64-1.0.3
|
|
||||||
restart: always
|
|
||||||
tty: true
|
|
||||||
expose:
|
|
||||||
- '2181'
|
|
||||||
- '2888'
|
|
||||||
- '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.3
|
|
||||||
restart: always
|
|
||||||
tty: true
|
|
||||||
environment:
|
|
||||||
- KAFKA_MESSAGE_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
|
||||||
- KAFKA_REPLICA_FETCH_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
|
||||||
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
|
|
||||||
- KAFKA_LOG_RETENTION_MS=-1
|
|
||||||
expose:
|
|
||||||
- '9092'
|
|
|
@ -1,27 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
|
|
||||||
echo "replace configtx.yaml and crypto-config.yaml"
|
|
||||||
cp ./peer/example2/configtx.yaml ./peer
|
|
||||||
cp ./peer/example2/crypto-config.yaml ./peer
|
|
||||||
|
|
||||||
echo "replace auto-test script "
|
|
||||||
cp ./peer/example2/new-channel-auto-test-5-peers.sh ./peer/scripts
|
|
||||||
|
|
||||||
echo "replace configtx.yaml"
|
|
||||||
cp ./peer/configtx.yaml /etc/hyperledger/fabric
|
|
||||||
|
|
||||||
echo "Generate new certificates"
|
|
||||||
|
|
||||||
cryptogen generate --config=./peer/crypto-config.yaml --output ./peer/crypto
|
|
||||||
|
|
||||||
echo "Generate new certificates"
|
|
||||||
configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./peer/channel-artifacts/orderer_genesis.block
|
|
||||||
|
|
||||||
echo "Create the configuration tx"
|
|
||||||
CHANNEL_NAME=newchannel
|
|
||||||
configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./peer/channel-artifacts/channel.tx -channelID ${CHANNEL_NAME}
|
|
||||||
|
|
||||||
echo "Define the anchor peer for Org1 on the channel"
|
|
||||||
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./peer/channel-artifacts/Org1MSPanchors.tx -channelID ${CHANNEL_NAME} -asOrg Org1MSP
|
|
||||||
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./peer/channel-artifacts/Org2MSPanchors.tx -channelID ${CHANNEL_NAME} -asOrg Org2MSP
|
|
||||||
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./peer/channel-artifacts/Org3MSPanchors.tx -channelID ${CHANNEL_NAME} -asOrg Org3MSP
|
|
|
@ -1,92 +0,0 @@
|
||||||
# https://github.com/yeasy/files/tree/master/hyperledger
|
|
||||||
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
|
|
||||||
# * 1 ca
|
|
||||||
# * 1 orderer
|
|
||||||
# * 1 peer
|
|
||||||
# * cli for testing
|
|
||||||
|
|
||||||
version: '2.0'
|
|
||||||
|
|
||||||
services:
|
|
||||||
orderer.example.com: # There can be multiple orderers
|
|
||||||
extends:
|
|
||||||
file: base-dev.yaml
|
|
||||||
service: orderer.example.com
|
|
||||||
depends_on:
|
|
||||||
- kafka0
|
|
||||||
- kafka1
|
|
||||||
- kafka2
|
|
||||||
- kafka3
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-dev.yaml
|
|
||||||
service: peer0.org1.example.com
|
|
||||||
depends_on:
|
|
||||||
- orderer.example.com
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base-dev.yaml
|
|
||||||
service: cli
|
|
||||||
depends_on:
|
|
||||||
- peer0.org1.example.com
|
|
||||||
- orderer.example.com
|
|
||||||
|
|
||||||
# ZooKeeper services, at least 3 nodes
|
|
||||||
zookeeper0:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper0
|
|
||||||
|
|
||||||
zookeeper1:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper1
|
|
||||||
|
|
||||||
zookeeper2:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper2
|
|
||||||
|
|
||||||
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
|
||||||
kafka0:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka0
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka1:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka1
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka2:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka2
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka3:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka3
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
#networks:
|
|
||||||
# default:
|
|
||||||
# external:
|
|
||||||
# name: hyperledger_fabric
|
|
|
@ -1,107 +0,0 @@
|
||||||
# github.com/yeasy/docker-compose-files
|
|
||||||
# fabric network with couchdb as the peer state db.
|
|
||||||
# including:
|
|
||||||
# orderer.example.com: orderer node
|
|
||||||
# peer0.org1.example.com: peer0 node
|
|
||||||
# peer1.org1.example.com: peer1 node
|
|
||||||
# peer0.org2.example.com: peer2 node
|
|
||||||
# peer1.org2.example.com: peer3 node
|
|
||||||
# couchdb0: couchdb node
|
|
||||||
# couchdb1: couchdb node
|
|
||||||
# couchdb2: couchdb node
|
|
||||||
# couchdb3: couchdb node
|
|
||||||
# cli: cli node
|
|
||||||
|
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
orderer.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: orderer.example.com
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: peer0.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
|
|
||||||
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984
|
|
||||||
depends_on:
|
|
||||||
- couchdb0
|
|
||||||
|
|
||||||
peer1.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: peer1.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
|
|
||||||
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984
|
|
||||||
depends_on:
|
|
||||||
- couchdb1
|
|
||||||
|
|
||||||
peer0.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: peer0.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
|
|
||||||
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984
|
|
||||||
depends_on:
|
|
||||||
- couchdb2
|
|
||||||
|
|
||||||
peer1.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: peer1.org2.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
|
|
||||||
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984
|
|
||||||
depends_on:
|
|
||||||
- couchdb3
|
|
||||||
|
|
||||||
couchdb0:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: couchdb-base
|
|
||||||
container_name: couchdb0
|
|
||||||
# Comment/Uncomment the port mapping if you want to hide/expose the CouchDB service,
|
|
||||||
# for example map it to utilize Fauxton User Interface in dev environments.
|
|
||||||
ports:
|
|
||||||
- "5984:5984" # this is the restful API addr, can also access fauxton web ui thru http://localhost:5984/_utils/
|
|
||||||
|
|
||||||
couchdb1:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: couchdb-base
|
|
||||||
container_name: couchdb1
|
|
||||||
# Comment/Uncomment the port mapping if you want to hide/expose the CouchDB service,
|
|
||||||
# for example map it to utilize Fauxton User Interface in dev environments.
|
|
||||||
ports:
|
|
||||||
- "6984:5984"
|
|
||||||
|
|
||||||
couchdb2:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: couchdb-base
|
|
||||||
container_name: couchdb2
|
|
||||||
# Comment/Uncomment the port mapping if you want to hide/expose the CouchDB service,
|
|
||||||
# for example map it to utilize Fauxton User Interface in dev environments.
|
|
||||||
ports:
|
|
||||||
- "7984:5984"
|
|
||||||
|
|
||||||
couchdb3:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: couchdb-base
|
|
||||||
container_name: couchdb3
|
|
||||||
# Comment/Uncomment the port mapping if you want to hide/expose the CouchDB service,
|
|
||||||
# for example map it to utilize Fauxton User Interface in dev environments.
|
|
||||||
ports:
|
|
||||||
- "8984:5984"
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base-solo.yaml
|
|
||||||
service: cli
|
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
|
||||||
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
|
|
||||||
# * 1 ca
|
|
||||||
# * 1 orderer
|
|
||||||
# * 4 peers in 2 orgs
|
|
||||||
# * cli for testing
|
|
||||||
|
|
||||||
version: '2.0'
|
|
||||||
|
|
||||||
services:
|
|
||||||
ca:
|
|
||||||
image: yeasy/hyperledger-fabric-ca:1.0.3
|
|
||||||
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: 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
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base-solo.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.3
|
|
||||||
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/
|
|
||||||
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
|
|
|
@ -1,114 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
||||||
version: '2.0'
|
|
||||||
|
|
||||||
services:
|
|
||||||
# ca.org1.example.com:
|
|
||||||
# extends:
|
|
||||||
# file: base-kafka.yaml
|
|
||||||
# service: ca.org1.example.com
|
|
||||||
|
|
||||||
# ca.org2.example.com:
|
|
||||||
# extends:
|
|
||||||
# file: base-kafka.yaml
|
|
||||||
# service: ca.org2.example.com
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: cli
|
|
||||||
|
|
||||||
orderer.example.com: # There can be multiple orderers
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: orderer.example.com
|
|
||||||
depends_on:
|
|
||||||
- kafka0
|
|
||||||
- kafka1
|
|
||||||
- kafka2
|
|
||||||
- kafka3
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: peer0.org1.example.com
|
|
||||||
depends_on:
|
|
||||||
- orderer.example.com
|
|
||||||
|
|
||||||
peer1.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: peer1.org1.example.com
|
|
||||||
|
|
||||||
peer0.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: peer0.org2.example.com
|
|
||||||
|
|
||||||
peer1.org2.example.com:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: peer1.org2.example.com
|
|
||||||
|
|
||||||
# ZooKeeper services, at least 3 nodes
|
|
||||||
zookeeper0:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper0
|
|
||||||
|
|
||||||
zookeeper1:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper1
|
|
||||||
|
|
||||||
zookeeper2:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: zookeeper2
|
|
||||||
|
|
||||||
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
|
||||||
kafka0:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka0
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka1:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka1
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka2:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka2
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
kafka3:
|
|
||||||
extends:
|
|
||||||
file: base-kafka.yaml
|
|
||||||
service: kafka3
|
|
||||||
depends_on:
|
|
||||||
- zookeeper0
|
|
||||||
- zookeeper1
|
|
||||||
- zookeeper2
|
|
||||||
|
|
||||||
#networks:
|
|
||||||
# default:
|
|
||||||
# external:
|
|
||||||
# name: hyperledger_fabric
|
|
|
@ -1,54 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
#networks:
|
|
||||||
# default:
|
|
||||||
# external:
|
|
||||||
# name: hyperledger_fabric
|
|
|
@ -1,13 +0,0 @@
|
||||||
## Start a network base on kafka
|
|
||||||
|
|
||||||
### Quick testing with kafka
|
|
||||||
```bash
|
|
||||||
$ KAFKA_ENABLED=true 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
|
|
||||||
```
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,153 +0,0 @@
|
||||||
# Copyright IBM Corp. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
|
|
||||||
---
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Profile
|
|
||||||
#
|
|
||||||
# - Different configuration profiles may be encoded here to be specified
|
|
||||||
# as parameters to the configtxgen tool
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
Profiles:
|
|
||||||
|
|
||||||
TwoOrgsOrdererGenesis:
|
|
||||||
Orderer:
|
|
||||||
<<: *OrdererDefaults
|
|
||||||
Organizations:
|
|
||||||
- *OrdererOrg
|
|
||||||
Consortiums:
|
|
||||||
SampleConsortium:
|
|
||||||
Organizations:
|
|
||||||
- *Org1
|
|
||||||
- *Org2
|
|
||||||
TwoOrgsChannel:
|
|
||||||
Consortium: SampleConsortium
|
|
||||||
Application:
|
|
||||||
<<: *ApplicationDefaults
|
|
||||||
Organizations:
|
|
||||||
- *Org1
|
|
||||||
- *Org2
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Section: Organizations
|
|
||||||
#
|
|
||||||
# - This section defines the different organizational identities which will
|
|
||||||
# be referenced later in the configuration.
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
Organizations:
|
|
||||||
|
|
||||||
# SampleOrg defines an MSP using the sampleconfig. It should never be used
|
|
||||||
# in production but may be used as a template for other definitions
|
|
||||||
- &OrdererOrg
|
|
||||||
# DefaultOrg defines the organization which is used in the sampleconfig
|
|
||||||
# of the fabric.git development environment
|
|
||||||
Name: OrdererOrg
|
|
||||||
|
|
||||||
# ID to load the MSP definition as
|
|
||||||
ID: OrdererMSP
|
|
||||||
|
|
||||||
# MSPDir is the filesystem path which contains the MSP configuration
|
|
||||||
MSPDir: crypto-config/ordererOrganizations/example.com/msp
|
|
||||||
|
|
||||||
- &Org1
|
|
||||||
# DefaultOrg defines the organization which is used in the sampleconfig
|
|
||||||
# of the fabric.git development environment
|
|
||||||
Name: Org1MSP
|
|
||||||
|
|
||||||
# ID to load the MSP definition as
|
|
||||||
ID: Org1MSP
|
|
||||||
|
|
||||||
MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
|
|
||||||
|
|
||||||
AnchorPeers:
|
|
||||||
# AnchorPeers defines the location of peers which can be used
|
|
||||||
# for cross org gossip communication. Note, this value is only
|
|
||||||
# encoded in the genesis block in the Application section context
|
|
||||||
- Host: peer0.org1.example.com
|
|
||||||
Port: 7051
|
|
||||||
|
|
||||||
- &Org2
|
|
||||||
# DefaultOrg defines the organization which is used in the sampleconfig
|
|
||||||
# of the fabric.git development environment
|
|
||||||
Name: Org2MSP
|
|
||||||
|
|
||||||
# ID to load the MSP definition as
|
|
||||||
ID: Org2MSP
|
|
||||||
|
|
||||||
MSPDir: crypto-config/peerOrganizations/org2.example.com/msp
|
|
||||||
|
|
||||||
AnchorPeers:
|
|
||||||
# AnchorPeers defines the location of peers which can be used
|
|
||||||
# for cross org gossip communication. Note, this value is only
|
|
||||||
# encoded in the genesis block in the Application section context
|
|
||||||
- Host: peer0.org2.example.com
|
|
||||||
Port: 7051
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# SECTION: Orderer
|
|
||||||
#
|
|
||||||
# - This section defines the values to encode into a config transaction or
|
|
||||||
# genesis block for orderer related parameters
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
Orderer: &OrdererDefaults
|
|
||||||
|
|
||||||
# Orderer Type: The orderer implementation to start
|
|
||||||
# Available types are "solo" and "kafka"
|
|
||||||
OrdererType: kafka
|
|
||||||
|
|
||||||
Addresses:
|
|
||||||
- orderer.example.com:7050
|
|
||||||
|
|
||||||
# Batch Timeout: The amount of time to wait before creating a batch
|
|
||||||
BatchTimeout: 2s
|
|
||||||
|
|
||||||
# Batch Size: Controls the number of messages batched into a block
|
|
||||||
BatchSize:
|
|
||||||
|
|
||||||
# Max Message Count: The maximum number of messages to permit in a batch
|
|
||||||
MaxMessageCount: 10
|
|
||||||
|
|
||||||
# Absolute Max Bytes: The absolute maximum number of bytes allowed for
|
|
||||||
# the serialized messages in a batch.
|
|
||||||
AbsoluteMaxBytes: 98 MB
|
|
||||||
|
|
||||||
# Preferred Max Bytes: The preferred maximum number of bytes allowed for
|
|
||||||
# the serialized messages in a batch. A message larger than the preferred
|
|
||||||
# max bytes will result in a batch larger than preferred max bytes.
|
|
||||||
PreferredMaxBytes: 512 KB
|
|
||||||
|
|
||||||
Kafka:
|
|
||||||
# Brokers: A list of Kafka brokers to which the orderer connects. Edit
|
|
||||||
# this list to identify the brokers of the ordering service.
|
|
||||||
# NOTE: Use IP:port notation.
|
|
||||||
Brokers:
|
|
||||||
- kafka0:9092
|
|
||||||
- kafka1:9092
|
|
||||||
- kafka2:9092
|
|
||||||
- kafka3:9092
|
|
||||||
|
|
||||||
# Organizations is the list of orgs which are defined as participants on
|
|
||||||
# the orderer side of the network
|
|
||||||
Organizations:
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# SECTION: Application
|
|
||||||
#
|
|
||||||
# - This section defines the values to encode into a config transaction or
|
|
||||||
# genesis block for application related parameters
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
Application: &ApplicationDefaults
|
|
||||||
|
|
||||||
# Organizations is the list of orgs which are defined as participants on
|
|
||||||
# the application side of the network
|
|
||||||
Organizations:
|
|
|
@ -1,93 +0,0 @@
|
||||||
# Copyright IBM Corp. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "OrdererOrgs" - Definition of organizations managing orderer nodes
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
OrdererOrgs:
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Orderer
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
- Name: Orderer
|
|
||||||
Domain: example.com
|
|
||||||
CA:
|
|
||||||
Country: US
|
|
||||||
Province: California
|
|
||||||
Locality: San Francisco
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "Specs" - See PeerOrgs below for complete description
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Specs:
|
|
||||||
- Hostname: orderer
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
PeerOrgs:
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Org1
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
- Name: Org1
|
|
||||||
Domain: org1.example.com
|
|
||||||
CA:
|
|
||||||
Country: US
|
|
||||||
Province: California
|
|
||||||
Locality: San Francisco
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "Specs"
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Uncomment this section to enable the explicit definition of hosts in your
|
|
||||||
# configuration. Most users will want to use Template, below
|
|
||||||
#
|
|
||||||
# Specs is an array of Spec entries. Each Spec entry consists of two fields:
|
|
||||||
# - Hostname: (Required) The desired hostname, sans the domain.
|
|
||||||
# - CommonName: (Optional) Specifies the template or explicit override for
|
|
||||||
# the CN. By default, this is the template:
|
|
||||||
#
|
|
||||||
# "{{.Hostname}}.{{.Domain}}"
|
|
||||||
#
|
|
||||||
# which obtains its values from the Spec.Hostname and
|
|
||||||
# Org.Domain, respectively.
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Specs:
|
|
||||||
# - Hostname: foo # implicitly "foo.org1.example.com"
|
|
||||||
# CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
|
|
||||||
# - Hostname: bar
|
|
||||||
# - Hostname: baz
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "Template"
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Allows for the definition of 1 or more hosts that are created sequentially
|
|
||||||
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
|
|
||||||
# You may override the number of nodes (Count), the starting index (Start)
|
|
||||||
# or the template used to construct the name (Hostname).
|
|
||||||
#
|
|
||||||
# Note: Template and Specs are not mutually exclusive. You may define both
|
|
||||||
# sections and the aggregate nodes will be created for you. Take care with
|
|
||||||
# name collisions
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Template:
|
|
||||||
Count: 2
|
|
||||||
# Start: 5
|
|
||||||
# Hostname: {{.Prefix}}{{.Index}} # default
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# "Users"
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Count: The number of user accounts _in addition_ to Admin
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Users:
|
|
||||||
Count: 1
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Org2: See "Org1" for full specification
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
- Name: Org2
|
|
||||||
Domain: org2.example.com
|
|
||||||
CA:
|
|
||||||
Country: US
|
|
||||||
Province: California
|
|
||||||
Locality: San Francisco
|
|
||||||
Template:
|
|
||||||
Count: 2
|
|
||||||
Users:
|
|
||||||
Count: 1
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgM4o2FiiE5OyPE+o1
|
|
||||||
H1KqX6rU9b1dVK0dvZ2UaLD8UFahRANCAATM0PsnILzXKXZCIon7sJgXOF1zoyX4
|
|
||||||
s0QCeADzStW3oNZ0kmHnbBcxbcNpmMmCQfUTwwpa5D/8stf7/4ANqIKD
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgf6gVM7prpq2dVAF0
|
|
||||||
XZsrMRl1ngQWHP3g8vQPHoUMCM+hRANCAASxVOz9WeuZQ/+bZRf4TgXIoMzlkwhi
|
|
||||||
sGGkbJzu3IFvp7RPBzlXak4PzLZhTbcXBHr6Uax570iZqYRMgwelvnZu
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjBMgv0lVc5MiD6FQ
|
|
||||||
m69sJ8l7VBw/caLKQbLPxbXieiKhRANCAATPe85jwOBrr+5y3eqReIzI7fPoahVp
|
|
||||||
paz/8L7ZtcNbpMB43GDmFNgkWGU91uPvA8La3NHL+XXW57/Rmpp3yV+l
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgs34D8BnRo1WJZL8J
|
|
||||||
wW3rYaZjCF9nipPRBYAnAtJKmLuhRANCAAQG4y+DxWAQIC22aS4nFOVpYV0/IQAp
|
|
||||||
4/MyxGZ1jPSkcnpsinJLCC0pX8YSG5sXM7raYnOlxy5+wGU8YeMjNB+s
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguvc2KI5t+mMd1pPH
|
|
||||||
bd1dBsWr25SYfpgdrlet+8EGPD6hRANCAARSC/NovC8NtxpJTzt3YXe1KJ8G2el2
|
|
||||||
ENIV9ekyg6BIhe3ruznwBVpLFahlmZVK2pNhe5XwEkBeHZ/Fgwfn7yV7
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICNTCCAdugAwIBAgIQD6M7kOzxEEewtNnTVjGu+TAKBggqhkjOPQQDAjBsMQsw
|
|
||||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
|
||||||
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
|
||||||
YW1wbGUuY29tMB4XDTE3MDkyNzA2Mzc0MFoXDTI3MDkyNTA2Mzc0MFowbDELMAkG
|
|
||||||
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
|
||||||
Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt
|
|
||||||
cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAbjL4PFYBAgLbZpLicU
|
|
||||||
5WlhXT8hACnj8zLEZnWM9KRyemyKcksILSlfxhIbmxczutpic6XHLn7AZTxh4yM0
|
|
||||||
H6yjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wKQYDVR0OBCIEIJLR6kwL0PitqQcH6gwoESCvVGAFWk3rnFtfM18S
|
|
||||||
+0r4MAoGCCqGSM49BAMCA0gAMEUCIQCKFQCwAHnPPYlQyxnzXdy3952c8DsJ66RM
|
|
||||||
rOi/4wQ8NQIgHaKvKS18GzgVqWKy0B+y7rcDAshKsttCbxAJumyZjIs=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqeIIYAsjWCcMmRkp
|
|
||||||
C3C9hs0Q2opH7TbmrdrXoZJj/LGhRANCAAS4iAf6LojvwHmzflYvN/nakqraWo9L
|
|
||||||
FvU7anQ/mrFs+Gi5QekC5oZJQT6UDus4SSE6AhLcC6B+r3vdZEtK/wfX
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghIfmhCzLHkJqLBrp
|
|
||||||
ZD16VLNqPxH9Dpdr7IRK/3I79wKhRANCAATF5TnbRZU9YBnAYy7zkYlWZpLx3eyL
|
|
||||||
r16b+nnFgwajBCQWkoyls5fDTnMB9K4gdHQJvv/Cu9pWpKZXTVVl9onJ
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqWPbCN4RHdB5tr8x
|
|
||||||
Ij4IT03vyzFZr0osDrvgJWQE+mShRANCAARBeheIf6n/DYsdMK/J0ON8PqOJSk98
|
|
||||||
fwA51/eIg0joCJj9rLBTU0/iYeSemqwpQNWrhp3jH1C/LEBgfZCkMlwx
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgd0S7NjRobJcDsPoo
|
|
||||||
kwP/IUjrQqKmIZHY7q1qke/YOWChRANCAAT9k5EaWHqRJul0CfQt9l+8L+klho5E
|
|
||||||
JKs+8vUDpvX9CfB74Es713UR+LDJmFwRF5N+vXwGeHYB4Iucv665UjLQ
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgKfBefTd8K711TEBx
|
|
||||||
fuJNRG1LHMD9FQBQgKaOSmm3GoChRANCAAS2B4Zl80zNmngDiFDFBrHVQAHc6RXO
|
|
||||||
MMj4hZOkgHyMvLDpRD7Lq+UkEsMlG4FzNKpnHy9XwPawHZB5cC2tWR3I
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOe2zWsHZMTGT1BKl
|
|
||||||
zywbCiql0z4CYsjVlgzbrakPYi6hRANCAATv/sQyCPzXvCykI4Z1lD7pAExeq3so
|
|
||||||
egKKuG9C3PGdPviikCCydgxGkiYXzZ+KmQkBvIRwnjFZHygnYau02v/o
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgnTd8izocVAEJLbac
|
|
||||||
tWICw67lbMboThXvjWbCOiGaJ9ehRANCAAQucl1GqxUYcyj+UBt8ZGPxlXtaqo6t
|
|
||||||
33uAupgBAmHU0q0GBodXsIEb3L/Ca2T99y/CKjYpdJXN5JqAiqms3m9d
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgzS8FrIAa3qOjX73P
|
|
||||||
FjHDJvZwle0ScdR62UlRVmA3p0OhRANCAAR8mqog4zWWF85O/ncT4E1M12BpCFGH
|
|
||||||
rouoMnxgl9FIpF5BCbpSmzxI31Lbyzs4TMO46wnRyqROKBVwX3CUXJHL
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgZQ+RJAXOT6aQ2t6R
|
|
||||||
LrrVc7E8EUeso32PJFusiutCz6mhRANCAAR3j9k7ntQQwIvpOFblHxuLqQyx3emT
|
|
||||||
O88moReKzC0LRE4bthPQrLSXIm6jkEX+e/8AoEaxPlkc5nHKlizhkBFZ
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICGTCCAcCgAwIBAgIRAOwkDt1N4pGtDlkFHJuqDD4wCgYIKoZIzj0EAwIwczEL
|
|
||||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
|
||||||
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
|
||||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
|
|
||||||
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
|
|
||||||
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
|
|
||||||
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABJyxgiK73CXyfUfyUyhckIojRm5rB5vv
|
|
||||||
fA4rNq3b8E7rVhMUK103WYPL96EwyQY7KbXNMC1dBIwPWohDmh6aTamjTTBLMA4G
|
|
||||||
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIG3mFUm075OC
|
|
||||||
5nkfPbwPS547HFNB7cI/yPu97NLksODSMAoGCCqGSM49BAMCA0cAMEQCIGYABqah
|
|
||||||
FIRnanjFKgFf8c9qYZgc2Ta/4W1tHwogF8CBAiAL0jCWG4IgJCsjEx7QcHH9rJ6F
|
|
||||||
K86H6HK+pAx9RAq5zw==
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg1BSYBh9z9Ezju00p
|
|
||||||
nmxVx945igBfYvmIrAjKqedeo8ahRANCAAScsYIiu9wl8n1H8lMoXJCKI0Zuaweb
|
|
||||||
73wOKzat2/BO61YTFCtdN1mDy/ehMMkGOym1zTAtXQSMD1qIQ5oemk2p
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICGTCCAcCgAwIBAgIRAOwkDt1N4pGtDlkFHJuqDD4wCgYIKoZIzj0EAwIwczEL
|
|
||||||
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
|
||||||
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
|
||||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTcwOTI3MDYzNzQwWhcNMjcwOTI1MDYzNzQw
|
|
||||||
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
|
|
||||||
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
|
|
||||||
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABJyxgiK73CXyfUfyUyhckIojRm5rB5vv
|
|
||||||
fA4rNq3b8E7rVhMUK103WYPL96EwyQY7KbXNMC1dBIwPWohDmh6aTamjTTBLMA4G
|
|
||||||
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIG3mFUm075OC
|
|
||||||
5nkfPbwPS547HFNB7cI/yPu97NLksODSMAoGCCqGSM49BAMCA0cAMEQCIGYABqah
|
|
||||||
FIRnanjFKgFf8c9qYZgc2Ta/4W1tHwogF8CBAiAL0jCWG4IgJCsjEx7QcHH9rJ6F
|
|
||||||
K86H6HK+pAx9RAq5zw==
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -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-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcJu0Pjoi6cIYvbUF
|
|
||||||
VNPCoCnvKPw0iYnIYU2n5aT5KaOhRANCAASuP5L+wfmpgl0UDJLdpT7GmlXOx6Sz
|
|
||||||
jzduMj5b9qQmSEcUOXpIw7n0cGc8MoQ/Fyk7FBkmdMKtbFKdkx+xw1ns
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -1,5 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgWP5Agcauhf6fy5xu
|
|
||||||
ZvAK5MtFgaMpzQgxxWCGX0wRwnyhRANCAASoCn9eQZC0jiDp0D0yS8EmeisW+4XB
|
|
||||||
FtLz92MzCQOjJ90xDuQJLU0mWI0gQ2A7QFUUE29w7N3zmjRTd7AwvUZ/
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -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-----
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue