mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-21 09:05:10 +00:00
Merge "[FAB-4430] - WYFA scripts and node code"
This commit is contained in:
commit
d4fb451ed1
65 changed files with 1227 additions and 0 deletions
204
fabcar/chaincode/fabcar.go
Normal file
204
fabcar/chaincode/fabcar.go
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The sample smart contract for documentation topic:
|
||||||
|
* Writing Your First Blockchain Application
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
/* Imports
|
||||||
|
* 4 utility libraries for formatting, handling bytes, reading and writing JSON, and string manipulation
|
||||||
|
* 2 specific Hyperledger Fabric specific libraries for Smart Contracts
|
||||||
|
*/
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/hyperledger/fabric/core/chaincode/shim"
|
||||||
|
sc "github.com/hyperledger/fabric/protos/peer"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Define the Smart Contract structure
|
||||||
|
type SmartContract struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Define the car structure, with 4 properties. Structure tags are used by encoding/json library
|
||||||
|
type Car struct {
|
||||||
|
Make string `json:"make"`
|
||||||
|
Model string `json:"model"`
|
||||||
|
Colour string `json:"colour"`
|
||||||
|
Owner string `json:"owner"`
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The Init method is called when the Smart Contract "fabcar" is instantiated by the blockchain network
|
||||||
|
* Best practice is to have any Ledger initialization in separate function -- see initLedger()
|
||||||
|
*/
|
||||||
|
func (s *SmartContract) Init(APIstub shim.ChaincodeStubInterface) sc.Response {
|
||||||
|
return shim.Success(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The Invoke method is called as a result of an application request to run the Smart Contract "fabcar"
|
||||||
|
* The calling application program has also specified the particular smart contract function to be called, with arguments
|
||||||
|
*/
|
||||||
|
func (s *SmartContract) Invoke(APIstub shim.ChaincodeStubInterface) sc.Response {
|
||||||
|
|
||||||
|
// Retrieve the requested Smart Contract function and arguments
|
||||||
|
function, args := APIstub.GetFunctionAndParameters()
|
||||||
|
// Route to the appropriate handler function to interact with the ledger appropriately
|
||||||
|
if function == "queryCar" {
|
||||||
|
return s.queryCar(APIstub, args)
|
||||||
|
} else if function == "initLedger" {
|
||||||
|
return s.initLedger(APIstub)
|
||||||
|
} else if function == "createCar" {
|
||||||
|
return s.createCar(APIstub, args)
|
||||||
|
} else if function == "queryAllCars" {
|
||||||
|
return s.queryAllCars(APIstub)
|
||||||
|
} else if function == "changeCarOwner" {
|
||||||
|
return s.changeCarOwner(APIstub, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
return shim.Error("Invalid Smart Contract function name.")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SmartContract) queryCar(APIstub shim.ChaincodeStubInterface, args []string) sc.Response {
|
||||||
|
|
||||||
|
if len(args) != 1 {
|
||||||
|
return shim.Error("Incorrect number of arguments. Expecting 1")
|
||||||
|
}
|
||||||
|
|
||||||
|
carAsBytes, _ := APIstub.GetState(args[0])
|
||||||
|
return shim.Success(carAsBytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SmartContract) initLedger(APIstub shim.ChaincodeStubInterface) sc.Response {
|
||||||
|
cars := []Car{
|
||||||
|
Car{Make: "Toyota", Model: "Prius", Colour: "blue", Owner: "Tomoko"},
|
||||||
|
Car{Make: "Ford", Model: "Mustang", Colour: "red", Owner: "Brad"},
|
||||||
|
Car{Make: "Hyundai", Model: "Tucson", Colour: "green", Owner: "Jin Soo"},
|
||||||
|
Car{Make: "Volkswagen", Model: "Passat", Colour: "yellow", Owner: "Max"},
|
||||||
|
Car{Make: "Tesla", Model: "S", Colour: "black", Owner: "Adriana"},
|
||||||
|
Car{Make: "Peugeot", Model: "205", Colour: "purple", Owner: "Michel"},
|
||||||
|
Car{Make: "Chery", Model: "S22L", Colour: "white", Owner: "Aarav"},
|
||||||
|
Car{Make: "Fiat", Model: "Punto", Colour: "violet", Owner: "Pari"},
|
||||||
|
Car{Make: "Tata", Model: "Nano", Colour: "indigo", Owner: "Valeria"},
|
||||||
|
Car{Make: "Holden", Model: "Barina", Colour: "brown", Owner: "Shotaro"},
|
||||||
|
}
|
||||||
|
|
||||||
|
i := 0
|
||||||
|
for i < len(cars) {
|
||||||
|
fmt.Println("i is ", i)
|
||||||
|
carAsBytes, _ := json.Marshal(cars[i])
|
||||||
|
APIstub.PutState("CAR"+strconv.Itoa(i), carAsBytes)
|
||||||
|
fmt.Println("Added", cars[i])
|
||||||
|
i = i + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
return shim.Success(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SmartContract) createCar(APIstub shim.ChaincodeStubInterface, args []string) sc.Response {
|
||||||
|
|
||||||
|
if len(args) != 5 {
|
||||||
|
return shim.Error("Incorrect number of arguments. Expecting 5")
|
||||||
|
}
|
||||||
|
|
||||||
|
var car = Car{Make: args[1], Model: args[2], Colour: args[3], Owner: args[4]}
|
||||||
|
|
||||||
|
carAsBytes, _ := json.Marshal(car)
|
||||||
|
APIstub.PutState(args[0], carAsBytes)
|
||||||
|
|
||||||
|
return shim.Success(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SmartContract) queryAllCars(APIstub shim.ChaincodeStubInterface) sc.Response {
|
||||||
|
|
||||||
|
startKey := "CAR0"
|
||||||
|
endKey := "CAR999"
|
||||||
|
|
||||||
|
resultsIterator, err := APIstub.GetStateByRange(startKey, endKey)
|
||||||
|
if err != nil {
|
||||||
|
return shim.Error(err.Error())
|
||||||
|
}
|
||||||
|
defer resultsIterator.Close()
|
||||||
|
|
||||||
|
// buffer is a JSON array containing QueryResults
|
||||||
|
var buffer bytes.Buffer
|
||||||
|
buffer.WriteString("[")
|
||||||
|
|
||||||
|
bArrayMemberAlreadyWritten := false
|
||||||
|
for resultsIterator.HasNext() {
|
||||||
|
queryResponse, err := resultsIterator.Next()
|
||||||
|
if err != nil {
|
||||||
|
return shim.Error(err.Error())
|
||||||
|
}
|
||||||
|
// Add a comma before array members, suppress it for the first array member
|
||||||
|
if bArrayMemberAlreadyWritten == true {
|
||||||
|
buffer.WriteString(",")
|
||||||
|
}
|
||||||
|
buffer.WriteString("{\"Key\":")
|
||||||
|
buffer.WriteString("\"")
|
||||||
|
buffer.WriteString(queryResponse.Key)
|
||||||
|
buffer.WriteString("\"")
|
||||||
|
|
||||||
|
buffer.WriteString(", \"Record\":")
|
||||||
|
// Record is a JSON object, so we write as-is
|
||||||
|
buffer.WriteString(string(queryResponse.Value))
|
||||||
|
buffer.WriteString("}")
|
||||||
|
bArrayMemberAlreadyWritten = true
|
||||||
|
}
|
||||||
|
buffer.WriteString("]")
|
||||||
|
|
||||||
|
fmt.Printf("- queryAllCars:\n%s\n", buffer.String())
|
||||||
|
|
||||||
|
return shim.Success(buffer.Bytes())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SmartContract) changeCarOwner(APIstub shim.ChaincodeStubInterface, args []string) sc.Response {
|
||||||
|
|
||||||
|
if len(args) != 2 {
|
||||||
|
return shim.Error("Incorrect number of arguments. Expecting 2")
|
||||||
|
}
|
||||||
|
|
||||||
|
carAsBytes, _ := APIstub.GetState(args[0])
|
||||||
|
car := Car{}
|
||||||
|
|
||||||
|
json.Unmarshal(carAsBytes, &car)
|
||||||
|
car.Owner = args[1]
|
||||||
|
|
||||||
|
carAsBytes, _ = json.Marshal(car)
|
||||||
|
APIstub.PutState(args[0], carAsBytes)
|
||||||
|
|
||||||
|
return shim.Success(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The main function is only relevant in unit test mode. Only included here for completeness.
|
||||||
|
func main() {
|
||||||
|
|
||||||
|
// Create a new Smart Contract
|
||||||
|
err := shim.Start(new(SmartContract))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Error creating new Smart Contract: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
150
fabcar/invoke.js
Normal file
150
fabcar/invoke.js
Normal file
|
|
@ -0,0 +1,150 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Chaincode Invoke
|
||||||
|
*/
|
||||||
|
|
||||||
|
var hfc = require('fabric-client');
|
||||||
|
var path = require('path');
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
wallet_path: path.join(__dirname, './network/creds'),
|
||||||
|
user_id: 'PeerAdmin',
|
||||||
|
channel_id: 'mychannel',
|
||||||
|
chaincode_id: 'fabcar',
|
||||||
|
peer_url: 'grpc://localhost:7051',
|
||||||
|
event_url: 'grpc://localhost:7053',
|
||||||
|
orderer_url: 'grpc://localhost:7050'
|
||||||
|
};
|
||||||
|
|
||||||
|
var channel = {};
|
||||||
|
var client = null;
|
||||||
|
var targets = [];
|
||||||
|
var tx_id = null;
|
||||||
|
Promise.resolve().then(() => {
|
||||||
|
console.log("Create a client and set the wallet location");
|
||||||
|
client = new hfc();
|
||||||
|
return hfc.newDefaultKeyValueStore({ path: options.wallet_path });
|
||||||
|
}).then((wallet) => {
|
||||||
|
console.log("Set wallet path, and associate user ", options.user_id, " with application");
|
||||||
|
client.setStateStore(wallet);
|
||||||
|
return client.getUserContext(options.user_id, true);
|
||||||
|
}).then((user) => {
|
||||||
|
console.log("Check user is enrolled, and set a query URL in the network");
|
||||||
|
if (user === undefined || user.isEnrolled() === false) {
|
||||||
|
console.error("User not defined, or not enrolled - error");
|
||||||
|
}
|
||||||
|
channel = client.newChannel(options.channel_id);
|
||||||
|
var peerObj = client.newPeer(options.peer_url);
|
||||||
|
channel.addPeer(peerObj);
|
||||||
|
channel.addOrderer(client.newOrderer(options.orderer_url));
|
||||||
|
targets.push(peerObj);
|
||||||
|
return;
|
||||||
|
}).then(() => {
|
||||||
|
//console.log("send Invoke with function name :"+fcn);
|
||||||
|
tx_id = client.newTransactionID();
|
||||||
|
console.log("Assigning transaction_id: ", tx_id._transaction_id);
|
||||||
|
// createCar - requires 5 args, ex: args: ['CAR11', 'Honda', 'Accord', 'Black', 'Tom'],
|
||||||
|
// changeCarOwner - requires 2 args , ex: args: ['CAR10', 'Barry'],
|
||||||
|
// send proposal to endorser
|
||||||
|
var request = {
|
||||||
|
targets: targets,
|
||||||
|
chaincodeId: options.chaincode_id,
|
||||||
|
fcn: '',
|
||||||
|
args: [''],
|
||||||
|
chainId: options.channel_id,
|
||||||
|
txId: tx_id
|
||||||
|
};
|
||||||
|
return channel.sendTransactionProposal(request);
|
||||||
|
}).then((results) => {
|
||||||
|
var proposalResponses = results[0];
|
||||||
|
var proposal = results[1];
|
||||||
|
var header = results[2];
|
||||||
|
let isProposalGood = false;
|
||||||
|
if (proposalResponses && proposalResponses[0].response &&
|
||||||
|
proposalResponses[0].response.status === 200) {
|
||||||
|
isProposalGood = true;
|
||||||
|
console.log('transaction proposal was good');
|
||||||
|
} else {
|
||||||
|
console.error('transaction proposal was bad');
|
||||||
|
}
|
||||||
|
if (isProposalGood) {
|
||||||
|
console.log(util.format(
|
||||||
|
'Successfully sent Proposal and received ProposalResponse: Status - %s, message - "%s", metadata - "%s", endorsement signature: %s',
|
||||||
|
proposalResponses[0].response.status, proposalResponses[0].response.message,
|
||||||
|
proposalResponses[0].response.payload, proposalResponses[0].endorsement
|
||||||
|
.signature));
|
||||||
|
var request = {
|
||||||
|
proposalResponses: proposalResponses,
|
||||||
|
proposal: proposal,
|
||||||
|
header: header
|
||||||
|
};
|
||||||
|
// set the transaction listener and set a timeout of 30sec
|
||||||
|
// if the transaction did not get committed within the timeout period,
|
||||||
|
// fail the test
|
||||||
|
var transactionID = tx_id.getTransactionID();
|
||||||
|
var eventPromises = [];
|
||||||
|
let eh = client.newEventHub();
|
||||||
|
eh.setPeerAddr(options.event_url);
|
||||||
|
eh.connect();
|
||||||
|
|
||||||
|
let txPromise = new Promise((resolve, reject) => {
|
||||||
|
let handle = setTimeout(() => {
|
||||||
|
eh.disconnect();
|
||||||
|
reject();
|
||||||
|
}, 30000);
|
||||||
|
|
||||||
|
eh.registerTxEvent(transactionID, (tx, code) => {
|
||||||
|
clearTimeout(handle);
|
||||||
|
eh.unregisterTxEvent(transactionID);
|
||||||
|
eh.disconnect();
|
||||||
|
|
||||||
|
if (code !== 'VALID') {
|
||||||
|
console.error(
|
||||||
|
'The transaction was invalid, code = ' + code);
|
||||||
|
reject();
|
||||||
|
} else {
|
||||||
|
console.log(
|
||||||
|
'The transaction has been committed on peer ' +
|
||||||
|
eh._ep._endpoint.addr);
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
eventPromises.push(txPromise);
|
||||||
|
var sendPromise = channel.sendTransaction(request);
|
||||||
|
return Promise.all([sendPromise].concat(eventPromises)).then((results) => {
|
||||||
|
console.log(' event promise all complete and testing complete');
|
||||||
|
return results[0]; // the first returned value is from the 'sendPromise' which is from the 'sendTransaction()' call
|
||||||
|
}).catch((err) => {
|
||||||
|
console.error(
|
||||||
|
'Failed to send transaction and get notifications within the timeout period.'
|
||||||
|
);
|
||||||
|
return 'Failed to send transaction and get notifications within the timeout period.';
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.error(
|
||||||
|
'Failed to send Proposal or receive valid response. Response null or status is not 200. exiting...'
|
||||||
|
);
|
||||||
|
return 'Failed to send Proposal or receive valid response. Response null or status is not 200. exiting...';
|
||||||
|
}
|
||||||
|
}, (err) => {
|
||||||
|
console.error('Failed to send proposal due to error: ' + err.stack ? err.stack :
|
||||||
|
err);
|
||||||
|
return 'Failed to send proposal due to error: ' + err.stack ? err.stack :
|
||||||
|
err;
|
||||||
|
}).then((response) => {
|
||||||
|
if (response.status === 'SUCCESS') {
|
||||||
|
console.log('Successfully sent transaction to the orderer.');
|
||||||
|
return tx_id.getTransactionID();
|
||||||
|
} else {
|
||||||
|
console.error('Failed to order the transaction. Error code: ' + response.status);
|
||||||
|
return 'Failed to order the transaction. Error code: ' + response.status;
|
||||||
|
}
|
||||||
|
}, (err) => {
|
||||||
|
console.error('Failed to send transaction due to error: ' + err.stack ? err
|
||||||
|
.stack : err);
|
||||||
|
return 'Failed to send transaction due to error: ' + err.stack ? err.stack :
|
||||||
|
err;
|
||||||
|
});
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgS0L+WeTBa4vdUW4j
|
||||||
|
rogLu8JmLSjda0YcA2TWOfaR+8yhRANCAAQO41JsWQE2pt2UZ/DBdIcpa/inDZ4U
|
||||||
|
54P5VcIdXgISsEqdRcGLBz+cvvrpTNedaeyNRSndk5LMIJ/npw2Qua/p
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2e
|
||||||
|
FOeD+VXCHV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6Q==
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
1
fabcar/network/creds/PeerAdmin
Normal file
1
fabcar/network/creds/PeerAdmin
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"name":"PeerAdmin","mspid":"Org1MSP","roles":null,"affiliation":"","enrollmentSecret":"","enrollment":{"signingIdentity":"9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9","identity":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICKjCCAdGgAwIBAgIQIVQ6HvVnJP1qZ5YKfh50hzAKBggqhkjOPQQDAjBwMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn\nMS5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2eFOeD+VXC\nHV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6aNiMGAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD\nVR0jBCQwIoAgoi2vNWsqq1eS6lPjX2b8zvHX8aorOiuS2/v5akSOomowCgYIKoZI\nzj0EAwIDRwAwRAIgbEqKoKrFuYQG0ndiX7dT7GKGlF17Skf8DYil9cqbp00CID5T\nURQPp0/vJ3tldK0z9xjFvsSecj8aqnDvZvGz07/v\n-----END CERTIFICATE-----\n"}}}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMOKUs/EytOuKG/kW
|
||||||
|
qZ8OHBb1aJ4zodJVqYWwcpH5FluhRANCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCU
|
||||||
|
PEe1Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQ
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICHDCCAcOgAwIBAgIRAOVchZuZsk52YC0d82t2qj0wCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
|
||||||
|
AwEHA0IABKR5qsiBaQSx0sy1K/7EFpBJDeVPC6cLbfqIjjtosuMfNNjDrVR9X8s+
|
||||||
|
dPLeWbUP5qJmWnE1kZ/J0WyTnqRbKA2jYjBgMA4GA1UdDwEB/wQEAwIFoDATBgNV
|
||||||
|
HSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIOqt5ZCH
|
||||||
|
xtl/zzUOlPN62fLGkrtm8YIUjOWJQN5wrenOMAoGCCqGSM49BAMCA0cAMEQCIEkj
|
||||||
|
Aoe3iCG+7t2BYDRmZgF/6jUZVDjHrNaRsabLzvXTAiA6PM/0GLppYtIcGQDA7qeJ
|
||||||
|
VfRO4IGE/M3rSnpBrQCodA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBcjCCARigAwIBAwICA+gwCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLb3JkZXJl
|
||||||
|
ck9yZzAwHhcNMTcwMjIwMTkwNjEwWhcNMTgwMjIwMTkwNjEwWjAWMRQwEgYDVQQD
|
||||||
|
DAtvcmRlcmVyT3JnMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABK8Sv0EA9h06
|
||||||
|
fmBkUCO+D/b/2INZ2huy+W/HCxSF22c7WGoJbRzQcWtQmW1KqZowUk86RcxVfFqv
|
||||||
|
jEMFVXzV38SjVjBUMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFCVakuvq
|
||||||
|
xEcK8pYMf/Hw8hsexRMTMB8GA1UdIwQYMBaAFCVakuvqxEcK8pYMf/Hw8hsexRMT
|
||||||
|
MAoGCCqGSM49BAMCA0gAMEUCIQCmXgDSRTyxpSk+PXg0FNlYZ4ijTVwKgLkYVhod
|
||||||
|
zZPfngIgO4y0p3Fs/gNsJYrroKaaVDe955KrPp/O55jYDKAD/oY=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBbDCCARKgAwIBAwICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9y
|
||||||
|
ZzAwHhcNMTcwMjIwMTkwNjEwWhcNMTgwMjIwMTkwNjEwWjATMREwDwYDVQQDDAhw
|
||||||
|
ZWVyT3JnMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKJfDc/CcaiHRipTG2AB
|
||||||
|
K5fA0LO9SOlbtC9bZcjLo/xsL157p+3QB3UVF3gt7nkwgMs/ul3FhSEFTk2EVNlF
|
||||||
|
1QCjVjBUMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFQzuQR1RZP/Qn/B
|
||||||
|
NDtGSa8n4eN/MB8GA1UdIwQYMBaAFFQzuQR1RZP/Qn/BNDtGSa8n4eN/MAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIAuG+/Fy3x9JXAD1/rFsu3ZpCKbXiXZLGF7P6Gma8is5AiEA
|
||||||
|
pSQpRcdukxe4zvcfRmNBjMbNLWCoWlHSQA2jD678QGE=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBbDCCARKgAwIBAwICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9y
|
||||||
|
ZzEwHhcNMTcwMjIwMTkwNjEwWhcNMTgwMjIwMTkwNjEwWjATMREwDwYDVQQDDAhw
|
||||||
|
ZWVyT3JnMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJ2S+UvyFgFZYL6qcrKo
|
||||||
|
zy72Nkc/RQVzg1VfwC3X7QcnHEVBuCzba1nxdDVE8XPnhmKBWLKh0adn6GKUZpyf
|
||||||
|
mbKjVjBUMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFAQlMVsXlKGMEWPf
|
||||||
|
KMMM6QVASnlPMB8GA1UdIwQYMBaAFAQlMVsXlKGMEWPfKMMM6QVASnlPMAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIHr4AD6Xx3R6zFCsveIMnWao9Us88/0uGHoT4ELmMhA1AiEA
|
||||||
|
yzfXU5qHp3xBJ1BrKOGi71UmQZVwWfO26INhxcfpCAg=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICHDCCAcOgAwIBAgIRAOVchZuZsk52YC0d82t2qj0wCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
|
||||||
|
AwEHA0IABKR5qsiBaQSx0sy1K/7EFpBJDeVPC6cLbfqIjjtosuMfNNjDrVR9X8s+
|
||||||
|
dPLeWbUP5qJmWnE1kZ/J0WyTnqRbKA2jYjBgMA4GA1UdDwEB/wQEAwIFoDATBgNV
|
||||||
|
HSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIOqt5ZCH
|
||||||
|
xtl/zzUOlPN62fLGkrtm8YIUjOWJQN5wrenOMAoGCCqGSM49BAMCA0cAMEQCIEkj
|
||||||
|
Aoe3iCG+7t2BYDRmZgF/6jUZVDjHrNaRsabLzvXTAiA6PM/0GLppYtIcGQDA7qeJ
|
||||||
|
VfRO4IGE/M3rSnpBrQCodA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg0D9/qySG+JbELX4u
|
||||||
|
WYxknY5CP4p6sVnetkfHGs7WBW+hRANCAATcybHflJqj6M8vzGCT30gfoZBPpbiP
|
||||||
|
jp4GgIOUHbiIuHz7y5I480+1YY++JcbS6nDZCh2EJRhFAQ5ZtJZLbbHO
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICHzCCAcWgAwIBAgIRANzg3GjG7MdyBWTlVQ42QbAwCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFgxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZI
|
||||||
|
zj0DAQcDQgAE3Mmx35Sao+jPL8xgk99IH6GQT6W4j46eBoCDlB24iLh8+8uSOPNP
|
||||||
|
tWGPviXG0upw2QodhCUYRQEOWbSWS22xzqNiMGAwDgYDVR0PAQH/BAQDAgWgMBMG
|
||||||
|
A1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg6q3l
|
||||||
|
kIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt6c4wCgYIKoZIzj0EAwIDSAAwRQIh
|
||||||
|
APf6n3hu/VwDz0N3GeJrsfksmq6ZRJ74NgKL7jHpNtsvAiALjSzODY+s48c5rF+A
|
||||||
|
Kn4JjmSH4UlcXcRGBsQpP+qXfg==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICNDCCAdqgAwIBAgIRAIBOtq8vZiC0+uLSi2MIS4swCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMGYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEUMBIGA1UEAxMLZXhhbXBsZS5jb20wWTAT
|
||||||
|
BgcqhkjOPQIBBggqhkjOPQMBBwNCAARD2rvgyAmhn8hpu82kAjX3QUg2iqCUPEe1
|
||||||
|
Q5CzD5MVv/dK5wrRgkcoMhJLe4HPxYbjV3rodm5Pwi5m3zMGkqNQo2kwZzAOBgNV
|
||||||
|
HQ8BAf8EBAMCAaYwGQYDVR0lBBIwEAYEVR0lAAYIKwYBBQUHAwEwDwYDVR0TAQH/
|
||||||
|
BAUwAwEB/zApBgNVHQ4EIgQg6q3lkIfG2X/PNQ6U83rZ8saSu2bxghSM5YlA3nCt
|
||||||
|
6c4wCgYIKoZIzj0EAwIDSAAwRQIhAL5Lgy7jZ2W74L6i0B23a3JD0W8TSYlTcqXb
|
||||||
|
RMSXlLIoAiB2glBl0wM/ITn5+tnHOnq2wrIGuYIiNbLK5oq2zf+gtA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgKi/7SbU0tzemhB4/
|
||||||
|
gZY1pts4cjYsrMTL7SSGkDSpSkahRANCAASkearIgWkEsdLMtSv+xBaQSQ3lTwun
|
||||||
|
C236iI47aLLjHzTYw61UfV/LPnTy3lm1D+aiZlpxNZGfydFsk56kWygN
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICHDCCAcOgAwIBAgIRAOVchZuZsk52YC0d82t2qj0wCgYIKoZIzj0EAwIwZjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRQwEgYDVQQDEwtleGFtcGxl
|
||||||
|
LmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFYxCzAJBgNVBAYT
|
||||||
|
AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
|
||||||
|
MRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49
|
||||||
|
AwEHA0IABKR5qsiBaQSx0sy1K/7EFpBJDeVPC6cLbfqIjjtosuMfNNjDrVR9X8s+
|
||||||
|
dPLeWbUP5qJmWnE1kZ/J0WyTnqRbKA2jYjBgMA4GA1UdDwEB/wQEAwIFoDATBgNV
|
||||||
|
HSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIOqt5ZCH
|
||||||
|
xtl/zzUOlPN62fLGkrtm8YIUjOWJQN5wrenOMAoGCCqGSM49BAMCA0cAMEQCIEkj
|
||||||
|
Aoe3iCG+7t2BYDRmZgF/6jUZVDjHrNaRsabLzvXTAiA6PM/0GLppYtIcGQDA7qeJ
|
||||||
|
VfRO4IGE/M3rSnpBrQCodA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7hAb34OQ5le9208+
|
||||||
|
LC0V5mvjS9223gy8/LWaHy+bnUWhRANCAAS4ud+Na5q4hhRwplUy3YDxqQxUYMIJ
|
||||||
|
h0ri2sjLBj9MhJrF4d4SgMtuH9Zo8f7fFk/RtrAHcDjbD7HyjEgiqWka
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQIVQ6HvVnJP1qZ5YKfh50hzAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
MS5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2eFOeD+VXC
|
||||||
|
HV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6aNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgoi2vNWsqq1eS6lPjX2b8zvHX8aorOiuS2/v5akSOomowCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgbEqKoKrFuYQG0ndiX7dT7GKGlF17Skf8DYil9cqbp00CID5T
|
||||||
|
URQPp0/vJ3tldK0z9xjFvsSecj8aqnDvZvGz07/v
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBbDCCARKgAwIBAwICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9y
|
||||||
|
ZzAwHhcNMTcwMjIwMTkwNjEwWhcNMTgwMjIwMTkwNjEwWjATMREwDwYDVQQDDAhw
|
||||||
|
ZWVyT3JnMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKJfDc/CcaiHRipTG2AB
|
||||||
|
K5fA0LO9SOlbtC9bZcjLo/xsL157p+3QB3UVF3gt7nkwgMs/ul3FhSEFTk2EVNlF
|
||||||
|
1QCjVjBUMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFQzuQR1RZP/Qn/B
|
||||||
|
NDtGSa8n4eN/MB8GA1UdIwQYMBaAFFQzuQR1RZP/Qn/BNDtGSa8n4eN/MAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIAuG+/Fy3x9JXAD1/rFsu3ZpCKbXiXZLGF7P6Gma8is5AiEA
|
||||||
|
pSQpRcdukxe4zvcfRmNBjMbNLWCoWlHSQA2jD678QGE=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBbDCCARKgAwIBAwICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9y
|
||||||
|
ZzEwHhcNMTcwMjIwMTkwNjEwWhcNMTgwMjIwMTkwNjEwWjATMREwDwYDVQQDDAhw
|
||||||
|
ZWVyT3JnMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJ2S+UvyFgFZYL6qcrKo
|
||||||
|
zy72Nkc/RQVzg1VfwC3X7QcnHEVBuCzba1nxdDVE8XPnhmKBWLKh0adn6GKUZpyf
|
||||||
|
mbKjVjBUMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFAQlMVsXlKGMEWPf
|
||||||
|
KMMM6QVASnlPMB8GA1UdIwQYMBaAFAQlMVsXlKGMEWPfKMMM6QVASnlPMAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIHr4AD6Xx3R6zFCsveIMnWao9Us88/0uGHoT4ELmMhA1AiEA
|
||||||
|
yzfXU5qHp3xBJ1BrKOGi71UmQZVwWfO26INhxcfpCAg=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQIVQ6HvVnJP1qZ5YKfh50hzAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
MS5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2eFOeD+VXC
|
||||||
|
HV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6aNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgoi2vNWsqq1eS6lPjX2b8zvHX8aorOiuS2/v5akSOomowCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgbEqKoKrFuYQG0ndiX7dT7GKGlF17Skf8DYil9cqbp00CID5T
|
||||||
|
URQPp0/vJ3tldK0z9xjFvsSecj8aqnDvZvGz07/v
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg+tWlPzRwoknNCHmn
|
||||||
|
QIw/DiQ5WXOoq8TbclyNz8CwApChRANCAAQlWnZyzstbrL/UpBdf/zB6G2yydJgY
|
||||||
|
AWRytAhXEGMAXXw/RpneaJNpZlUgGOJ0q47IUTKzRvlr6vK31kyULKJK
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICLDCCAdKgAwIBAgIRALLqpJNBvjJnfDisCe33w6wwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBb
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMS5leGFtcGxlLmNvbTBZMBMG
|
||||||
|
ByqGSM49AgEGCCqGSM49AwEHA0IABCVadnLOy1usv9SkF1//MHobbLJ0mBgBZHK0
|
||||||
|
CFcQYwBdfD9Gmd5ok2lmVSAY4nSrjshRMrNG+Wvq8rfWTJQsokqjYjBgMA4GA1Ud
|
||||||
|
DwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsG
|
||||||
|
A1UdIwQkMCKAIKItrzVrKqtXkupT419m/M7x1/GqKzorktv7+WpEjqJqMAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIQCHf6KuKNKDY65EEzxh2hg8Nxx33d35wUX5H9GkjtnphQIg
|
||||||
|
X2qGwCc+YoPDg+8JZmRlZ0zAy/6dWiY0xzVJ3/CMbYI=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgS0L+WeTBa4vdUW4j
|
||||||
|
rogLu8JmLSjda0YcA2TWOfaR+8yhRANCAAQO41JsWQE2pt2UZ/DBdIcpa/inDZ4U
|
||||||
|
54P5VcIdXgISsEqdRcGLBz+cvvrpTNedaeyNRSndk5LMIJ/npw2Qua/p
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQIVQ6HvVnJP1qZ5YKfh50hzAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
MS5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2eFOeD+VXC
|
||||||
|
HV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6aNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgoi2vNWsqq1eS6lPjX2b8zvHX8aorOiuS2/v5akSOomowCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgbEqKoKrFuYQG0ndiX7dT7GKGlF17Skf8DYil9cqbp00CID5T
|
||||||
|
URQPp0/vJ3tldK0z9xjFvsSecj8aqnDvZvGz07/v
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICSDCCAe6gAwIBAgIRAPnKpS42wlgtHsddm6q+kYcwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLi5341r
|
||||||
|
mriGFHCmVTLdgPGpDFRgwgmHSuLayMsGP0yEmsXh3hKAy24f1mjx/t8WT9G2sAdw
|
||||||
|
ONsPsfKMSCKpaRqjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCCiLa81ayqrV5Lq
|
||||||
|
U+NfZvzO8dfxqis6K5Lb+/lqRI6iajAKBggqhkjOPQQDAgNIADBFAiEAr8LYCY2b
|
||||||
|
q5kNqOUxgHwBa2KTi/zJBR9L3IsTRDjJo8ECICf1xiDgKqZKrAMh0OCebskYwf53
|
||||||
|
dooG04HBoqBLvB8Q
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglAOKVjiJSAYj5KnC
|
||||||
|
vmX99WJhlSwjZ07F8a+gohlPOKihRANCAARVCrjQpYsFfROLZkm1lnd7b/+GROpO
|
||||||
|
AhiImGijSYx2COmFY5UzBJdja7ElnDjGdWsrPvcSdhMI7ELw2omQZyT3
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICLDCCAdKgAwIBAgIRAKZHheCZPE+GMLRV2WXBr10wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzEuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBb
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZMBMG
|
||||||
|
ByqGSM49AgEGCCqGSM49AwEHA0IABFUKuNCliwV9E4tmSbWWd3tv/4ZE6k4CGIiY
|
||||||
|
aKNJjHYI6YVjlTMEl2NrsSWcOMZ1ays+9xJ2EwjsQvDaiZBnJPejYjBgMA4GA1Ud
|
||||||
|
DwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsG
|
||||||
|
A1UdIwQkMCKAIKItrzVrKqtXkupT419m/M7x1/GqKzorktv7+WpEjqJqMAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIQD3hsHS1DS9Ox7tq46p7x0QWP9yc++M7XA7PRf8L7wX/QIg
|
||||||
|
U0LdIXJrhxAXX29tC/qG2QGPA4T5QTCKZZcVNaAT/LQ=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgTevmjSx6rk995Flz
|
||||||
|
Z1lLWbSCPnpkV2+H6+0fbLHgGxehRANCAAQ6GE1wdDI/Y/oklMjNbO22WVWw5j+7
|
||||||
|
U3o9KljaUtSuz0bEDtoU30rosEK86Wk7hieFED2ILvZkySk1shFVkNqU
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQAjgHxmmRePMUA7W89J4iJDAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
Mi5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcyLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAE/LzcUga8gVut24gLEXfECATFQUZZw3uVYvML
|
||||||
|
fqefDQEqA7v12Dd/DUSWvTGzOCR2wpFUqX9zidR0EUajqnOl4KNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgRk1VD+m/nn2Jds31nRpdRyWY9UwFjDVGMXxcX7Dd/W4wCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgBweV4tP8pYd4osOWIawmQTD4oqXtpp3F8y1g85Qz1BICIE8E
|
||||||
|
VNeXeNlxRoUdToSMOBHSJE0EVqK4BP4NXibBJSgH
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQAjgHxmmRePMUA7W89J4iJDAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
Mi5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcyLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAE/LzcUga8gVut24gLEXfECATFQUZZw3uVYvML
|
||||||
|
fqefDQEqA7v12Dd/DUSWvTGzOCR2wpFUqX9zidR0EUajqnOl4KNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgRk1VD+m/nn2Jds31nRpdRyWY9UwFjDVGMXxcX7Dd/W4wCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgBweV4tP8pYd4osOWIawmQTD4oqXtpp3F8y1g85Qz1BICIE8E
|
||||||
|
VNeXeNlxRoUdToSMOBHSJE0EVqK4BP4NXibBJSgH
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjlkrze8DhYt8LpCh
|
||||||
|
kXJyUr6HOp9Jga5RXoOMPFC+J0yhRANCAARYOh3QPZB39zR+JKqVHD+NZqGwMSa3
|
||||||
|
05zPyTod7ySx+qbXOXQOZo9AxX9eg7alhlQrSniME8YZIucNANKTEMp0
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICLDCCAdKgAwIBAgIRAOvtY/+3TfiQKgN49CsrpLEwCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBb
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMi5leGFtcGxlLmNvbTBZMBMG
|
||||||
|
ByqGSM49AgEGCCqGSM49AwEHA0IABFg6HdA9kHf3NH4kqpUcP41mobAxJrfTnM/J
|
||||||
|
Oh3vJLH6ptc5dA5mj0DFf16DtqWGVCtKeIwTxhki5w0A0pMQynSjYjBgMA4GA1Ud
|
||||||
|
DwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCsG
|
||||||
|
A1UdIwQkMCKAIEZNVQ/pv559iXbN9Z0aXUclmPVMBYw1RjF8XF+w3f1uMAoGCCqG
|
||||||
|
SM49BAMCA0gAMEUCIQC2FP9CW85/5dwQ0/4perHKGYaL2h/pZKpZTvlqA6AjdwIg
|
||||||
|
bee43v7a0+TqKkvI41rW6L5l+scxf9R+1Dp2s8UASus=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9cyRkWbKn8mFu2/H
|
||||||
|
HxMneHaDJgUIYD1NNMill5Etb9uhRANCAAT8vNxSBryBW63biAsRd8QIBMVBRlnD
|
||||||
|
e5Vi8wt+p58NASoDu/XYN38NRJa9MbM4JHbCkVSpf3OJ1HQRRqOqc6Xg
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKjCCAdGgAwIBAgIQAjgHxmmRePMUA7W89J4iJDAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
Mi5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcyLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAE/LzcUga8gVut24gLEXfECATFQUZZw3uVYvML
|
||||||
|
fqefDQEqA7v12Dd/DUSWvTGzOCR2wpFUqX9zidR0EUajqnOl4KNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgRk1VD+m/nn2Jds31nRpdRyWY9UwFjDVGMXxcX7Dd/W4wCgYIKoZI
|
||||||
|
zj0EAwIDRwAwRAIgBweV4tP8pYd4osOWIawmQTD4oqXtpp3F8y1g85Qz1BICIE8E
|
||||||
|
VNeXeNlxRoUdToSMOBHSJE0EVqK4BP4NXibBJSgH
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRzCCAe6gAwIBAgIRAO33HJTheTwvBgWroB6JK40wCgYIKoZIzj0EAwIwcDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xGTAXBgNVBAMTEG9y
|
||||||
|
ZzIuZXhhbXBsZS5jb20wHhcNMTcwNDIyMTIwMjU2WhcNMjcwNDIwMTIwMjU2WjBw
|
||||||
|
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
||||||
|
IEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQ
|
||||||
|
b3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDoYTXB0
|
||||||
|
Mj9j+iSUyM1s7bZZVbDmP7tTej0qWNpS1K7PRsQO2hTfSuiwQrzpaTuGJ4UQPYgu
|
||||||
|
9mTJKTWyEVWQ2pSjaTBnMA4GA1UdDwEB/wQEAwIBpjAZBgNVHSUEEjAQBgRVHSUA
|
||||||
|
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBGTVUP6b+efYl2
|
||||||
|
zfWdGl1HJZj1TAWMNUYxfFxfsN39bjAKBggqhkjOPQQDAgNHADBEAiB2XoqoNSRw
|
||||||
|
YzY6sgomVYtidm7HwiXEsqkrThUHasnOugIgejAgkgXWid6WEdFSAUVpEDsRiek4
|
||||||
|
nM2KGw+XJ5/pm/Q=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEBMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg0ToCLZ9mCaZovZpA
|
||||||
|
/5MZqxjfuZBbyLVftjP/Wsji9tmhRANCAAR2xaWMIy41g2N9svC/4bFtEYYSdwf9
|
||||||
|
RdGSgYZn1WDbOpAUl1g9Ro7Ys4JkFrRqdbg8V8RPtmcJGFJbZVPfOx9h
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKzCCAdGgAwIBAgIQLKJhtKqqMCGzcyWeO+oNVDAKBggqhkjOPQQDAjBwMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn
|
||||||
|
Mi5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx
|
||||||
|
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g
|
||||||
|
RnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBvcmcyLmV4YW1wbGUuY29tMFkwEwYH
|
||||||
|
KoZIzj0CAQYIKoZIzj0DAQcDQgAEdsWljCMuNYNjfbLwv+GxbRGGEncH/UXRkoGG
|
||||||
|
Z9Vg2zqQFJdYPUaO2LOCZBa0anW4PFfET7ZnCRhSW2VT3zsfYaNiMGAwDgYDVR0P
|
||||||
|
AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD
|
||||||
|
VR0jBCQwIoAgRk1VD+m/nn2Jds31nRpdRyWY9UwFjDVGMXxcX7Dd/W4wCgYIKoZI
|
||||||
|
zj0EAwIDSAAwRQIhAN6yovenryWzuNLg7/tWVlAuVIfEcMNXzsPqkDnjZ62+AiAN
|
||||||
|
T8K300zijaLfUoeyxNiNclT3JAhNjNxPkYkRKVb/6A==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
86
fabcar/network/docker-compose.yml
Normal file
86
fabcar/network/docker-compose.yml
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
orderer.example.com:
|
||||||
|
container_name: orderer.example.com
|
||||||
|
image: hyperledger/fabric-orderer:x86_64-1.0.0-rc1
|
||||||
|
environment:
|
||||||
|
- ORDERER_GENERAL_LOGLEVEL=debug
|
||||||
|
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
|
||||||
|
- ORDERER_GENERAL_GENESISMETHOD=file
|
||||||
|
- ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/twoorgs.genesis.block
|
||||||
|
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
|
||||||
|
- ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer
|
||||||
|
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
|
||||||
|
command: orderer
|
||||||
|
ports:
|
||||||
|
- 7050:7050
|
||||||
|
volumes:
|
||||||
|
- ./:/etc/hyperledger/configtx
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peerOrg1
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peerOrg2
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
container_name: peer0.org1.example.com
|
||||||
|
image: hyperledger/fabric-peer:x86_64-1.0.0-rc1
|
||||||
|
environment:
|
||||||
|
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
|
||||||
|
- CORE_PEER_ID=peer0.org1.example.com
|
||||||
|
- CORE_LOGGING_PEER=debug
|
||||||
|
- CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
# # the following setting starts chaincode containers on the same
|
||||||
|
# # bridge network as the peers
|
||||||
|
# # https://docs.docker.com/compose/networking/
|
||||||
|
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=network_default
|
||||||
|
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
|
||||||
|
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984
|
||||||
|
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
|
||||||
|
command: peer node start
|
||||||
|
ports:
|
||||||
|
- 7051:7051
|
||||||
|
- 7053:7053
|
||||||
|
volumes:
|
||||||
|
- /var/run/:/host/var/run/
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peer
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users
|
||||||
|
- .:/etc/hyperledger/configtx
|
||||||
|
depends_on:
|
||||||
|
- orderer.example.com
|
||||||
|
|
||||||
|
couchdb:
|
||||||
|
container_name: couchdb
|
||||||
|
image: hyperledger/fabric-couchdb:x86_64-1.0.0-rc1
|
||||||
|
ports:
|
||||||
|
- 5984:5984
|
||||||
|
environment:
|
||||||
|
DB_URL: http://localhost:5984/member_db
|
||||||
|
|
||||||
|
cli:
|
||||||
|
container_name: cli
|
||||||
|
image: hyperledger/fabric-tools:x86_64-1.0.0-rc1
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
- GOPATH=/opt/gopath
|
||||||
|
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
|
||||||
|
- CORE_LOGGING_LEVEL=DEBUG
|
||||||
|
- CORE_PEER_ID=cli
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com
|
||||||
|
- CORE_CHAINCODE_KEEPALIVE=10
|
||||||
|
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||||
|
command: /bin/bash
|
||||||
|
volumes:
|
||||||
|
- /var/run/:/host/var/run/
|
||||||
|
- ./../chaincode:/opt/gopath/src/github.com/fabcar/
|
||||||
|
- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
|
||||||
|
depends_on:
|
||||||
|
#- ca.example.com
|
||||||
|
- orderer.example.com
|
||||||
|
- peer0.org1.example.com
|
||||||
|
- couchdb
|
||||||
BIN
fabcar/network/mychannel.tx
Normal file
BIN
fabcar/network/mychannel.tx
Normal file
Binary file not shown.
BIN
fabcar/network/twoorgs.genesis.block
Normal file
BIN
fabcar/network/twoorgs.genesis.block
Normal file
Binary file not shown.
22
fabcar/package.json
Normal file
22
fabcar/package.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"name": "fabcar",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Hyperledger Fabric Car Sample Application",
|
||||||
|
"main": "fabcar.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"fabric-ca-client": "1.0.0-beta",
|
||||||
|
"fabric-client": "1.0.0-beta"
|
||||||
|
},
|
||||||
|
"author": "Anthony O'Dowd",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"keywords": [
|
||||||
|
"Hyperledger",
|
||||||
|
"Fabric",
|
||||||
|
"Car",
|
||||||
|
"Sample",
|
||||||
|
"Application"
|
||||||
|
]
|
||||||
|
}
|
||||||
65
fabcar/query.js
Normal file
65
fabcar/query.js
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hyperledger Fabric Sample Query Program
|
||||||
|
*/
|
||||||
|
|
||||||
|
var hfc = require('fabric-client');
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
wallet_path : path.join(__dirname, './network/creds'),
|
||||||
|
user_id: 'PeerAdmin',
|
||||||
|
channel_id: 'mychannel',
|
||||||
|
chaincode_id: 'fabcar',
|
||||||
|
network_url: 'grpc://localhost:7051',
|
||||||
|
};
|
||||||
|
|
||||||
|
var channel = {};
|
||||||
|
var client = null;
|
||||||
|
|
||||||
|
Promise.resolve().then (() => {
|
||||||
|
console.log("Create a client and set the wallet location");
|
||||||
|
client = new hfc();
|
||||||
|
return hfc.newDefaultKeyValueStore({path: options.wallet_path});
|
||||||
|
}).then((wallet) => {
|
||||||
|
console.log("Set wallet path, and associate user ",options.user_id," with application");
|
||||||
|
client.setStateStore(wallet);
|
||||||
|
return client.getUserContext(options.user_id, true);
|
||||||
|
}).then ((user) => {
|
||||||
|
console.log("Check user is enrolled, and set a query URL in the network");
|
||||||
|
if (user===undefined || user.isEnrolled()===false) {
|
||||||
|
console.error("User not defined, or not enrolled - error");
|
||||||
|
}
|
||||||
|
channel = client.newChannel(options.channel_id);
|
||||||
|
channel.addPeer(client.newPeer(options.network_url));
|
||||||
|
return;
|
||||||
|
}).then (() => {
|
||||||
|
console.log("Make query");
|
||||||
|
var transaction_id = client.newTransactionID();
|
||||||
|
console.log("Assigning transaction_id: ", transaction_id._transaction_id);
|
||||||
|
|
||||||
|
// queryCar - requires 1 argument, ex: args: ['CAR4'],
|
||||||
|
// queryAllCars - requires no arguments , ex: args: [''],
|
||||||
|
const request = {
|
||||||
|
chaincodeId: options.chaincode_id,
|
||||||
|
txId: transaction_id,
|
||||||
|
fcn: 'queryAllCars',
|
||||||
|
args: ['']
|
||||||
|
};
|
||||||
|
return channel.queryByChaincode(request);
|
||||||
|
}).then ((query_responses) => {
|
||||||
|
console.log("returned from query");
|
||||||
|
if (!query_responses.length) {
|
||||||
|
console.log("No payloads were returned from query");
|
||||||
|
} else {
|
||||||
|
console.log("Query result count = ", query_responses.length)
|
||||||
|
}
|
||||||
|
if (query_responses[0] instanceof Error) {
|
||||||
|
console.error("error from query = ", query_responses[0]);
|
||||||
|
}
|
||||||
|
console.log("Response is ", query_responses[0].toString());
|
||||||
|
})
|
||||||
|
.catch ((err) => {
|
||||||
|
console.error("Caught Error", err);
|
||||||
|
});
|
||||||
35
fabcar/startFabric.sh
Executable file
35
fabcar/startFabric.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Exit on first error, print all commands.
|
||||||
|
#set -e
|
||||||
|
|
||||||
|
starttime=$(date +%s)
|
||||||
|
|
||||||
|
# Grab the current directoryinitLedger
|
||||||
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
if [ ! -d ~/.hfc-key-store/ ]; then
|
||||||
|
mkdir ~/.hfc-key-store/
|
||||||
|
fi
|
||||||
|
cp $PWD/network/creds/* ~/.hfc-key-store/
|
||||||
|
|
||||||
|
#
|
||||||
|
cd "${DIR}"/network
|
||||||
|
|
||||||
|
docker-compose -f "${DIR}"/network/docker-compose.yml up -d
|
||||||
|
|
||||||
|
# wait for Hyperledger Fabric to start
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
# Create the channel
|
||||||
|
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/mychannel.tx
|
||||||
|
# Join peer0.org1.example.com to the channel.
|
||||||
|
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com" peer0.org1.example.com peer channel join -b mychannel.block
|
||||||
|
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar
|
||||||
|
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n fabcar -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')"
|
||||||
|
sleep 10
|
||||||
|
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com" cli peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"initLedger","Args":[""]}'
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
printf "\nTotal execution time : $(($(date +%s) - starttime)) secs ...\n\n"
|
||||||
Loading…
Reference in a new issue