mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-23 01:55:10 +00:00
Configure explorer
This commit is contained in:
parent
a58bb6897d
commit
9e8b744823
148 changed files with 3829 additions and 3 deletions
9
explorer/config.json
Normal file
9
explorer/config.json
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"network-configs": {
|
||||
"test-network": {
|
||||
"name": "Test Network",
|
||||
"profile": "./connection-profile/test-network.json"
|
||||
}
|
||||
},
|
||||
"license": "Apache-2.0"
|
||||
}
|
||||
48
explorer/connection-profile/test-network.json
Normal file
48
explorer/connection-profile/test-network.json
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"name": "test-network",
|
||||
"version": "1.0.0",
|
||||
"client": {
|
||||
"tlsEnable": true,
|
||||
"adminCredential": {
|
||||
"id": "exploreradmin",
|
||||
"password": "exploreradminpw"
|
||||
},
|
||||
"enableAuthentication": true,
|
||||
"organization": "Org1MSP",
|
||||
"connection": {
|
||||
"timeout": {
|
||||
"peer": {
|
||||
"endorser": "300"
|
||||
},
|
||||
"orderer": "300"
|
||||
}
|
||||
}
|
||||
},
|
||||
"channels": {
|
||||
"mychannel": {
|
||||
"peers": {
|
||||
"peer0.org1.example.com": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"Org1MSP": {
|
||||
"mspid": "Org1MSP",
|
||||
"adminPrivateKey": {
|
||||
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/8410b52bc8d92c014422b7ee9c7545fb7ced2b20d42dbb687ee012db747ac552_sk"
|
||||
},
|
||||
"peers": ["peer0.org1.example.com"],
|
||||
"signedCert": {
|
||||
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/cert.pem"
|
||||
}
|
||||
}
|
||||
},
|
||||
"peers": {
|
||||
"peer0.org1.example.com": {
|
||||
"tlsCACerts": {
|
||||
"path": "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
|
||||
},
|
||||
"url": "grpcs://peer0.org1.example.com:7051"
|
||||
}
|
||||
}
|
||||
}
|
||||
58
explorer/docker-compose.yaml
Normal file
58
explorer/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
version: '2.1'
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
walletstore:
|
||||
|
||||
networks:
|
||||
mynetwork.com:
|
||||
external:
|
||||
name: fabric_test
|
||||
|
||||
services:
|
||||
|
||||
explorerdb.mynetwork.com:
|
||||
image: hyperledger/explorer-db:latest
|
||||
container_name: explorerdb.mynetwork.com
|
||||
hostname: explorerdb.mynetwork.com
|
||||
environment:
|
||||
- DATABASE_DATABASE=fabricexplorer
|
||||
- DATABASE_USERNAME=hppoc
|
||||
- DATABASE_PASSWORD=password
|
||||
healthcheck:
|
||||
test: "pg_isready -h localhost -p 5432 -q -U postgres"
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
networks:
|
||||
- mynetwork.com
|
||||
|
||||
explorer.mynetwork.com:
|
||||
image: hyperledger/explorer:latest
|
||||
container_name: explorer.mynetwork.com
|
||||
hostname: explorer.mynetwork.com
|
||||
environment:
|
||||
- DATABASE_HOST=explorerdb.mynetwork.com
|
||||
- DATABASE_DATABASE=fabricexplorer
|
||||
- DATABASE_USERNAME=hppoc
|
||||
- DATABASE_PASSWD=password
|
||||
- LOG_LEVEL_APP=info
|
||||
- LOG_LEVEL_DB=info
|
||||
- LOG_LEVEL_CONSOLE=debug
|
||||
- LOG_CONSOLE_STDOUT=true
|
||||
- DISCOVERY_AS_LOCALHOST=false
|
||||
volumes:
|
||||
- ./config.json:/opt/explorer/app/platform/fabric/config.json
|
||||
- ./connection-profile:/opt/explorer/app/platform/fabric/connection-profile
|
||||
- ./organizations:/tmp/crypto
|
||||
- walletstore:/opt/explorer/wallet
|
||||
ports:
|
||||
- 8080:8080
|
||||
depends_on:
|
||||
explorerdb.mynetwork.com:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- mynetwork.com
|
||||
45
explorer/organizations/ccp-generate.sh
Normal file
45
explorer/organizations/ccp-generate.sh
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
|
||||
function one_line_pem {
|
||||
echo "`awk 'NF {sub(/\\n/, ""); printf "%s\\\\\\\n",$0;}' $1`"
|
||||
}
|
||||
|
||||
function json_ccp {
|
||||
local PP=$(one_line_pem $4)
|
||||
local CP=$(one_line_pem $5)
|
||||
sed -e "s/\${ORG}/$1/" \
|
||||
-e "s/\${P0PORT}/$2/" \
|
||||
-e "s/\${CAPORT}/$3/" \
|
||||
-e "s#\${PEERPEM}#$PP#" \
|
||||
-e "s#\${CAPEM}#$CP#" \
|
||||
organizations/ccp-template.json
|
||||
}
|
||||
|
||||
function yaml_ccp {
|
||||
local PP=$(one_line_pem $4)
|
||||
local CP=$(one_line_pem $5)
|
||||
sed -e "s/\${ORG}/$1/" \
|
||||
-e "s/\${P0PORT}/$2/" \
|
||||
-e "s/\${CAPORT}/$3/" \
|
||||
-e "s#\${PEERPEM}#$PP#" \
|
||||
-e "s#\${CAPEM}#$CP#" \
|
||||
organizations/ccp-template.yaml | sed -e $'s/\\\\n/\\\n /g'
|
||||
}
|
||||
|
||||
ORG=1
|
||||
P0PORT=7051
|
||||
CAPORT=7054
|
||||
PEERPEM=organizations/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem
|
||||
CAPEM=organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem
|
||||
|
||||
echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM)" > organizations/peerOrganizations/org1.example.com/connection-org1.json
|
||||
echo "$(yaml_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM)" > organizations/peerOrganizations/org1.example.com/connection-org1.yaml
|
||||
|
||||
ORG=2
|
||||
P0PORT=9051
|
||||
CAPORT=8054
|
||||
PEERPEM=organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem
|
||||
CAPEM=organizations/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem
|
||||
|
||||
echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM)" > organizations/peerOrganizations/org2.example.com/connection-org2.json
|
||||
echo "$(yaml_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM)" > organizations/peerOrganizations/org2.example.com/connection-org2.yaml
|
||||
49
explorer/organizations/ccp-template.json
Normal file
49
explorer/organizations/ccp-template.json
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"name": "test-network-org${ORG}",
|
||||
"version": "1.0.0",
|
||||
"client": {
|
||||
"organization": "Org${ORG}",
|
||||
"connection": {
|
||||
"timeout": {
|
||||
"peer": {
|
||||
"endorser": "300"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"Org${ORG}": {
|
||||
"mspid": "Org${ORG}MSP",
|
||||
"peers": [
|
||||
"peer0.org${ORG}.example.com"
|
||||
],
|
||||
"certificateAuthorities": [
|
||||
"ca.org${ORG}.example.com"
|
||||
]
|
||||
}
|
||||
},
|
||||
"peers": {
|
||||
"peer0.org${ORG}.example.com": {
|
||||
"url": "grpcs://localhost:${P0PORT}",
|
||||
"tlsCACerts": {
|
||||
"pem": "${PEERPEM}"
|
||||
},
|
||||
"grpcOptions": {
|
||||
"ssl-target-name-override": "peer0.org${ORG}.example.com",
|
||||
"hostnameOverride": "peer0.org${ORG}.example.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certificateAuthorities": {
|
||||
"ca.org${ORG}.example.com": {
|
||||
"url": "https://localhost:${CAPORT}",
|
||||
"caName": "ca-org${ORG}",
|
||||
"tlsCACerts": {
|
||||
"pem": ["${CAPEM}"]
|
||||
},
|
||||
"httpOptions": {
|
||||
"verify": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
35
explorer/organizations/ccp-template.yaml
Normal file
35
explorer/organizations/ccp-template.yaml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
name: test-network-org${ORG}
|
||||
version: 1.0.0
|
||||
client:
|
||||
organization: Org${ORG}
|
||||
connection:
|
||||
timeout:
|
||||
peer:
|
||||
endorser: '300'
|
||||
organizations:
|
||||
Org${ORG}:
|
||||
mspid: Org${ORG}MSP
|
||||
peers:
|
||||
- peer0.org${ORG}.example.com
|
||||
certificateAuthorities:
|
||||
- ca.org${ORG}.example.com
|
||||
peers:
|
||||
peer0.org${ORG}.example.com:
|
||||
url: grpcs://localhost:${P0PORT}
|
||||
tlsCACerts:
|
||||
pem: |
|
||||
${PEERPEM}
|
||||
grpcOptions:
|
||||
ssl-target-name-override: peer0.org${ORG}.example.com
|
||||
hostnameOverride: peer0.org${ORG}.example.com
|
||||
certificateAuthorities:
|
||||
ca.org${ORG}.example.com:
|
||||
url: https://localhost:${CAPORT}
|
||||
caName: ca-org${ORG}
|
||||
tlsCACerts:
|
||||
pem:
|
||||
- |
|
||||
${CAPEM}
|
||||
httpOptions:
|
||||
verify: false
|
||||
22
explorer/organizations/cryptogen/crypto-config-orderer.yaml
Normal file
22
explorer/organizations/cryptogen/crypto-config-orderer.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# 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
|
||||
EnableNodeOUs: true
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Specs" - See PeerOrgs for complete description
|
||||
# ---------------------------------------------------------------------------
|
||||
Specs:
|
||||
- Hostname: orderer
|
||||
SANS:
|
||||
- localhost
|
||||
61
explorer/organizations/cryptogen/crypto-config-org1.yaml
Normal file
61
explorer/organizations/cryptogen/crypto-config-org1.yaml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Copyright IBM Corp. All Rights Reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||
# ---------------------------------------------------------------------------
|
||||
PeerOrgs:
|
||||
# ---------------------------------------------------------------------------
|
||||
# Org1
|
||||
# ---------------------------------------------------------------------------
|
||||
- Name: Org1
|
||||
Domain: org1.example.com
|
||||
EnableNodeOUs: true
|
||||
# ---------------------------------------------------------------------------
|
||||
# "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.
|
||||
# ---------------------------------------------------------------------------
|
||||
# - 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: 1
|
||||
SANS:
|
||||
- localhost
|
||||
# Start: 5
|
||||
# Hostname: {{.Prefix}}{{.Index}} # default
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Users"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Count: The number of user accounts _in addition_ to Admin
|
||||
# ---------------------------------------------------------------------------
|
||||
Users:
|
||||
Count: 1
|
||||
61
explorer/organizations/cryptogen/crypto-config-org2.yaml
Normal file
61
explorer/organizations/cryptogen/crypto-config-org2.yaml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Copyright IBM Corp. All Rights Reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||
# ---------------------------------------------------------------------------
|
||||
PeerOrgs:
|
||||
# ---------------------------------------------------------------------------
|
||||
# Org2
|
||||
# ---------------------------------------------------------------------------
|
||||
- Name: Org2
|
||||
Domain: org2.example.com
|
||||
EnableNodeOUs: true
|
||||
# ---------------------------------------------------------------------------
|
||||
# "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: 1
|
||||
SANS:
|
||||
- localhost
|
||||
# Start: 5
|
||||
# Hostname: {{.Prefix}}{{.Index}} # default
|
||||
# ---------------------------------------------------------------------------
|
||||
# "Users"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Count: The number of user accounts _in addition_ to Admin
|
||||
# ---------------------------------------------------------------------------
|
||||
Users:
|
||||
Count: 1
|
||||
BIN
explorer/organizations/fabric-ca/ordererOrg/IssuerPublicKey
Normal file
BIN
explorer/organizations/fabric-ca/ordererOrg/IssuerPublicKey
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
|
||||
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
|
||||
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
|
||||
-----END PUBLIC KEY-----
|
||||
13
explorer/organizations/fabric-ca/ordererOrg/ca-cert.pem
Normal file
13
explorer/organizations/fabric-ca/ordererOrg/ca-cert.pem
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,406 @@
|
|||
#############################################################################
|
||||
# This is a configuration file for the fabric-ca-server command.
|
||||
#
|
||||
# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES
|
||||
# ------------------------------------------------
|
||||
# Each configuration element can be overridden via command line
|
||||
# arguments or environment variables. The precedence for determining
|
||||
# the value of each element is as follows:
|
||||
# 1) command line argument
|
||||
# Examples:
|
||||
# a) --port 443
|
||||
# To set the listening port
|
||||
# b) --ca.keyfile ../mykey.pem
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '.' separator character.
|
||||
# 2) environment variable
|
||||
# Examples:
|
||||
# a) FABRIC_CA_SERVER_PORT=443
|
||||
# To set the listening port
|
||||
# b) FABRIC_CA_SERVER_CA_KEYFILE="../mykey.pem"
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '_' separator character.
|
||||
# 3) configuration file
|
||||
# 4) default value (if there is one)
|
||||
# All default values are shown beside each element below.
|
||||
#
|
||||
# FILE NAME ELEMENTS
|
||||
# ------------------
|
||||
# The value of all fields whose name ends with "file" or "files" are
|
||||
# name or names of other files.
|
||||
# For example, see "tls.certfile" and "tls.clientauth.certfiles".
|
||||
# The value of each of these fields can be a simple filename, a
|
||||
# relative path, or an absolute path. If the value is not an
|
||||
# absolute path, it is interpretted as being relative to the location
|
||||
# of this configuration file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# Version of config file
|
||||
version: 1.2.0
|
||||
|
||||
# Server's listening port (default: 7054)
|
||||
port: 7054
|
||||
|
||||
# Enables debug logging (default: false)
|
||||
debug: false
|
||||
|
||||
# Size limit of an acceptable CRL in bytes (default: 512000)
|
||||
crlsizelimit: 512000
|
||||
|
||||
#############################################################################
|
||||
# TLS section for the server's listening port
|
||||
#
|
||||
# The following types are supported for client authentication: NoClientCert,
|
||||
# RequestClientCert, RequireAnyClientCert, VerifyClientCertIfGiven,
|
||||
# and RequireAndVerifyClientCert.
|
||||
#
|
||||
# Certfiles is a list of root certificate authorities that the server uses
|
||||
# when verifying client certificates.
|
||||
#############################################################################
|
||||
tls:
|
||||
# Enable TLS (default: false)
|
||||
enabled: true
|
||||
# TLS for the server's listening port
|
||||
certfile:
|
||||
keyfile:
|
||||
clientauth:
|
||||
type: noclientcert
|
||||
certfiles:
|
||||
|
||||
#############################################################################
|
||||
# The CA section contains information related to the Certificate Authority
|
||||
# including the name of the CA, which should be unique for all members
|
||||
# of a blockchain network. It also includes the key and certificate files
|
||||
# used when issuing enrollment certificates (ECerts) and transaction
|
||||
# certificates (TCerts).
|
||||
# The chainfile (if it exists) contains the certificate chain which
|
||||
# should be trusted for this CA, where the 1st in the chain is always the
|
||||
# root CA certificate.
|
||||
#############################################################################
|
||||
ca:
|
||||
# Name of this CA
|
||||
name: OrdererCA
|
||||
# Key file (is only used to import a private key into BCCSP)
|
||||
keyfile:
|
||||
# Certificate file (default: ca-cert.pem)
|
||||
certfile:
|
||||
# Chain file
|
||||
chainfile:
|
||||
|
||||
#############################################################################
|
||||
# The gencrl REST endpoint is used to generate a CRL that contains revoked
|
||||
# certificates. This section contains configuration options that are used
|
||||
# during gencrl request processing.
|
||||
#############################################################################
|
||||
crl:
|
||||
# Specifies expiration for the generated CRL. The number of hours
|
||||
# specified by this property is added to the UTC time, the resulting time
|
||||
# is used to set the 'Next Update' date of the CRL.
|
||||
expiry: 24h
|
||||
|
||||
#############################################################################
|
||||
# The registry section controls how the fabric-ca-server does two things:
|
||||
# 1) authenticates enrollment requests which contain a username and password
|
||||
# (also known as an enrollment ID and secret).
|
||||
# 2) once authenticated, retrieves the identity's attribute names and
|
||||
# values which the fabric-ca-server optionally puts into TCerts
|
||||
# which it issues for transacting on the Hyperledger Fabric blockchain.
|
||||
# These attributes are useful for making access control decisions in
|
||||
# chaincode.
|
||||
# There are two main configuration options:
|
||||
# 1) The fabric-ca-server is the registry.
|
||||
# This is true if "ldap.enabled" in the ldap section below is false.
|
||||
# 2) An LDAP server is the registry, in which case the fabric-ca-server
|
||||
# calls the LDAP server to perform these tasks.
|
||||
# This is true if "ldap.enabled" in the ldap section below is true,
|
||||
# which means this "registry" section is ignored.
|
||||
#############################################################################
|
||||
registry:
|
||||
# Maximum number of times a password/secret can be reused for enrollment
|
||||
# (default: -1, which means there is no limit)
|
||||
maxenrollments: -1
|
||||
|
||||
# Contains identity information which is used when LDAP is disabled
|
||||
identities:
|
||||
- name: admin
|
||||
pass: adminpw
|
||||
type: client
|
||||
affiliation: ""
|
||||
attrs:
|
||||
hf.Registrar.Roles: "*"
|
||||
hf.Registrar.DelegateRoles: "*"
|
||||
hf.Revoker: true
|
||||
hf.IntermediateCA: true
|
||||
hf.GenCRL: true
|
||||
hf.Registrar.Attributes: "*"
|
||||
hf.AffiliationMgr: true
|
||||
|
||||
#############################################################################
|
||||
# Database section
|
||||
# Supported types are: "sqlite3", "postgres", and "mysql".
|
||||
# The datasource value depends on the type.
|
||||
# If the type is "sqlite3", the datasource value is a file name to use
|
||||
# as the database store. Since "sqlite3" is an embedded database, it
|
||||
# may not be used if you want to run the fabric-ca-server in a cluster.
|
||||
# To run the fabric-ca-server in a cluster, you must choose "postgres"
|
||||
# or "mysql".
|
||||
#############################################################################
|
||||
db:
|
||||
type: sqlite3
|
||||
datasource: fabric-ca-server.db
|
||||
tls:
|
||||
enabled: false
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
|
||||
#############################################################################
|
||||
# LDAP section
|
||||
# If LDAP is enabled, the fabric-ca-server calls LDAP to:
|
||||
# 1) authenticate enrollment ID and secret (i.e. username and password)
|
||||
# for enrollment requests;
|
||||
# 2) To retrieve identity attributes
|
||||
#############################################################################
|
||||
ldap:
|
||||
# Enables or disables the LDAP client (default: false)
|
||||
# If this is set to true, the "registry" section is ignored.
|
||||
enabled: false
|
||||
# The URL of the LDAP server
|
||||
url: ldap://<adminDN>:<adminPassword>@<host>:<port>/<base>
|
||||
# TLS configuration for the client connection to the LDAP server
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
# Attribute related configuration for mapping from LDAP entries to Fabric CA attributes
|
||||
attribute:
|
||||
# 'names' is an array of strings containing the LDAP attribute names which are
|
||||
# requested from the LDAP server for an LDAP identity's entry
|
||||
names: ['uid','member']
|
||||
# The 'converters' section is used to convert an LDAP entry to the value of
|
||||
# a fabric CA attribute.
|
||||
# For example, the following converts an LDAP 'uid' attribute
|
||||
# whose value begins with 'revoker' to a fabric CA attribute
|
||||
# named "hf.Revoker" with a value of "true" (because the boolean expression
|
||||
# evaluates to true).
|
||||
# converters:
|
||||
# - name: hf.Revoker
|
||||
# value: attr("uid") =~ "revoker*"
|
||||
converters:
|
||||
- name:
|
||||
value:
|
||||
# The 'maps' section contains named maps which may be referenced by the 'map'
|
||||
# function in the 'converters' section to map LDAP responses to arbitrary values.
|
||||
# For example, assume a user has an LDAP attribute named 'member' which has multiple
|
||||
# values which are each a distinguished name (i.e. a DN). For simplicity, assume the
|
||||
# values of the 'member' attribute are 'dn1', 'dn2', and 'dn3'.
|
||||
# Further assume the following configuration.
|
||||
# converters:
|
||||
# - name: hf.Registrar.Roles
|
||||
# value: map(attr("member"),"groups")
|
||||
# maps:
|
||||
# groups:
|
||||
# - name: dn1
|
||||
# value: peer
|
||||
# - name: dn2
|
||||
# value: client
|
||||
# The value of the user's 'hf.Registrar.Roles' attribute is then computed to be
|
||||
# "peer,client,dn3". This is because the value of 'attr("member")' is
|
||||
# "dn1,dn2,dn3", and the call to 'map' with a 2nd argument of
|
||||
# "group" replaces "dn1" with "peer" and "dn2" with "client".
|
||||
maps:
|
||||
groups:
|
||||
- name:
|
||||
value:
|
||||
|
||||
#############################################################################
|
||||
# Affiliations section. Fabric CA server can be bootstrapped with the
|
||||
# affiliations specified in this section. Affiliations are specified as maps.
|
||||
# For example:
|
||||
# businessunit1:
|
||||
# department1:
|
||||
# - team1
|
||||
# businessunit2:
|
||||
# - department2
|
||||
# - department3
|
||||
#
|
||||
# Affiliations are hierarchical in nature. In the above example,
|
||||
# department1 (used as businessunit1.department1) is the child of businessunit1.
|
||||
# team1 (used as businessunit1.department1.team1) is the child of department1.
|
||||
# department2 (used as businessunit2.department2) and department3 (businessunit2.department3)
|
||||
# are children of businessunit2.
|
||||
# Note: Affiliations are case sensitive except for the non-leaf affiliations
|
||||
# (like businessunit1, department1, businessunit2) that are specified in the configuration file,
|
||||
# which are always stored in lower case.
|
||||
#############################################################################
|
||||
affiliations:
|
||||
org1:
|
||||
- department1
|
||||
- department2
|
||||
org2:
|
||||
- department1
|
||||
|
||||
#############################################################################
|
||||
# Signing section
|
||||
#
|
||||
# The "default" subsection is used to sign enrollment certificates;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#
|
||||
# The "ca" profile subsection is used to sign intermediate CA certificates;
|
||||
# the default expiration ("expiry" field) is "43800h" which is 5 years in hours.
|
||||
# Note that "isca" is true, meaning that it issues a CA certificate.
|
||||
# A maxpathlen of 0 means that the intermediate CA cannot issue other
|
||||
# intermediate CA certificates, though it can still issue end entity certificates.
|
||||
# (See RFC 5280, section 4.2.1.9)
|
||||
#
|
||||
# The "tls" profile subsection is used to sign TLS certificate requests;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#############################################################################
|
||||
signing:
|
||||
default:
|
||||
usage:
|
||||
- digital signature
|
||||
expiry: 8760h
|
||||
profiles:
|
||||
ca:
|
||||
usage:
|
||||
- cert sign
|
||||
- crl sign
|
||||
expiry: 43800h
|
||||
caconstraint:
|
||||
isca: true
|
||||
maxpathlen: 0
|
||||
tls:
|
||||
usage:
|
||||
- signing
|
||||
- key encipherment
|
||||
- server auth
|
||||
- client auth
|
||||
- key agreement
|
||||
expiry: 8760h
|
||||
|
||||
###########################################################################
|
||||
# Certificate Signing Request (CSR) section.
|
||||
# This controls the creation of the root CA certificate.
|
||||
# The expiration for the root CA certificate is configured with the
|
||||
# "ca.expiry" field below, whose default value is "131400h" which is
|
||||
# 15 years in hours.
|
||||
# The pathlength field is used to limit CA certificate hierarchy as described
|
||||
# in section 4.2.1.9 of RFC 5280.
|
||||
# Examples:
|
||||
# 1) No pathlength value means no limit is requested.
|
||||
# 2) pathlength == 1 means a limit of 1 is requested which is the default for
|
||||
# a root CA. This means the root CA can issue intermediate CA certificates,
|
||||
# but these intermediate CAs may not in turn issue other CA certificates
|
||||
# though they can still issue end entity certificates.
|
||||
# 3) pathlength == 0 means a limit of 0 is requested;
|
||||
# this is the default for an intermediate CA, which means it can not issue
|
||||
# CA certificates though it can still issue end entity certificates.
|
||||
###########################################################################
|
||||
csr:
|
||||
cn: ca.example.com
|
||||
names:
|
||||
- C: US
|
||||
ST: "New York"
|
||||
L: "New York"
|
||||
O: example.com
|
||||
OU:
|
||||
hosts:
|
||||
- localhost
|
||||
- example.com
|
||||
ca:
|
||||
expiry: 131400h
|
||||
pathlength: 1
|
||||
|
||||
#############################################################################
|
||||
# BCCSP (BlockChain Crypto Service Provider) section is used to select which
|
||||
# crypto library implementation to use
|
||||
#############################################################################
|
||||
bccsp:
|
||||
default: SW
|
||||
sw:
|
||||
hash: SHA2
|
||||
security: 256
|
||||
filekeystore:
|
||||
# The directory used for the software file-based keystore
|
||||
keystore: msp/keystore
|
||||
|
||||
#############################################################################
|
||||
# Multi CA section
|
||||
#
|
||||
# Each Fabric CA server contains one CA by default. This section is used
|
||||
# to configure multiple CAs in a single server.
|
||||
#
|
||||
# 1) --cacount <number-of-CAs>
|
||||
# Automatically generate <number-of-CAs> non-default CAs. The names of these
|
||||
# additional CAs are "ca1", "ca2", ... "caN", where "N" is <number-of-CAs>
|
||||
# This is particularly useful in a development environment to quickly set up
|
||||
# multiple CAs. Note that, this config option is not applicable to intermediate CA server
|
||||
# i.e., Fabric CA server that is started with intermediate.parentserver.url config
|
||||
# option (-u command line option)
|
||||
#
|
||||
# 2) --cafiles <CA-config-files>
|
||||
# For each CA config file in the list, generate a separate signing CA. Each CA
|
||||
# config file in this list MAY contain all of the same elements as are found in
|
||||
# the server config file except port, debug, and tls sections.
|
||||
#
|
||||
# Examples:
|
||||
# fabric-ca-server start -b admin:adminpw --cacount 2
|
||||
#
|
||||
# fabric-ca-server start -b admin:adminpw --cafiles ca/ca1/fabric-ca-server-config.yaml
|
||||
# --cafiles ca/ca2/fabric-ca-server-config.yaml
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
cacount:
|
||||
|
||||
cafiles:
|
||||
|
||||
#############################################################################
|
||||
# Intermediate CA section
|
||||
#
|
||||
# The relationship between servers and CAs is as follows:
|
||||
# 1) A single server process may contain or function as one or more CAs.
|
||||
# This is configured by the "Multi CA section" above.
|
||||
# 2) Each CA is either a root CA or an intermediate CA.
|
||||
# 3) Each intermediate CA has a parent CA which is either a root CA or another intermediate CA.
|
||||
#
|
||||
# This section pertains to configuration of #2 and #3.
|
||||
# If the "intermediate.parentserver.url" property is set,
|
||||
# then this is an intermediate CA with the specified parent
|
||||
# CA.
|
||||
#
|
||||
# parentserver section
|
||||
# url - The URL of the parent server
|
||||
# caname - Name of the CA to enroll within the server
|
||||
#
|
||||
# enrollment section used to enroll intermediate CA with parent CA
|
||||
# profile - Name of the signing profile to use in issuing the certificate
|
||||
# label - Label to use in HSM operations
|
||||
#
|
||||
# tls section for secure socket connection
|
||||
# certfiles - PEM-encoded list of trusted root certificate files
|
||||
# client:
|
||||
# certfile - PEM-encoded certificate file for when client authentication
|
||||
# is enabled on server
|
||||
# keyfile - PEM-encoded key file for when client authentication
|
||||
# is enabled on server
|
||||
#############################################################################
|
||||
intermediate:
|
||||
parentserver:
|
||||
url:
|
||||
caname:
|
||||
|
||||
enrollment:
|
||||
hosts:
|
||||
profile:
|
||||
label:
|
||||
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
BIN
explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server.db
Normal file
BIN
explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server.db
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrfm8d9NjP4k57TED
|
||||
m1TKS5x+svz7PMC51iQdKFA8NcqhRANCAASHK0PN5ZnZ4hWIMxuctWkz52Wibj1E
|
||||
MlRV/9qVzM6o+jgNHpgeyF0bAH2YfG2Rf7FS6/cJtzhSkRSXa2xODrRs
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGkAgEBBDA30sQT3qWX3zRahwZMZPnugRPc3tUARpKn+TDYmNk+ZwPkP4odO7ze
|
||||
XxChSCNkpKmgBwYFK4EEACKhZANiAASYZ3jCiP0AaI2BmSGrpB6NcDaE11DbTjXF
|
||||
mR7sWOT8rTwLpWE+22lGn8WFeHNb8DBNMGU3daoN4fir/Exj3fCtYKvAMeW26TDQ
|
||||
+EX4bxaKuIis4aL2ytIO7VFSoIH03Rw=
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
&ô[Ë£Tå\•èk{FëEûÈoÆVACY‚Þ
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8oP5tbDvxZAgrZHG
|
||||
PdEd2k98rga+XoANXOiMy3rT8xChRANCAAT1Z9dstXBLigeW5tMH7D4HK68AreQc
|
||||
XdiFPvSHvRwfpuyzaEoYI2LdIyI3eLQSKVos19Dp1LHqU12XogGc3/0f
|
||||
-----END PRIVATE KEY-----
|
||||
15
explorer/organizations/fabric-ca/ordererOrg/tls-cert.pem
Normal file
15
explorer/organizations/fabric-ca/ordererOrg/tls-cert.pem
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICaDCCAg6gAwIBAgIUU/ygC8TjnYjgnEukyez4FaqJQLIwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNDgwMFowYDELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFTATBgNVBAMTDDFkMWRhMTBjOTYxZDBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABPVn12y1cEuKB5bm0wfsPgcrrwCt5Bxd2IU+9Ie9HB+m
|
||||
7LNoShgjYt0jIjd4tBIpWizX0OnUsepTXZeiAZzf/R+jgaMwgaAwDgYDVR0PAQH/
|
||||
BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||
AjAAMB0GA1UdDgQWBBTQbA/mwCBMzQ+jSw1LsTTldUr2CjAfBgNVHSMEGDAWgBTP
|
||||
3gHK6gzsEt9uesT9DAVmQvJ9eTAhBgNVHREEGjAYgglsb2NhbGhvc3SCC2V4YW1w
|
||||
bGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIQCIBB2dYIvIWi226rJfPSLVt5xD855p
|
||||
K8FdZpt9aUTXZwIgcdsAf2Rt3tqIjnkT0p6A2otth+7XHmiqUYW+sWdsN68=
|
||||
-----END CERTIFICATE-----
|
||||
20
explorer/organizations/fabric-ca/org1/IssuerPublicKey
Normal file
20
explorer/organizations/fabric-ca/org1/IssuerPublicKey
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
OU
|
||||
Role
|
||||
EnrollmentID
|
||||
RevocationHandleD
|
||||
ÚªEµ÷µÝ`Ø#õ)zÿŸ¦Ú<0F>‡yh"þŽ ‚=Û©?WhV«@JWL<57>M\C‡‘¢óêæN|<7C>ñD
|
||||
¡<>LI{îèú'‘E1Å
khÀÑĺÚH£‘V<>³ª ÃÿACiŒ¦X\-!Š<>¢
"À•ÑXj,"ðôÕ‹ïCî"D
|
||||
[mO9¾íòñuf[=rOþC*ï..w}òò8ãºXå,A ¦×‘ ò9
ÃoÑ[ˆéªÝŠ—F<E28094>wýñkhɪ)"D
|
||||
nÿ,L-¢Ìkj0Ív{6b<>H¨Iè„W1áÓ‡ Fš›Èþ÷\´k'È!º94ºúò¬)âªýÐ{àÎÑ02"D
|
||||
DVåñïËGÕí!ÒU?›ã°uYy
¸
|
||||
}›<>‹^—yk ¥¿:¸]¦r‹«Ë©|_†IPø8j‹I…ç‚"D
|
||||
NjÎú«¥~-ñçFOëò —ß`Yæ|wò®u| ’kO¡^žõP6âqƶÜM,;Fo›$ß…ö}Ñ0O*ˆ
|
||||
$XO„(_(íá›{Œ×m-ºÍr±z¨·^ä{žÓk] ÜÇ<02>_Ò¹œš£¯ÍŸ‡8éÜïKo.’¹½P ¦ð³×býxêKô¡éí!î.IüK+^‰Pëšp
d[" ¾Ï¤¾¤±~¸Ÿ˜3Á7‚oPP
|
||||
L´Ô$ôk±ûó°a/2D
|
||||
Dú[GIØ
|
||||
½žÁ
¸ð(¯!†gnõ}Z;÷oí—–:<3A>’ Ækœf»jíÑš)ùôèíë“<C3AB>tÇóñ\æ]¾ëd:D
|
||||
!üsg$,l‹Úó w…LBU©$#¼¾¨
|
||||
Yå@ðÇ<€ S™¯Gê-¹|Ê&9<>aå<xq!:¨>ålUÊŠ<d<13>B l…ô…s¥–IŽxFKT¨`zEë³Å…
‚ý°Ž|}ÝJ +ÊûZC¹“<C2B9>ÀC‰Òý
|
||||
2ÎM
|
||||
šKÄ*‚<>
ëø/Z;R \ômô¬†“‡mÖ´<C396>joaEëõþÕœúÖC,Ë<>iø
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
|
||||
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
|
||||
Mapu95urfz2tclrsW22YPBtbObGerAfG
|
||||
-----END PUBLIC KEY-----
|
||||
14
explorer/organizations/fabric-ca/org1/ca-cert.pem
Normal file
14
explorer/organizations/fabric-ca/org1/ca-cert.pem
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,406 @@
|
|||
#############################################################################
|
||||
# This is a configuration file for the fabric-ca-server command.
|
||||
#
|
||||
# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES
|
||||
# ------------------------------------------------
|
||||
# Each configuration element can be overridden via command line
|
||||
# arguments or environment variables. The precedence for determining
|
||||
# the value of each element is as follows:
|
||||
# 1) command line argument
|
||||
# Examples:
|
||||
# a) --port 443
|
||||
# To set the listening port
|
||||
# b) --ca.keyfile ../mykey.pem
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '.' separator character.
|
||||
# 2) environment variable
|
||||
# Examples:
|
||||
# a) FABRIC_CA_SERVER_PORT=443
|
||||
# To set the listening port
|
||||
# b) FABRIC_CA_SERVER_CA_KEYFILE="../mykey.pem"
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '_' separator character.
|
||||
# 3) configuration file
|
||||
# 4) default value (if there is one)
|
||||
# All default values are shown beside each element below.
|
||||
#
|
||||
# FILE NAME ELEMENTS
|
||||
# ------------------
|
||||
# The value of all fields whose name ends with "file" or "files" are
|
||||
# name or names of other files.
|
||||
# For example, see "tls.certfile" and "tls.clientauth.certfiles".
|
||||
# The value of each of these fields can be a simple filename, a
|
||||
# relative path, or an absolute path. If the value is not an
|
||||
# absolute path, it is interpretted as being relative to the location
|
||||
# of this configuration file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# Version of config file
|
||||
version: 1.2.0
|
||||
|
||||
# Server's listening port (default: 7054)
|
||||
port: 7054
|
||||
|
||||
# Enables debug logging (default: false)
|
||||
debug: false
|
||||
|
||||
# Size limit of an acceptable CRL in bytes (default: 512000)
|
||||
crlsizelimit: 512000
|
||||
|
||||
#############################################################################
|
||||
# TLS section for the server's listening port
|
||||
#
|
||||
# The following types are supported for client authentication: NoClientCert,
|
||||
# RequestClientCert, RequireAnyClientCert, VerifyClientCertIfGiven,
|
||||
# and RequireAndVerifyClientCert.
|
||||
#
|
||||
# Certfiles is a list of root certificate authorities that the server uses
|
||||
# when verifying client certificates.
|
||||
#############################################################################
|
||||
tls:
|
||||
# Enable TLS (default: false)
|
||||
enabled: true
|
||||
# TLS for the server's listening port
|
||||
certfile:
|
||||
keyfile:
|
||||
clientauth:
|
||||
type: noclientcert
|
||||
certfiles:
|
||||
|
||||
#############################################################################
|
||||
# The CA section contains information related to the Certificate Authority
|
||||
# including the name of the CA, which should be unique for all members
|
||||
# of a blockchain network. It also includes the key and certificate files
|
||||
# used when issuing enrollment certificates (ECerts) and transaction
|
||||
# certificates (TCerts).
|
||||
# The chainfile (if it exists) contains the certificate chain which
|
||||
# should be trusted for this CA, where the 1st in the chain is always the
|
||||
# root CA certificate.
|
||||
#############################################################################
|
||||
ca:
|
||||
# Name of this CA
|
||||
name: Org1CA
|
||||
# Key file (is only used to import a private key into BCCSP)
|
||||
keyfile:
|
||||
# Certificate file (default: ca-cert.pem)
|
||||
certfile:
|
||||
# Chain file
|
||||
chainfile:
|
||||
|
||||
#############################################################################
|
||||
# The gencrl REST endpoint is used to generate a CRL that contains revoked
|
||||
# certificates. This section contains configuration options that are used
|
||||
# during gencrl request processing.
|
||||
#############################################################################
|
||||
crl:
|
||||
# Specifies expiration for the generated CRL. The number of hours
|
||||
# specified by this property is added to the UTC time, the resulting time
|
||||
# is used to set the 'Next Update' date of the CRL.
|
||||
expiry: 24h
|
||||
|
||||
#############################################################################
|
||||
# The registry section controls how the fabric-ca-server does two things:
|
||||
# 1) authenticates enrollment requests which contain a username and password
|
||||
# (also known as an enrollment ID and secret).
|
||||
# 2) once authenticated, retrieves the identity's attribute names and
|
||||
# values which the fabric-ca-server optionally puts into TCerts
|
||||
# which it issues for transacting on the Hyperledger Fabric blockchain.
|
||||
# These attributes are useful for making access control decisions in
|
||||
# chaincode.
|
||||
# There are two main configuration options:
|
||||
# 1) The fabric-ca-server is the registry.
|
||||
# This is true if "ldap.enabled" in the ldap section below is false.
|
||||
# 2) An LDAP server is the registry, in which case the fabric-ca-server
|
||||
# calls the LDAP server to perform these tasks.
|
||||
# This is true if "ldap.enabled" in the ldap section below is true,
|
||||
# which means this "registry" section is ignored.
|
||||
#############################################################################
|
||||
registry:
|
||||
# Maximum number of times a password/secret can be reused for enrollment
|
||||
# (default: -1, which means there is no limit)
|
||||
maxenrollments: -1
|
||||
|
||||
# Contains identity information which is used when LDAP is disabled
|
||||
identities:
|
||||
- name: admin
|
||||
pass: adminpw
|
||||
type: client
|
||||
affiliation: ""
|
||||
attrs:
|
||||
hf.Registrar.Roles: "*"
|
||||
hf.Registrar.DelegateRoles: "*"
|
||||
hf.Revoker: true
|
||||
hf.IntermediateCA: true
|
||||
hf.GenCRL: true
|
||||
hf.Registrar.Attributes: "*"
|
||||
hf.AffiliationMgr: true
|
||||
|
||||
#############################################################################
|
||||
# Database section
|
||||
# Supported types are: "sqlite3", "postgres", and "mysql".
|
||||
# The datasource value depends on the type.
|
||||
# If the type is "sqlite3", the datasource value is a file name to use
|
||||
# as the database store. Since "sqlite3" is an embedded database, it
|
||||
# may not be used if you want to run the fabric-ca-server in a cluster.
|
||||
# To run the fabric-ca-server in a cluster, you must choose "postgres"
|
||||
# or "mysql".
|
||||
#############################################################################
|
||||
db:
|
||||
type: sqlite3
|
||||
datasource: fabric-ca-server.db
|
||||
tls:
|
||||
enabled: false
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
|
||||
#############################################################################
|
||||
# LDAP section
|
||||
# If LDAP is enabled, the fabric-ca-server calls LDAP to:
|
||||
# 1) authenticate enrollment ID and secret (i.e. username and password)
|
||||
# for enrollment requests;
|
||||
# 2) To retrieve identity attributes
|
||||
#############################################################################
|
||||
ldap:
|
||||
# Enables or disables the LDAP client (default: false)
|
||||
# If this is set to true, the "registry" section is ignored.
|
||||
enabled: false
|
||||
# The URL of the LDAP server
|
||||
url: ldap://<adminDN>:<adminPassword>@<host>:<port>/<base>
|
||||
# TLS configuration for the client connection to the LDAP server
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
# Attribute related configuration for mapping from LDAP entries to Fabric CA attributes
|
||||
attribute:
|
||||
# 'names' is an array of strings containing the LDAP attribute names which are
|
||||
# requested from the LDAP server for an LDAP identity's entry
|
||||
names: ['uid','member']
|
||||
# The 'converters' section is used to convert an LDAP entry to the value of
|
||||
# a fabric CA attribute.
|
||||
# For example, the following converts an LDAP 'uid' attribute
|
||||
# whose value begins with 'revoker' to a fabric CA attribute
|
||||
# named "hf.Revoker" with a value of "true" (because the boolean expression
|
||||
# evaluates to true).
|
||||
# converters:
|
||||
# - name: hf.Revoker
|
||||
# value: attr("uid") =~ "revoker*"
|
||||
converters:
|
||||
- name:
|
||||
value:
|
||||
# The 'maps' section contains named maps which may be referenced by the 'map'
|
||||
# function in the 'converters' section to map LDAP responses to arbitrary values.
|
||||
# For example, assume a user has an LDAP attribute named 'member' which has multiple
|
||||
# values which are each a distinguished name (i.e. a DN). For simplicity, assume the
|
||||
# values of the 'member' attribute are 'dn1', 'dn2', and 'dn3'.
|
||||
# Further assume the following configuration.
|
||||
# converters:
|
||||
# - name: hf.Registrar.Roles
|
||||
# value: map(attr("member"),"groups")
|
||||
# maps:
|
||||
# groups:
|
||||
# - name: dn1
|
||||
# value: peer
|
||||
# - name: dn2
|
||||
# value: client
|
||||
# The value of the user's 'hf.Registrar.Roles' attribute is then computed to be
|
||||
# "peer,client,dn3". This is because the value of 'attr("member")' is
|
||||
# "dn1,dn2,dn3", and the call to 'map' with a 2nd argument of
|
||||
# "group" replaces "dn1" with "peer" and "dn2" with "client".
|
||||
maps:
|
||||
groups:
|
||||
- name:
|
||||
value:
|
||||
|
||||
#############################################################################
|
||||
# Affiliations section. Fabric CA server can be bootstrapped with the
|
||||
# affiliations specified in this section. Affiliations are specified as maps.
|
||||
# For example:
|
||||
# businessunit1:
|
||||
# department1:
|
||||
# - team1
|
||||
# businessunit2:
|
||||
# - department2
|
||||
# - department3
|
||||
#
|
||||
# Affiliations are hierarchical in nature. In the above example,
|
||||
# department1 (used as businessunit1.department1) is the child of businessunit1.
|
||||
# team1 (used as businessunit1.department1.team1) is the child of department1.
|
||||
# department2 (used as businessunit2.department2) and department3 (businessunit2.department3)
|
||||
# are children of businessunit2.
|
||||
# Note: Affiliations are case sensitive except for the non-leaf affiliations
|
||||
# (like businessunit1, department1, businessunit2) that are specified in the configuration file,
|
||||
# which are always stored in lower case.
|
||||
#############################################################################
|
||||
affiliations:
|
||||
org1:
|
||||
- department1
|
||||
- department2
|
||||
org2:
|
||||
- department1
|
||||
|
||||
#############################################################################
|
||||
# Signing section
|
||||
#
|
||||
# The "default" subsection is used to sign enrollment certificates;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#
|
||||
# The "ca" profile subsection is used to sign intermediate CA certificates;
|
||||
# the default expiration ("expiry" field) is "43800h" which is 5 years in hours.
|
||||
# Note that "isca" is true, meaning that it issues a CA certificate.
|
||||
# A maxpathlen of 0 means that the intermediate CA cannot issue other
|
||||
# intermediate CA certificates, though it can still issue end entity certificates.
|
||||
# (See RFC 5280, section 4.2.1.9)
|
||||
#
|
||||
# The "tls" profile subsection is used to sign TLS certificate requests;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#############################################################################
|
||||
signing:
|
||||
default:
|
||||
usage:
|
||||
- digital signature
|
||||
expiry: 8760h
|
||||
profiles:
|
||||
ca:
|
||||
usage:
|
||||
- cert sign
|
||||
- crl sign
|
||||
expiry: 43800h
|
||||
caconstraint:
|
||||
isca: true
|
||||
maxpathlen: 0
|
||||
tls:
|
||||
usage:
|
||||
- signing
|
||||
- key encipherment
|
||||
- server auth
|
||||
- client auth
|
||||
- key agreement
|
||||
expiry: 8760h
|
||||
|
||||
###########################################################################
|
||||
# Certificate Signing Request (CSR) section.
|
||||
# This controls the creation of the root CA certificate.
|
||||
# The expiration for the root CA certificate is configured with the
|
||||
# "ca.expiry" field below, whose default value is "131400h" which is
|
||||
# 15 years in hours.
|
||||
# The pathlength field is used to limit CA certificate hierarchy as described
|
||||
# in section 4.2.1.9 of RFC 5280.
|
||||
# Examples:
|
||||
# 1) No pathlength value means no limit is requested.
|
||||
# 2) pathlength == 1 means a limit of 1 is requested which is the default for
|
||||
# a root CA. This means the root CA can issue intermediate CA certificates,
|
||||
# but these intermediate CAs may not in turn issue other CA certificates
|
||||
# though they can still issue end entity certificates.
|
||||
# 3) pathlength == 0 means a limit of 0 is requested;
|
||||
# this is the default for an intermediate CA, which means it can not issue
|
||||
# CA certificates though it can still issue end entity certificates.
|
||||
###########################################################################
|
||||
csr:
|
||||
cn: ca.org1.example.com
|
||||
names:
|
||||
- C: US
|
||||
ST: "North Carolina"
|
||||
L: "Durham"
|
||||
O: org1.example.com
|
||||
OU:
|
||||
hosts:
|
||||
- localhost
|
||||
- org1.example.com
|
||||
ca:
|
||||
expiry: 131400h
|
||||
pathlength: 1
|
||||
|
||||
#############################################################################
|
||||
# BCCSP (BlockChain Crypto Service Provider) section is used to select which
|
||||
# crypto library implementation to use
|
||||
#############################################################################
|
||||
bccsp:
|
||||
default: SW
|
||||
sw:
|
||||
hash: SHA2
|
||||
security: 256
|
||||
filekeystore:
|
||||
# The directory used for the software file-based keystore
|
||||
keystore: msp/keystore
|
||||
|
||||
#############################################################################
|
||||
# Multi CA section
|
||||
#
|
||||
# Each Fabric CA server contains one CA by default. This section is used
|
||||
# to configure multiple CAs in a single server.
|
||||
#
|
||||
# 1) --cacount <number-of-CAs>
|
||||
# Automatically generate <number-of-CAs> non-default CAs. The names of these
|
||||
# additional CAs are "ca1", "ca2", ... "caN", where "N" is <number-of-CAs>
|
||||
# This is particularly useful in a development environment to quickly set up
|
||||
# multiple CAs. Note that, this config option is not applicable to intermediate CA server
|
||||
# i.e., Fabric CA server that is started with intermediate.parentserver.url config
|
||||
# option (-u command line option)
|
||||
#
|
||||
# 2) --cafiles <CA-config-files>
|
||||
# For each CA config file in the list, generate a separate signing CA. Each CA
|
||||
# config file in this list MAY contain all of the same elements as are found in
|
||||
# the server config file except port, debug, and tls sections.
|
||||
#
|
||||
# Examples:
|
||||
# fabric-ca-server start -b admin:adminpw --cacount 2
|
||||
#
|
||||
# fabric-ca-server start -b admin:adminpw --cafiles ca/ca1/fabric-ca-server-config.yaml
|
||||
# --cafiles ca/ca2/fabric-ca-server-config.yaml
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
cacount:
|
||||
|
||||
cafiles:
|
||||
|
||||
#############################################################################
|
||||
# Intermediate CA section
|
||||
#
|
||||
# The relationship between servers and CAs is as follows:
|
||||
# 1) A single server process may contain or function as one or more CAs.
|
||||
# This is configured by the "Multi CA section" above.
|
||||
# 2) Each CA is either a root CA or an intermediate CA.
|
||||
# 3) Each intermediate CA has a parent CA which is either a root CA or another intermediate CA.
|
||||
#
|
||||
# This section pertains to configuration of #2 and #3.
|
||||
# If the "intermediate.parentserver.url" property is set,
|
||||
# then this is an intermediate CA with the specified parent
|
||||
# CA.
|
||||
#
|
||||
# parentserver section
|
||||
# url - The URL of the parent server
|
||||
# caname - Name of the CA to enroll within the server
|
||||
#
|
||||
# enrollment section used to enroll intermediate CA with parent CA
|
||||
# profile - Name of the signing profile to use in issuing the certificate
|
||||
# label - Label to use in HSM operations
|
||||
#
|
||||
# tls section for secure socket connection
|
||||
# certfiles - PEM-encoded list of trusted root certificate files
|
||||
# client:
|
||||
# certfile - PEM-encoded certificate file for when client authentication
|
||||
# is enabled on server
|
||||
# keyfile - PEM-encoded key file for when client authentication
|
||||
# is enabled on server
|
||||
#############################################################################
|
||||
intermediate:
|
||||
parentserver:
|
||||
url:
|
||||
caname:
|
||||
|
||||
enrollment:
|
||||
hosts:
|
||||
profile:
|
||||
label:
|
||||
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
BIN
explorer/organizations/fabric-ca/org1/fabric-ca-server.db
Normal file
BIN
explorer/organizations/fabric-ca/org1/fabric-ca-server.db
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgthEPXAsBR+Um9LNx
|
||||
bdOxgDkUl2JFaOCG9PpTl4qz8KOhRANCAARkqtAurq29hx7M5kDr6iTm+r2Y3mTP
|
||||
o1n1B48UBklQs+vv95ErvZXurVr1OxLfxRZ89+9LCADSXoWtIcO+B/a4
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIf1vqcuLUjk7PVoC
|
||||
RDfK96GXPyb963q1iWodEiec+GGhRANCAAR57dU5ES72AB4RXlS9OXd1YXWhsudh
|
||||
QwTX+xAg6td54V+ZEgoxg/sCaDo/io5hSaE34S0BuUgEmb554VatPMPQ
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGkAgEBBDCRElgwMOdaaoHnWg81iP0d1VG8ctr7DuG5L15kv8hIm98jOw9nuScx
|
||||
gzuoeEqmUcmgBwYFK4EEACKhZANiAATPQVYpHouqjKlG+tIvrXpG2EmX89eWcnIc
|
||||
8xf3AS5W96HfdFJEH0y5KfYd1b93mZgRGcg29Tc2jHw/ad4NGxL/a96Zdmpm2yIx
|
||||
qm73m6t/Pa1yWuxbbZg8G1s5sZ6sB8Y=
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
Ψ€<CEA8>Φ•n'<27>τωψ¦.v¤|HQ<48>ƒCc:Ϊ΄η
|
||||
16
explorer/organizations/fabric-ca/org1/tls-cert.pem
Normal file
16
explorer/organizations/fabric-ca/org1/tls-cert.pem
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICgzCCAiqgAwIBAgIUcUpOmkTyXyAOYAvbdPvhCWuGpBowCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMjMwMzE0MDA0ODAw
|
||||
WjBpMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEVMBMGA1UEAxMM
|
||||
YWUxMzQyNDYxOTVmMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEee3VOREu9gAe
|
||||
EV5UvTl3dWF1obLnYUME1/sQIOrXeeFfmRIKMYP7Amg6P4qOYUmhN+EtAblIBJm+
|
||||
eeFWrTzD0KOBqDCBpTAOBgNVHQ8BAf8EBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUH
|
||||
AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFBoWrOwsjj6NSD9N
|
||||
jk9RSHIc9zPLMB8GA1UdIwQYMBaAFKh1I+0UzVsQgKRQ26SH8wvlatSMMCYGA1Ud
|
||||
EQQfMB2CCWxvY2FsaG9zdIIQb3JnMS5leGFtcGxlLmNvbTAKBggqhkjOPQQDAgNH
|
||||
ADBEAiAYLf5nVlysDOaszT+/06+9mxBhvDjWrwJI1giArbOanwIgInGjCgRBzgAt
|
||||
ymj++G7Ik4OcBhvxMDdc5PhH7OXLSXE=
|
||||
-----END CERTIFICATE-----
|
||||
BIN
explorer/organizations/fabric-ca/org2/IssuerPublicKey
Normal file
BIN
explorer/organizations/fabric-ca/org2/IssuerPublicKey
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY
|
||||
XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV
|
||||
SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc
|
||||
-----END PUBLIC KEY-----
|
||||
14
explorer/organizations/fabric-ca/org2/ca-cert.pem
Normal file
14
explorer/organizations/fabric-ca/org2/ca-cert.pem
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICHjCCAcWgAwIBAgIUGPYBlIQXnbOGbH/bUzVHGPChM1swCgYIKoZIzj0EAwIw
|
||||
bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy
|
||||
c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn
|
||||
Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0zNzAzMTAwMDQ4MDBaMGwx
|
||||
CzAJBgNVBAYTAlVLMRIwEAYDVQQIEwlIYW1wc2hpcmUxEDAOBgNVBAcTB0h1cnNs
|
||||
ZXkxGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2NhLm9yZzIu
|
||||
ZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASxlrYk2PBdeLPL
|
||||
ETVAR+bQXJjWRHzGor5+lakpiX61VCjsA3pNinkWQvShlLcERW5K6AgIfsZLq7wW
|
||||
wS7NcZmwo0UwQzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBATAd
|
||||
BgNVHQ4EFgQUCf9u5MK36oIJMXxy+V2ufkLd2+MwCgYIKoZIzj0EAwIDRwAwRAIg
|
||||
fvjNCVCfFWbFU+hGpnbOegrd73k8N6u52prvV88bIu8CIC++/sZ+ZHCZtw4wWr+7
|
||||
hpK7E24oj9czB95SUZoFRHnw
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,406 @@
|
|||
#############################################################################
|
||||
# This is a configuration file for the fabric-ca-server command.
|
||||
#
|
||||
# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES
|
||||
# ------------------------------------------------
|
||||
# Each configuration element can be overridden via command line
|
||||
# arguments or environment variables. The precedence for determining
|
||||
# the value of each element is as follows:
|
||||
# 1) command line argument
|
||||
# Examples:
|
||||
# a) --port 443
|
||||
# To set the listening port
|
||||
# b) --ca.keyfile ../mykey.pem
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '.' separator character.
|
||||
# 2) environment variable
|
||||
# Examples:
|
||||
# a) FABRIC_CA_SERVER_PORT=443
|
||||
# To set the listening port
|
||||
# b) FABRIC_CA_SERVER_CA_KEYFILE="../mykey.pem"
|
||||
# To set the "keyfile" element in the "ca" section below;
|
||||
# note the '_' separator character.
|
||||
# 3) configuration file
|
||||
# 4) default value (if there is one)
|
||||
# All default values are shown beside each element below.
|
||||
#
|
||||
# FILE NAME ELEMENTS
|
||||
# ------------------
|
||||
# The value of all fields whose name ends with "file" or "files" are
|
||||
# name or names of other files.
|
||||
# For example, see "tls.certfile" and "tls.clientauth.certfiles".
|
||||
# The value of each of these fields can be a simple filename, a
|
||||
# relative path, or an absolute path. If the value is not an
|
||||
# absolute path, it is interpretted as being relative to the location
|
||||
# of this configuration file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# Version of config file
|
||||
version: 1.2.0
|
||||
|
||||
# Server's listening port (default: 7054)
|
||||
port: 7054
|
||||
|
||||
# Enables debug logging (default: false)
|
||||
debug: false
|
||||
|
||||
# Size limit of an acceptable CRL in bytes (default: 512000)
|
||||
crlsizelimit: 512000
|
||||
|
||||
#############################################################################
|
||||
# TLS section for the server's listening port
|
||||
#
|
||||
# The following types are supported for client authentication: NoClientCert,
|
||||
# RequestClientCert, RequireAnyClientCert, VerifyClientCertIfGiven,
|
||||
# and RequireAndVerifyClientCert.
|
||||
#
|
||||
# Certfiles is a list of root certificate authorities that the server uses
|
||||
# when verifying client certificates.
|
||||
#############################################################################
|
||||
tls:
|
||||
# Enable TLS (default: false)
|
||||
enabled: true
|
||||
# TLS for the server's listening port
|
||||
certfile:
|
||||
keyfile:
|
||||
clientauth:
|
||||
type: noclientcert
|
||||
certfiles:
|
||||
|
||||
#############################################################################
|
||||
# The CA section contains information related to the Certificate Authority
|
||||
# including the name of the CA, which should be unique for all members
|
||||
# of a blockchain network. It also includes the key and certificate files
|
||||
# used when issuing enrollment certificates (ECerts) and transaction
|
||||
# certificates (TCerts).
|
||||
# The chainfile (if it exists) contains the certificate chain which
|
||||
# should be trusted for this CA, where the 1st in the chain is always the
|
||||
# root CA certificate.
|
||||
#############################################################################
|
||||
ca:
|
||||
# Name of this CA
|
||||
name: Org2CA
|
||||
# Key file (is only used to import a private key into BCCSP)
|
||||
keyfile:
|
||||
# Certificate file (default: ca-cert.pem)
|
||||
certfile:
|
||||
# Chain file
|
||||
chainfile:
|
||||
|
||||
#############################################################################
|
||||
# The gencrl REST endpoint is used to generate a CRL that contains revoked
|
||||
# certificates. This section contains configuration options that are used
|
||||
# during gencrl request processing.
|
||||
#############################################################################
|
||||
crl:
|
||||
# Specifies expiration for the generated CRL. The number of hours
|
||||
# specified by this property is added to the UTC time, the resulting time
|
||||
# is used to set the 'Next Update' date of the CRL.
|
||||
expiry: 24h
|
||||
|
||||
#############################################################################
|
||||
# The registry section controls how the fabric-ca-server does two things:
|
||||
# 1) authenticates enrollment requests which contain a username and password
|
||||
# (also known as an enrollment ID and secret).
|
||||
# 2) once authenticated, retrieves the identity's attribute names and
|
||||
# values which the fabric-ca-server optionally puts into TCerts
|
||||
# which it issues for transacting on the Hyperledger Fabric blockchain.
|
||||
# These attributes are useful for making access control decisions in
|
||||
# chaincode.
|
||||
# There are two main configuration options:
|
||||
# 1) The fabric-ca-server is the registry.
|
||||
# This is true if "ldap.enabled" in the ldap section below is false.
|
||||
# 2) An LDAP server is the registry, in which case the fabric-ca-server
|
||||
# calls the LDAP server to perform these tasks.
|
||||
# This is true if "ldap.enabled" in the ldap section below is true,
|
||||
# which means this "registry" section is ignored.
|
||||
#############################################################################
|
||||
registry:
|
||||
# Maximum number of times a password/secret can be reused for enrollment
|
||||
# (default: -1, which means there is no limit)
|
||||
maxenrollments: -1
|
||||
|
||||
# Contains identity information which is used when LDAP is disabled
|
||||
identities:
|
||||
- name: admin
|
||||
pass: adminpw
|
||||
type: client
|
||||
affiliation: ""
|
||||
attrs:
|
||||
hf.Registrar.Roles: "*"
|
||||
hf.Registrar.DelegateRoles: "*"
|
||||
hf.Revoker: true
|
||||
hf.IntermediateCA: true
|
||||
hf.GenCRL: true
|
||||
hf.Registrar.Attributes: "*"
|
||||
hf.AffiliationMgr: true
|
||||
|
||||
#############################################################################
|
||||
# Database section
|
||||
# Supported types are: "sqlite3", "postgres", and "mysql".
|
||||
# The datasource value depends on the type.
|
||||
# If the type is "sqlite3", the datasource value is a file name to use
|
||||
# as the database store. Since "sqlite3" is an embedded database, it
|
||||
# may not be used if you want to run the fabric-ca-server in a cluster.
|
||||
# To run the fabric-ca-server in a cluster, you must choose "postgres"
|
||||
# or "mysql".
|
||||
#############################################################################
|
||||
db:
|
||||
type: sqlite3
|
||||
datasource: fabric-ca-server.db
|
||||
tls:
|
||||
enabled: false
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
|
||||
#############################################################################
|
||||
# LDAP section
|
||||
# If LDAP is enabled, the fabric-ca-server calls LDAP to:
|
||||
# 1) authenticate enrollment ID and secret (i.e. username and password)
|
||||
# for enrollment requests;
|
||||
# 2) To retrieve identity attributes
|
||||
#############################################################################
|
||||
ldap:
|
||||
# Enables or disables the LDAP client (default: false)
|
||||
# If this is set to true, the "registry" section is ignored.
|
||||
enabled: false
|
||||
# The URL of the LDAP server
|
||||
url: ldap://<adminDN>:<adminPassword>@<host>:<port>/<base>
|
||||
# TLS configuration for the client connection to the LDAP server
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
# Attribute related configuration for mapping from LDAP entries to Fabric CA attributes
|
||||
attribute:
|
||||
# 'names' is an array of strings containing the LDAP attribute names which are
|
||||
# requested from the LDAP server for an LDAP identity's entry
|
||||
names: ['uid','member']
|
||||
# The 'converters' section is used to convert an LDAP entry to the value of
|
||||
# a fabric CA attribute.
|
||||
# For example, the following converts an LDAP 'uid' attribute
|
||||
# whose value begins with 'revoker' to a fabric CA attribute
|
||||
# named "hf.Revoker" with a value of "true" (because the boolean expression
|
||||
# evaluates to true).
|
||||
# converters:
|
||||
# - name: hf.Revoker
|
||||
# value: attr("uid") =~ "revoker*"
|
||||
converters:
|
||||
- name:
|
||||
value:
|
||||
# The 'maps' section contains named maps which may be referenced by the 'map'
|
||||
# function in the 'converters' section to map LDAP responses to arbitrary values.
|
||||
# For example, assume a user has an LDAP attribute named 'member' which has multiple
|
||||
# values which are each a distinguished name (i.e. a DN). For simplicity, assume the
|
||||
# values of the 'member' attribute are 'dn1', 'dn2', and 'dn3'.
|
||||
# Further assume the following configuration.
|
||||
# converters:
|
||||
# - name: hf.Registrar.Roles
|
||||
# value: map(attr("member"),"groups")
|
||||
# maps:
|
||||
# groups:
|
||||
# - name: dn1
|
||||
# value: peer
|
||||
# - name: dn2
|
||||
# value: client
|
||||
# The value of the user's 'hf.Registrar.Roles' attribute is then computed to be
|
||||
# "peer,client,dn3". This is because the value of 'attr("member")' is
|
||||
# "dn1,dn2,dn3", and the call to 'map' with a 2nd argument of
|
||||
# "group" replaces "dn1" with "peer" and "dn2" with "client".
|
||||
maps:
|
||||
groups:
|
||||
- name:
|
||||
value:
|
||||
|
||||
#############################################################################
|
||||
# Affiliations section. Fabric CA server can be bootstrapped with the
|
||||
# affiliations specified in this section. Affiliations are specified as maps.
|
||||
# For example:
|
||||
# businessunit1:
|
||||
# department1:
|
||||
# - team1
|
||||
# businessunit2:
|
||||
# - department2
|
||||
# - department3
|
||||
#
|
||||
# Affiliations are hierarchical in nature. In the above example,
|
||||
# department1 (used as businessunit1.department1) is the child of businessunit1.
|
||||
# team1 (used as businessunit1.department1.team1) is the child of department1.
|
||||
# department2 (used as businessunit2.department2) and department3 (businessunit2.department3)
|
||||
# are children of businessunit2.
|
||||
# Note: Affiliations are case sensitive except for the non-leaf affiliations
|
||||
# (like businessunit1, department1, businessunit2) that are specified in the configuration file,
|
||||
# which are always stored in lower case.
|
||||
#############################################################################
|
||||
affiliations:
|
||||
org1:
|
||||
- department1
|
||||
- department2
|
||||
org2:
|
||||
- department1
|
||||
|
||||
#############################################################################
|
||||
# Signing section
|
||||
#
|
||||
# The "default" subsection is used to sign enrollment certificates;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#
|
||||
# The "ca" profile subsection is used to sign intermediate CA certificates;
|
||||
# the default expiration ("expiry" field) is "43800h" which is 5 years in hours.
|
||||
# Note that "isca" is true, meaning that it issues a CA certificate.
|
||||
# A maxpathlen of 0 means that the intermediate CA cannot issue other
|
||||
# intermediate CA certificates, though it can still issue end entity certificates.
|
||||
# (See RFC 5280, section 4.2.1.9)
|
||||
#
|
||||
# The "tls" profile subsection is used to sign TLS certificate requests;
|
||||
# the default expiration ("expiry" field) is "8760h", which is 1 year in hours.
|
||||
#############################################################################
|
||||
signing:
|
||||
default:
|
||||
usage:
|
||||
- digital signature
|
||||
expiry: 8760h
|
||||
profiles:
|
||||
ca:
|
||||
usage:
|
||||
- cert sign
|
||||
- crl sign
|
||||
expiry: 43800h
|
||||
caconstraint:
|
||||
isca: true
|
||||
maxpathlen: 0
|
||||
tls:
|
||||
usage:
|
||||
- signing
|
||||
- key encipherment
|
||||
- server auth
|
||||
- client auth
|
||||
- key agreement
|
||||
expiry: 8760h
|
||||
|
||||
###########################################################################
|
||||
# Certificate Signing Request (CSR) section.
|
||||
# This controls the creation of the root CA certificate.
|
||||
# The expiration for the root CA certificate is configured with the
|
||||
# "ca.expiry" field below, whose default value is "131400h" which is
|
||||
# 15 years in hours.
|
||||
# The pathlength field is used to limit CA certificate hierarchy as described
|
||||
# in section 4.2.1.9 of RFC 5280.
|
||||
# Examples:
|
||||
# 1) No pathlength value means no limit is requested.
|
||||
# 2) pathlength == 1 means a limit of 1 is requested which is the default for
|
||||
# a root CA. This means the root CA can issue intermediate CA certificates,
|
||||
# but these intermediate CAs may not in turn issue other CA certificates
|
||||
# though they can still issue end entity certificates.
|
||||
# 3) pathlength == 0 means a limit of 0 is requested;
|
||||
# this is the default for an intermediate CA, which means it can not issue
|
||||
# CA certificates though it can still issue end entity certificates.
|
||||
###########################################################################
|
||||
csr:
|
||||
cn: ca.org2.example.com
|
||||
names:
|
||||
- C: UK
|
||||
ST: "Hampshire"
|
||||
L: "Hursley"
|
||||
O: org2.example.com
|
||||
OU:
|
||||
hosts:
|
||||
- localhost
|
||||
- org2.example.com
|
||||
ca:
|
||||
expiry: 131400h
|
||||
pathlength: 1
|
||||
|
||||
#############################################################################
|
||||
# BCCSP (BlockChain Crypto Service Provider) section is used to select which
|
||||
# crypto library implementation to use
|
||||
#############################################################################
|
||||
bccsp:
|
||||
default: SW
|
||||
sw:
|
||||
hash: SHA2
|
||||
security: 256
|
||||
filekeystore:
|
||||
# The directory used for the software file-based keystore
|
||||
keystore: msp/keystore
|
||||
|
||||
#############################################################################
|
||||
# Multi CA section
|
||||
#
|
||||
# Each Fabric CA server contains one CA by default. This section is used
|
||||
# to configure multiple CAs in a single server.
|
||||
#
|
||||
# 1) --cacount <number-of-CAs>
|
||||
# Automatically generate <number-of-CAs> non-default CAs. The names of these
|
||||
# additional CAs are "ca1", "ca2", ... "caN", where "N" is <number-of-CAs>
|
||||
# This is particularly useful in a development environment to quickly set up
|
||||
# multiple CAs. Note that, this config option is not applicable to intermediate CA server
|
||||
# i.e., Fabric CA server that is started with intermediate.parentserver.url config
|
||||
# option (-u command line option)
|
||||
#
|
||||
# 2) --cafiles <CA-config-files>
|
||||
# For each CA config file in the list, generate a separate signing CA. Each CA
|
||||
# config file in this list MAY contain all of the same elements as are found in
|
||||
# the server config file except port, debug, and tls sections.
|
||||
#
|
||||
# Examples:
|
||||
# fabric-ca-server start -b admin:adminpw --cacount 2
|
||||
#
|
||||
# fabric-ca-server start -b admin:adminpw --cafiles ca/ca1/fabric-ca-server-config.yaml
|
||||
# --cafiles ca/ca2/fabric-ca-server-config.yaml
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
cacount:
|
||||
|
||||
cafiles:
|
||||
|
||||
#############################################################################
|
||||
# Intermediate CA section
|
||||
#
|
||||
# The relationship between servers and CAs is as follows:
|
||||
# 1) A single server process may contain or function as one or more CAs.
|
||||
# This is configured by the "Multi CA section" above.
|
||||
# 2) Each CA is either a root CA or an intermediate CA.
|
||||
# 3) Each intermediate CA has a parent CA which is either a root CA or another intermediate CA.
|
||||
#
|
||||
# This section pertains to configuration of #2 and #3.
|
||||
# If the "intermediate.parentserver.url" property is set,
|
||||
# then this is an intermediate CA with the specified parent
|
||||
# CA.
|
||||
#
|
||||
# parentserver section
|
||||
# url - The URL of the parent server
|
||||
# caname - Name of the CA to enroll within the server
|
||||
#
|
||||
# enrollment section used to enroll intermediate CA with parent CA
|
||||
# profile - Name of the signing profile to use in issuing the certificate
|
||||
# label - Label to use in HSM operations
|
||||
#
|
||||
# tls section for secure socket connection
|
||||
# certfiles - PEM-encoded list of trusted root certificate files
|
||||
# client:
|
||||
# certfile - PEM-encoded certificate file for when client authentication
|
||||
# is enabled on server
|
||||
# keyfile - PEM-encoded key file for when client authentication
|
||||
# is enabled on server
|
||||
#############################################################################
|
||||
intermediate:
|
||||
parentserver:
|
||||
url:
|
||||
caname:
|
||||
|
||||
enrollment:
|
||||
hosts:
|
||||
profile:
|
||||
label:
|
||||
|
||||
tls:
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
BIN
explorer/organizations/fabric-ca/org2/fabric-ca-server.db
Normal file
BIN
explorer/organizations/fabric-ca/org2/fabric-ca-server.db
Normal file
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgsvEzqdtTd5/xRdR9
|
||||
a9R29xPIdwihA0LpAFrtwAtd+9qhRANCAATVzuLbMEY2z+BiYvwsj2OofY9h8WQT
|
||||
234052JYf6SvzpPGEtCZQ1UsXPN8lNuCZzlia4Lvzeu0MTuYrfgMUyn+
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGkAgEBBDBxn9pRW6TnHNEwpRzsXa6D9ZiGAh9iHDBpd8PftITs5NkNrr8SDUsB
|
||||
L2NcUmBLnuqgBwYFK4EEACKhZANiAARCUfDllvmvqI5S49V35TqZzVSf3BpxIdhd
|
||||
NhiupfltYP6T6OSOFLbCwKhDCW144HR80trau33TFt0iWi6IAs9zhhcC7cbrthVJ
|
||||
QaZWssMJtE3Tt6gkw1PVLHXSZaJpuZw=
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
Τ0λ[x]|η›9C“4Ϊ¨&ΔIK“<>£θ‘
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOvda6qtlrbEFNy/o
|
||||
lgx7G5Cr234/DonwdrtvGCTkg/uhRANCAASxlrYk2PBdeLPLETVAR+bQXJjWRHzG
|
||||
or5+lakpiX61VCjsA3pNinkWQvShlLcERW5K6AgIfsZLq7wWwS7NcZmw
|
||||
-----END PRIVATE KEY-----
|
||||
16
explorer/organizations/fabric-ca/org2/tls-cert.pem
Normal file
16
explorer/organizations/fabric-ca/org2/tls-cert.pem
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICezCCAiKgAwIBAgIUETB0z6HKDtyEiAsrLSfpNHuM5uQwCgYIKoZIzj0EAwIw
|
||||
bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy
|
||||
c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn
|
||||
Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDQ4MDBaMGUx
|
||||
CzAJBgNVBAYTAlVLMRIwEAYDVQQIEwlIYW1wc2hpcmUxEDAOBgNVBAcTB0h1cnNs
|
||||
ZXkxGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xFTATBgNVBAMTDGVkMDc0Zjlm
|
||||
MmUwMjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNXO4tswRjbP4GJi/CyPY6h9
|
||||
j2HxZBPbfjTnYlh/pK/Ok8YS0JlDVSxc83yU24JnOWJrgu/N67QxO5it+AxTKf6j
|
||||
gagwgaUwDgYDVR0PAQH/BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
|
||||
BQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSZ+rE1cRqUoydSsAU7G7tu86ba
|
||||
mTAfBgNVHSMEGDAWgBQJ/27kwrfqggkxfHL5Xa5+Qt3b4zAmBgNVHREEHzAdggls
|
||||
b2NhbGhvc3SCEG9yZzIuZXhhbXBsZS5jb20wCgYIKoZIzj0EAwIDRwAwRAIgVUER
|
||||
dmo04lpLEVzcbJA1XpQWyudz5HeBl9J9twjF6CACIAGrhfx9STeYoEHaWPK6/6Qv
|
||||
4sjJ8MP24d3JYPH8kjqX
|
||||
-----END CERTIFICATE-----
|
||||
247
explorer/organizations/fabric-ca/registerEnroll.sh
Normal file
247
explorer/organizations/fabric-ca/registerEnroll.sh
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
#!/bin/bash
|
||||
|
||||
function createOrg1() {
|
||||
infoln "Enrolling the CA admin"
|
||||
mkdir -p organizations/peerOrganizations/org1.example.com/
|
||||
|
||||
export FABRIC_CA_CLIENT_HOME=${PWD}/organizations/peerOrganizations/org1.example.com/
|
||||
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://admin:adminpw@localhost:7054 --caname ca-org1 --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
echo 'NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: orderer' > "${PWD}/organizations/peerOrganizations/org1.example.com/msp/config.yaml"
|
||||
|
||||
# Since the CA serves as both the organization CA and TLS CA, copy the org's root cert that was generated by CA startup into the org level ca and tlsca directories
|
||||
|
||||
# Copy org1's CA cert to org1's /msp/tlscacerts directory (for use in the channel MSP definition)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org1.example.com/msp/tlscacerts"
|
||||
cp "${PWD}/organizations/fabric-ca/org1/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org1.example.com/msp/tlscacerts/ca.crt"
|
||||
|
||||
# Copy org1's CA cert to org1's /tlsca directory (for use by clients)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org1.example.com/tlsca"
|
||||
cp "${PWD}/organizations/fabric-ca/org1/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
|
||||
|
||||
# Copy org1's CA cert to org1's /ca directory (for use by clients)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org1.example.com/ca"
|
||||
cp "${PWD}/organizations/fabric-ca/org1/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem"
|
||||
|
||||
infoln "Registering peer0"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org1 --id.name peer0 --id.secret peer0pw --id.type peer --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Registering user"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org1 --id.name user1 --id.secret user1pw --id.type client --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Registering the org admin"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org1 --id.name org1admin --id.secret org1adminpw --id.type admin --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Generating the peer0 msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://peer0:peer0pw@localhost:7054 --caname ca-org1 -M "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp" --csr.hosts peer0.org1.example.com --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml"
|
||||
|
||||
infoln "Generating the peer0-tls certificates"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://peer0:peer0pw@localhost:7054 --caname ca-org1 -M "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls" --enrollment.profile tls --csr.hosts peer0.org1.example.com --csr.hosts localhost --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
# Copy the tls CA cert, server cert, server keystore to well known file names in the peer's tls directory that are referenced by peer startup config
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/tlscacerts/"* "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/signcerts/"* "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt"
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/keystore/"* "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key"
|
||||
|
||||
infoln "Generating the user msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://user1:user1pw@localhost:7054 --caname ca-org1 -M "${PWD}/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp" --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/config.yaml"
|
||||
|
||||
infoln "Generating the org admin msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://org1admin:org1adminpw@localhost:7054 --caname ca-org1 -M "${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" --tls.certfiles "${PWD}/organizations/fabric-ca/org1/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org1.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml"
|
||||
}
|
||||
|
||||
function createOrg2() {
|
||||
infoln "Enrolling the CA admin"
|
||||
mkdir -p organizations/peerOrganizations/org2.example.com/
|
||||
|
||||
export FABRIC_CA_CLIENT_HOME=${PWD}/organizations/peerOrganizations/org2.example.com/
|
||||
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://admin:adminpw@localhost:8054 --caname ca-org2 --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
echo 'NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-8054-ca-org2.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-8054-ca-org2.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-8054-ca-org2.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-8054-ca-org2.pem
|
||||
OrganizationalUnitIdentifier: orderer' > "${PWD}/organizations/peerOrganizations/org2.example.com/msp/config.yaml"
|
||||
|
||||
# Since the CA serves as both the organization CA and TLS CA, copy the org's root cert that was generated by CA startup into the org level ca and tlsca directories
|
||||
|
||||
# Copy org2's CA cert to org2's /msp/tlscacerts directory (for use in the channel MSP definition)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org2.example.com/msp/tlscacerts"
|
||||
cp "${PWD}/organizations/fabric-ca/org2/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org2.example.com/msp/tlscacerts/ca.crt"
|
||||
|
||||
# Copy org2's CA cert to org2's /tlsca directory (for use by clients)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org2.example.com/tlsca"
|
||||
cp "${PWD}/organizations/fabric-ca/org2/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem"
|
||||
|
||||
# Copy org2's CA cert to org2's /ca directory (for use by clients)
|
||||
mkdir -p "${PWD}/organizations/peerOrganizations/org2.example.com/ca"
|
||||
cp "${PWD}/organizations/fabric-ca/org2/ca-cert.pem" "${PWD}/organizations/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem"
|
||||
|
||||
infoln "Registering peer0"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org2 --id.name peer0 --id.secret peer0pw --id.type peer --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Registering user"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org2 --id.name user1 --id.secret user1pw --id.type client --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Registering the org admin"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-org2 --id.name org2admin --id.secret org2adminpw --id.type admin --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Generating the peer0 msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://peer0:peer0pw@localhost:8054 --caname ca-org2 -M "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp" --csr.hosts peer0.org2.example.com --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml"
|
||||
|
||||
infoln "Generating the peer0-tls certificates"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://peer0:peer0pw@localhost:8054 --caname ca-org2 -M "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls" --enrollment.profile tls --csr.hosts peer0.org2.example.com --csr.hosts localhost --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
# Copy the tls CA cert, server cert, server keystore to well known file names in the peer's tls directory that are referenced by peer startup config
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/tlscacerts/"* "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/signcerts/"* "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt"
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/keystore/"* "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key"
|
||||
|
||||
infoln "Generating the user msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://user1:user1pw@localhost:8054 --caname ca-org2 -M "${PWD}/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp" --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml"
|
||||
|
||||
infoln "Generating the org admin msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://org2admin:org2adminpw@localhost:8054 --caname ca-org2 -M "${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp" --tls.certfiles "${PWD}/organizations/fabric-ca/org2/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/peerOrganizations/org2.example.com/msp/config.yaml" "${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml"
|
||||
}
|
||||
|
||||
function createOrderer() {
|
||||
infoln "Enrolling the CA admin"
|
||||
mkdir -p organizations/ordererOrganizations/example.com
|
||||
|
||||
export FABRIC_CA_CLIENT_HOME=${PWD}/organizations/ordererOrganizations/example.com
|
||||
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://admin:adminpw@localhost:9054 --caname ca-orderer --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
echo 'NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: orderer' > "${PWD}/organizations/ordererOrganizations/example.com/msp/config.yaml"
|
||||
|
||||
# Since the CA serves as both the organization CA and TLS CA, copy the org's root cert that was generated by CA startup into the org level ca and tlsca directories
|
||||
|
||||
# Copy orderer org's CA cert to orderer org's /msp/tlscacerts directory (for use in the channel MSP definition)
|
||||
mkdir -p "${PWD}/organizations/ordererOrganizations/example.com/msp/tlscacerts"
|
||||
cp "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem" "${PWD}/organizations/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem"
|
||||
|
||||
# Copy orderer org's CA cert to orderer org's /tlsca directory (for use by clients)
|
||||
mkdir -p "${PWD}/organizations/ordererOrganizations/example.com/tlsca"
|
||||
cp "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem" "${PWD}/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
|
||||
|
||||
infoln "Registering orderer"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-orderer --id.name orderer --id.secret ordererpw --id.type orderer --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Registering the orderer admin"
|
||||
set -x
|
||||
fabric-ca-client register --caname ca-orderer --id.name ordererAdmin --id.secret ordererAdminpw --id.type admin --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
infoln "Generating the orderer msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://orderer:ordererpw@localhost:9054 --caname ca-orderer -M "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp" --csr.hosts orderer.example.com --csr.hosts localhost --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/msp/config.yaml" "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml"
|
||||
|
||||
infoln "Generating the orderer-tls certificates"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://orderer:ordererpw@localhost:9054 --caname ca-orderer -M "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls" --enrollment.profile tls --csr.hosts orderer.example.com --csr.hosts localhost --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
# Copy the tls CA cert, server cert, server keystore to well known file names in the orderer's tls directory that are referenced by orderer startup config
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/tlscacerts/"* "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt"
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/signcerts/"* "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt"
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/keystore/"* "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key"
|
||||
|
||||
# Copy orderer org's CA cert to orderer's /msp/tlscacerts directory (for use in the orderer MSP definition)
|
||||
mkdir -p "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts"
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/tlscacerts/"* "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem"
|
||||
|
||||
infoln "Generating the admin msp"
|
||||
set -x
|
||||
fabric-ca-client enroll -u https://ordererAdmin:ordererAdminpw@localhost:9054 --caname ca-orderer -M "${PWD}/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp" --tls.certfiles "${PWD}/organizations/fabric-ca/ordererOrg/ca-cert.pem"
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
cp "${PWD}/organizations/ordererOrganizations/example.com/msp/config.yaml" "${PWD}/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml"
|
||||
}
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
|
||||
#############################################################################
|
||||
# This is a configuration file for the fabric-ca-client command.
|
||||
#
|
||||
# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES
|
||||
# ------------------------------------------------
|
||||
# Each configuration element can be overridden via command line
|
||||
# arguments or environment variables. The precedence for determining
|
||||
# the value of each element is as follows:
|
||||
# 1) command line argument
|
||||
# Examples:
|
||||
# a) --url https://localhost:7054
|
||||
# To set the fabric-ca server url
|
||||
# b) --tls.client.certfile certfile.pem
|
||||
# To set the client certificate for TLS
|
||||
# 2) environment variable
|
||||
# Examples:
|
||||
# a) FABRIC_CA_CLIENT_URL=https://localhost:7054
|
||||
# To set the fabric-ca server url
|
||||
# b) FABRIC_CA_CLIENT_TLS_CLIENT_CERTFILE=certfile.pem
|
||||
# To set the client certificate for TLS
|
||||
# 3) configuration file
|
||||
# 4) default value (if there is one)
|
||||
# All default values are shown beside each element below.
|
||||
#
|
||||
# FILE NAME ELEMENTS
|
||||
# ------------------
|
||||
# The value of all fields whose name ends with "file" or "files" are
|
||||
# name or names of other files.
|
||||
# For example, see "tls.certfiles" and "tls.client.certfile".
|
||||
# The value of each of these fields can be a simple filename, a
|
||||
# relative path, or an absolute path. If the value is not an
|
||||
# absolute path, it is interpreted as being relative to the location
|
||||
# of this configuration file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
#############################################################################
|
||||
# Client Configuration
|
||||
#############################################################################
|
||||
|
||||
# URL of the Fabric-ca-server (default: http://localhost:7054)
|
||||
url: https://localhost:9054
|
||||
|
||||
# Membership Service Provider (MSP) directory
|
||||
# This is useful when the client is used to enroll a peer or orderer, so
|
||||
# that the enrollment artifacts are stored in the format expected by MSP.
|
||||
mspdir: msp
|
||||
|
||||
#############################################################################
|
||||
# TLS section for secure socket connection
|
||||
#
|
||||
# certfiles - PEM-encoded list of trusted root certificate files
|
||||
# client:
|
||||
# certfile - PEM-encoded certificate file for when client authentication
|
||||
# is enabled on server
|
||||
# keyfile - PEM-encoded key file for when client authentication
|
||||
# is enabled on server
|
||||
#############################################################################
|
||||
tls:
|
||||
# TLS section for secure socket connection
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
|
||||
#############################################################################
|
||||
# Certificate Signing Request section for generating the CSR for an
|
||||
# enrollment certificate (ECert)
|
||||
#
|
||||
# cn - Used by CAs to determine which domain the certificate is to be generated for
|
||||
#
|
||||
# keyrequest - Properties to use when generating a private key.
|
||||
# algo - key generation algorithm to use
|
||||
# size - size of key to generate
|
||||
# reusekey - reuse existing key during reenrollment
|
||||
#
|
||||
# serialnumber - The serialnumber field, if specified, becomes part of the issued
|
||||
# certificate's DN (Distinguished Name). For example, one use case for this is
|
||||
# a company with its own CA (Certificate Authority) which issues certificates
|
||||
# to its employees and wants to include the employee's serial number in the DN
|
||||
# of its issued certificates.
|
||||
# WARNING: The serialnumber field should not be confused with the certificate's
|
||||
# serial number which is set by the CA but is not a component of the
|
||||
# certificate's DN.
|
||||
#
|
||||
# names - A list of name objects. Each name object should contain at least one
|
||||
# "C", "L", "O", or "ST" value (or any combination of these) where these
|
||||
# are abbreviations for the following:
|
||||
# "C": country
|
||||
# "L": locality or municipality (such as city or town name)
|
||||
# "O": organization
|
||||
# "OU": organizational unit, such as the department responsible for owning the key;
|
||||
# it can also be used for a "Doing Business As" (DBS) name
|
||||
# "ST": the state or province
|
||||
#
|
||||
# Note that the "OU" or organizational units of an ECert are always set according
|
||||
# to the values of the identities type and affiliation. OUs are calculated for an enroll
|
||||
# as OU=<type>, OU=<affiliationRoot>, ..., OU=<affiliationLeaf>. For example, an identity
|
||||
# of type "client" with an affiliation of "org1.dept2.team3" would have the following
|
||||
# organizational units: OU=client, OU=org1, OU=dept2, OU=team3
|
||||
#
|
||||
# hosts - A list of host names for which the certificate should be valid
|
||||
#
|
||||
#############################################################################
|
||||
csr:
|
||||
cn: admin
|
||||
keyrequest:
|
||||
algo: ecdsa
|
||||
size: 256
|
||||
reusekey: false
|
||||
serialnumber:
|
||||
names:
|
||||
- C: US
|
||||
ST: North Carolina
|
||||
L:
|
||||
O: Hyperledger
|
||||
OU: Fabric
|
||||
hosts:
|
||||
- aerat
|
||||
|
||||
#############################################################################
|
||||
# Registration section used to register a new identity with fabric-ca server
|
||||
#
|
||||
# name - Unique name of the identity
|
||||
# type - Type of identity being registered (e.g. 'peer, app, user')
|
||||
# affiliation - The identity's affiliation
|
||||
# maxenrollments - The maximum number of times the secret can be reused to enroll.
|
||||
# Specially, -1 means unlimited; 0 means to use CA's max enrollment
|
||||
# value.
|
||||
# attributes - List of name/value pairs of attribute for identity
|
||||
#############################################################################
|
||||
id:
|
||||
name:
|
||||
type:
|
||||
affiliation:
|
||||
maxenrollments: 0
|
||||
attributes:
|
||||
# - name:
|
||||
# value:
|
||||
|
||||
#############################################################################
|
||||
# Enrollment section used to enroll an identity with fabric-ca server
|
||||
#
|
||||
# profile - Name of the signing profile to use in issuing the certificate
|
||||
# label - Label to use in HSM operations
|
||||
#############################################################################
|
||||
enrollment:
|
||||
profile:
|
||||
label:
|
||||
|
||||
#############################################################################
|
||||
# Name of the CA to connect to within the fabric-ca server
|
||||
#############################################################################
|
||||
caname:
|
||||
|
||||
#############################################################################
|
||||
# BCCSP (BlockChain Crypto Service Provider) section allows to select which
|
||||
# crypto implementation library to use
|
||||
#############################################################################
|
||||
bccsp:
|
||||
default: SW
|
||||
sw:
|
||||
hash: SHA2
|
||||
security: 256
|
||||
filekeystore:
|
||||
# The directory used for the software file-based keystore
|
||||
keystore: msp/keystore
|
||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
|
||||
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
|
||||
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNfio9dDl6Hg/ln9I
|
||||
6O/XKKNNjdI8ZYLHZW5OPMgX8nmhRANCAASKgo2kgfTh2WgZOC8qa88W/Z2LKrio
|
||||
dMEf0MGX7MC/zuslC4hswCZ9Zme1n6PH5ecCubOJ9duv/7ziSDfAX8Xe
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICMjCCAdmgAwIBAgIUf3ZOCSCfpSAiBpBekYv6K17NpSQwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNTMwMFowXTELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBlcmxlZGdl
|
||||
cjEPMA0GA1UECxMGY2xpZW50MQ4wDAYDVQQDEwVhZG1pbjBZMBMGByqGSM49AgEG
|
||||
CCqGSM49AwEHA0IABIqCjaSB9OHZaBk4Lyprzxb9nYsquKh0wR/QwZfswL/O6yUL
|
||||
iGzAJn1mZ7Wfo8fl5wK5s4n126//vOJIN8Bfxd6jcjBwMA4GA1UdDwEB/wQEAwIH
|
||||
gDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTrWJF9EKKsctnHFIQnC+dK+dyEjDAf
|
||||
BgNVHSMEGDAWgBTP3gHK6gzsEt9uesT9DAVmQvJ9eTAQBgNVHREECTAHggVhZXJh
|
||||
dDAKBggqhkjOPQQDAgNHADBEAiB3obQNbKLMalRZ3+mWqtGJYjxWGZ+Ktm2JAcJu
|
||||
2jtCAwIgLCyCo0DbioZ5SRt8NwFLBDBlEKoCk1dixe0S0ypP6U4=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
|
||||
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
|
||||
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglJMlIteo3JCaevqF
|
||||
Is9Ob/QyBLPew+Pj32Lb7dieWa6hRANCAAQs9igeKkRjtY+u9/nVSJ4T/tB26U5b
|
||||
r7gXTjx0rp5S1hkBCk0RMQQWCY7CR4ddqgmrZX1mSHs1wv7kH19kayA3
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICrTCCAlSgAwIBAgIUPws5pmah8QETwwFbKq1KuGWO6wowCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNTMwMFowYDELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBlcmxlZGdl
|
||||
cjEQMA4GA1UECxMHb3JkZXJlcjEQMA4GA1UEAxMHb3JkZXJlcjBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABCz2KB4qRGO1j673+dVInhP+0HbpTluvuBdOPHSunlLW
|
||||
GQEKTRExBBYJjsJHh12qCatlfWZIezXC/uQfX2RrIDejgekwgeYwDgYDVR0PAQH/
|
||||
BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFCUXo17WcIAcCXugC4JPfY5B
|
||||
G8YOMB8GA1UdIwQYMBaAFM/eAcrqDOwS3256xP0MBWZC8n15MCkGA1UdEQQiMCCC
|
||||
E29yZGVyZXIuZXhhbXBsZS5jb22CCWxvY2FsaG9zdDBbBggqAwQFBgcIAQRPeyJh
|
||||
dHRycyI6eyJoZi5BZmZpbGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6Im9y
|
||||
ZGVyZXIiLCJoZi5UeXBlIjoib3JkZXJlciJ9fTAKBggqhkjOPQQDAgNHADBEAiBb
|
||||
+cMl8NJtpegtvEe2qMiAJ2+Uo+HLd1r7xbCjk587WQIgY7uU01btFvkWt0v5zhOI
|
||||
5gVj8i2m3aJndPJOQajUmhw=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
|
||||
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
|
||||
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH
|
||||
CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh
|
||||
+xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICzjCCAnWgAwIBAgIUJ6wGkGxQ/KNZhDb1hNbsSTSlqK4wCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNTMwMFowYDELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBlcmxlZGdl
|
||||
cjEQMA4GA1UECxMHb3JkZXJlcjEQMA4GA1UEAxMHb3JkZXJlcjBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABGiAgJ9n13NCZab5RKgNPWJLiKffxGH7GwPwIDTaVIQo
|
||||
1oeeNsMYVYYYW0FTkodsUl9D8qvbcjkndS5CT7MX1t+jggEJMIIBBTAOBgNVHQ8B
|
||||
Af8EBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB
|
||||
/wQCMAAwHQYDVR0OBBYEFI5g65Jv4ZDAdzqXZRVyo78U0h/rMB8GA1UdIwQYMBaA
|
||||
FM/eAcrqDOwS3256xP0MBWZC8n15MCkGA1UdEQQiMCCCE29yZGVyZXIuZXhhbXBs
|
||||
ZS5jb22CCWxvY2FsaG9zdDBbBggqAwQFBgcIAQRPeyJhdHRycyI6eyJoZi5BZmZp
|
||||
bGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6Im9yZGVyZXIiLCJoZi5UeXBl
|
||||
Ijoib3JkZXJlciJ9fTAKBggqhkjOPQQDAgNHADBEAiBBB8zWPiFzadwvtoUaztat
|
||||
DsPlY8NyB2W/aHt2eEWF8QIgUzfQ+vguoThWw5rDRsFsARkI4if0u9p+QJ8Rtjtt
|
||||
Niw=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH
|
||||
CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh
|
||||
+xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICzjCCAnWgAwIBAgIUJ6wGkGxQ/KNZhDb1hNbsSTSlqK4wCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNTMwMFowYDELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBlcmxlZGdl
|
||||
cjEQMA4GA1UECxMHb3JkZXJlcjEQMA4GA1UEAxMHb3JkZXJlcjBZMBMGByqGSM49
|
||||
AgEGCCqGSM49AwEHA0IABGiAgJ9n13NCZab5RKgNPWJLiKffxGH7GwPwIDTaVIQo
|
||||
1oeeNsMYVYYYW0FTkodsUl9D8qvbcjkndS5CT7MX1t+jggEJMIIBBTAOBgNVHQ8B
|
||||
Af8EBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB
|
||||
/wQCMAAwHQYDVR0OBBYEFI5g65Jv4ZDAdzqXZRVyo78U0h/rMB8GA1UdIwQYMBaA
|
||||
FM/eAcrqDOwS3256xP0MBWZC8n15MCkGA1UdEQQiMCCCE29yZGVyZXIuZXhhbXBs
|
||||
ZS5jb22CCWxvY2FsaG9zdDBbBggqAwQFBgcIAQRPeyJhdHRycyI6eyJoZi5BZmZp
|
||||
bGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6Im9yZGVyZXIiLCJoZi5UeXBl
|
||||
Ijoib3JkZXJlciJ9fTAKBggqhkjOPQQDAgNHADBEAiBBB8zWPiFzadwvtoUaztat
|
||||
DsPlY8NyB2W/aHt2eEWF8QIgUzfQ+vguoThWw5rDRsFsARkI4if0u9p+QJ8Rtjtt
|
||||
Niw=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
|
||||
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
|
||||
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICCjCCAbGgAwIBAgIUa06kNXTOCMPmBcDD5c737a/oSlkwCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTM3MDMxMDAwNDgwMFowYjELMAkGA1UEBhMC
|
||||
VVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE
|
||||
ChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI
|
||||
zj0CAQYIKoZIzj0DAQcDQgAEhytDzeWZ2eIViDMbnLVpM+dlom49RDJUVf/alczO
|
||||
qPo4DR6YHshdGwB9mHxtkX+xUuv3Cbc4UpEUl2tsTg60bKNFMEMwDgYDVR0PAQH/
|
||||
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFM/eAcrqDOwS3256
|
||||
xP0MBWZC8n15MAoGCCqGSM49BAMCA0cAMEQCIDcLjRhdnX4xi81yT+QzsOJnsqKp
|
||||
cYG3MGdT7WJxgpZpAiA6f5IwrDg/zU/vgeAJC3UrO4pDHqn1Ii3aP/xhnV2L8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-9054-ca-orderer.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgH42U67ndrB656Qnr
|
||||
AmMuOjT+UzIi8irGeNiukhvjp+uhRANCAAQ2gprnje3PVwHszyFhjp0/MIE63GGl
|
||||
pkqbFDPyw+3FuFeCqc6SY2SKNRGgQh2r6Qsz11M99tSFDmg1Tfay7H+9
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICmzCCAkGgAwIBAgIUC3jbC+hp5XC11XCvQKqwRrqgs/swCgYIKoZIzj0EAwIw
|
||||
YjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg
|
||||
WW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu
|
||||
Y29tMB4XDTIyMDMxNDAwNDgwMFoXDTIzMDMxNDAwNTMwMFowYzELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBlcmxlZGdl
|
||||
cjEOMAwGA1UECxMFYWRtaW4xFTATBgNVBAMTDG9yZGVyZXJBZG1pbjBZMBMGByqG
|
||||
SM49AgEGCCqGSM49AwEHA0IABDaCmueN7c9XAezPIWGOnT8wgTrcYaWmSpsUM/LD
|
||||
7cW4V4KpzpJjZIo1EaBCHavpCzPXUz321IUOaDVN9rLsf72jgdMwgdAwDgYDVR0P
|
||||
AQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFH/AOUTCfSdhKkP9Bf/r
|
||||
JC60zvYlMB8GA1UdIwQYMBaAFM/eAcrqDOwS3256xP0MBWZC8n15MBAGA1UdEQQJ
|
||||
MAeCBWFlcmF0MF4GCCoDBAUGBwgBBFJ7ImF0dHJzIjp7ImhmLkFmZmlsaWF0aW9u
|
||||
IjoiIiwiaGYuRW5yb2xsbWVudElEIjoib3JkZXJlckFkbWluIiwiaGYuVHlwZSI6
|
||||
ImFkbWluIn19MAoGCCqGSM49BAMCA0gAMEUCIQCg0kyN+s88mH2kGVPxUI3KCxGw
|
||||
8RX6xLp+zy/bIHpuMAIgaHqx8iulMlIM5PNbWTe7LMllL36dBXiZBP14BJCLtOY=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"name": "test-network-org1",
|
||||
"version": "1.0.0",
|
||||
"client": {
|
||||
"organization": "Org1",
|
||||
"connection": {
|
||||
"timeout": {
|
||||
"peer": {
|
||||
"endorser": "300"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"Org1": {
|
||||
"mspid": "Org1MSP",
|
||||
"peers": [
|
||||
"peer0.org1.example.com"
|
||||
],
|
||||
"certificateAuthorities": [
|
||||
"ca.org1.example.com"
|
||||
]
|
||||
}
|
||||
},
|
||||
"peers": {
|
||||
"peer0.org1.example.com": {
|
||||
"url": "grpcs://localhost:7051",
|
||||
"tlsCACerts": {
|
||||
"pem": "-----BEGIN CERTIFICATE-----\nMIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw\nWjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV\nBAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT\nY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq\n0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3\n70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG\nAQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD\nAgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan\nlx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=\n-----END CERTIFICATE-----\n"
|
||||
},
|
||||
"grpcOptions": {
|
||||
"ssl-target-name-override": "peer0.org1.example.com",
|
||||
"hostnameOverride": "peer0.org1.example.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certificateAuthorities": {
|
||||
"ca.org1.example.com": {
|
||||
"url": "https://localhost:7054",
|
||||
"caName": "ca-org1",
|
||||
"tlsCACerts": {
|
||||
"pem": ["-----BEGIN CERTIFICATE-----\nMIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw\nWjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV\nBAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT\nY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq\n0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3\n70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG\nAQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD\nAgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan\nlx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=\n-----END CERTIFICATE-----\n"]
|
||||
},
|
||||
"httpOptions": {
|
||||
"verify": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
---
|
||||
name: test-network-org1
|
||||
version: 1.0.0
|
||||
client:
|
||||
organization: Org1
|
||||
connection:
|
||||
timeout:
|
||||
peer:
|
||||
endorser: '300'
|
||||
organizations:
|
||||
Org1:
|
||||
mspid: Org1MSP
|
||||
peers:
|
||||
- peer0.org1.example.com
|
||||
certificateAuthorities:
|
||||
- ca.org1.example.com
|
||||
peers:
|
||||
peer0.org1.example.com:
|
||||
url: grpcs://localhost:7051
|
||||
tlsCACerts:
|
||||
pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
grpcOptions:
|
||||
ssl-target-name-override: peer0.org1.example.com
|
||||
hostnameOverride: peer0.org1.example.com
|
||||
certificateAuthorities:
|
||||
ca.org1.example.com:
|
||||
url: https://localhost:7054
|
||||
caName: ca-org1
|
||||
tlsCACerts:
|
||||
pem:
|
||||
- |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
httpOptions:
|
||||
verify: false
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
|
||||
#############################################################################
|
||||
# This is a configuration file for the fabric-ca-client command.
|
||||
#
|
||||
# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES
|
||||
# ------------------------------------------------
|
||||
# Each configuration element can be overridden via command line
|
||||
# arguments or environment variables. The precedence for determining
|
||||
# the value of each element is as follows:
|
||||
# 1) command line argument
|
||||
# Examples:
|
||||
# a) --url https://localhost:7054
|
||||
# To set the fabric-ca server url
|
||||
# b) --tls.client.certfile certfile.pem
|
||||
# To set the client certificate for TLS
|
||||
# 2) environment variable
|
||||
# Examples:
|
||||
# a) FABRIC_CA_CLIENT_URL=https://localhost:7054
|
||||
# To set the fabric-ca server url
|
||||
# b) FABRIC_CA_CLIENT_TLS_CLIENT_CERTFILE=certfile.pem
|
||||
# To set the client certificate for TLS
|
||||
# 3) configuration file
|
||||
# 4) default value (if there is one)
|
||||
# All default values are shown beside each element below.
|
||||
#
|
||||
# FILE NAME ELEMENTS
|
||||
# ------------------
|
||||
# The value of all fields whose name ends with "file" or "files" are
|
||||
# name or names of other files.
|
||||
# For example, see "tls.certfiles" and "tls.client.certfile".
|
||||
# The value of each of these fields can be a simple filename, a
|
||||
# relative path, or an absolute path. If the value is not an
|
||||
# absolute path, it is interpreted as being relative to the location
|
||||
# of this configuration file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
#############################################################################
|
||||
# Client Configuration
|
||||
#############################################################################
|
||||
|
||||
# URL of the Fabric-ca-server (default: http://localhost:7054)
|
||||
url: https://localhost:7054
|
||||
|
||||
# Membership Service Provider (MSP) directory
|
||||
# This is useful when the client is used to enroll a peer or orderer, so
|
||||
# that the enrollment artifacts are stored in the format expected by MSP.
|
||||
mspdir: msp
|
||||
|
||||
#############################################################################
|
||||
# TLS section for secure socket connection
|
||||
#
|
||||
# certfiles - PEM-encoded list of trusted root certificate files
|
||||
# client:
|
||||
# certfile - PEM-encoded certificate file for when client authentication
|
||||
# is enabled on server
|
||||
# keyfile - PEM-encoded key file for when client authentication
|
||||
# is enabled on server
|
||||
#############################################################################
|
||||
tls:
|
||||
# TLS section for secure socket connection
|
||||
certfiles:
|
||||
client:
|
||||
certfile:
|
||||
keyfile:
|
||||
|
||||
#############################################################################
|
||||
# Certificate Signing Request section for generating the CSR for an
|
||||
# enrollment certificate (ECert)
|
||||
#
|
||||
# cn - Used by CAs to determine which domain the certificate is to be generated for
|
||||
#
|
||||
# keyrequest - Properties to use when generating a private key.
|
||||
# algo - key generation algorithm to use
|
||||
# size - size of key to generate
|
||||
# reusekey - reuse existing key during reenrollment
|
||||
#
|
||||
# serialnumber - The serialnumber field, if specified, becomes part of the issued
|
||||
# certificate's DN (Distinguished Name). For example, one use case for this is
|
||||
# a company with its own CA (Certificate Authority) which issues certificates
|
||||
# to its employees and wants to include the employee's serial number in the DN
|
||||
# of its issued certificates.
|
||||
# WARNING: The serialnumber field should not be confused with the certificate's
|
||||
# serial number which is set by the CA but is not a component of the
|
||||
# certificate's DN.
|
||||
#
|
||||
# names - A list of name objects. Each name object should contain at least one
|
||||
# "C", "L", "O", or "ST" value (or any combination of these) where these
|
||||
# are abbreviations for the following:
|
||||
# "C": country
|
||||
# "L": locality or municipality (such as city or town name)
|
||||
# "O": organization
|
||||
# "OU": organizational unit, such as the department responsible for owning the key;
|
||||
# it can also be used for a "Doing Business As" (DBS) name
|
||||
# "ST": the state or province
|
||||
#
|
||||
# Note that the "OU" or organizational units of an ECert are always set according
|
||||
# to the values of the identities type and affiliation. OUs are calculated for an enroll
|
||||
# as OU=<type>, OU=<affiliationRoot>, ..., OU=<affiliationLeaf>. For example, an identity
|
||||
# of type "client" with an affiliation of "org1.dept2.team3" would have the following
|
||||
# organizational units: OU=client, OU=org1, OU=dept2, OU=team3
|
||||
#
|
||||
# hosts - A list of host names for which the certificate should be valid
|
||||
#
|
||||
#############################################################################
|
||||
csr:
|
||||
cn: admin
|
||||
keyrequest:
|
||||
algo: ecdsa
|
||||
size: 256
|
||||
reusekey: false
|
||||
serialnumber:
|
||||
names:
|
||||
- C: US
|
||||
ST: North Carolina
|
||||
L:
|
||||
O: Hyperledger
|
||||
OU: Fabric
|
||||
hosts:
|
||||
- aerat
|
||||
|
||||
#############################################################################
|
||||
# Registration section used to register a new identity with fabric-ca server
|
||||
#
|
||||
# name - Unique name of the identity
|
||||
# type - Type of identity being registered (e.g. 'peer, app, user')
|
||||
# affiliation - The identity's affiliation
|
||||
# maxenrollments - The maximum number of times the secret can be reused to enroll.
|
||||
# Specially, -1 means unlimited; 0 means to use CA's max enrollment
|
||||
# value.
|
||||
# attributes - List of name/value pairs of attribute for identity
|
||||
#############################################################################
|
||||
id:
|
||||
name:
|
||||
type:
|
||||
affiliation:
|
||||
maxenrollments: 0
|
||||
attributes:
|
||||
# - name:
|
||||
# value:
|
||||
|
||||
#############################################################################
|
||||
# Enrollment section used to enroll an identity with fabric-ca server
|
||||
#
|
||||
# profile - Name of the signing profile to use in issuing the certificate
|
||||
# label - Label to use in HSM operations
|
||||
#############################################################################
|
||||
enrollment:
|
||||
profile:
|
||||
label:
|
||||
|
||||
#############################################################################
|
||||
# Name of the CA to connect to within the fabric-ca server
|
||||
#############################################################################
|
||||
caname:
|
||||
|
||||
#############################################################################
|
||||
# BCCSP (BlockChain Crypto Service Provider) section allows to select which
|
||||
# crypto implementation library to use
|
||||
#############################################################################
|
||||
bccsp:
|
||||
default: SW
|
||||
sw:
|
||||
hash: SHA2
|
||||
security: 256
|
||||
filekeystore:
|
||||
# The directory used for the software file-based keystore
|
||||
keystore: msp/keystore
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
OU
|
||||
Role
|
||||
EnrollmentID
|
||||
RevocationHandleD
|
||||
ÚªEµ÷µÝ`Ø#õ)zÿŸ¦Ú<0F>‡yh"þŽ ‚=Û©?WhV«@JWL<57>M\C‡‘¢óêæN|<7C>ñD
|
||||
¡<>LI{îèú'‘E1Å
khÀÑĺÚH£‘V<>³ª ÃÿACiŒ¦X\-!Š<>¢
"À•ÑXj,"ðôÕ‹ïCî"D
|
||||
[mO9¾íòñuf[=rOþC*ï..w}òò8ãºXå,A ¦×‘ ò9
ÃoÑ[ˆéªÝŠ—F<E28094>wýñkhɪ)"D
|
||||
nÿ,L-¢Ìkj0Ív{6b<>H¨Iè„W1áÓ‡ Fš›Èþ÷\´k'È!º94ºúò¬)âªýÐ{àÎÑ02"D
|
||||
DVåñïËGÕí!ÒU?›ã°uYy
¸
|
||||
}›<>‹^—yk ¥¿:¸]¦r‹«Ë©|_†IPø8j‹I…ç‚"D
|
||||
NjÎú«¥~-ñçFOëò —ß`Yæ|wò®u| ’kO¡^žõP6âqƶÜM,;Fo›$ß…ö}Ñ0O*ˆ
|
||||
$XO„(_(íá›{Œ×m-ºÍr±z¨·^ä{žÓk] ÜÇ<02>_Ò¹œš£¯ÍŸ‡8éÜïKo.’¹½P ¦ð³×býxêKô¡éí!î.IüK+^‰Pëšp
d[" ¾Ï¤¾¤±~¸Ÿ˜3Á7‚oPP
|
||||
L´Ô$ôk±ûó°a/2D
|
||||
Dú[GIØ
|
||||
½žÁ
¸ð(¯!†gnõ}Z;÷oí—–:<3A>’ Ækœf»jíÑš)ùôèíë“<C3AB>tÇóñ\æ]¾ëd:D
|
||||
!üsg$,l‹Úó w…LBU©$#¼¾¨
|
||||
Yå@ðÇ<€ S™¯Gê-¹|Ê&9<>aå<xq!:¨>ålUÊŠ<d<13>B l…ô…s¥–IŽxFKT¨`zEë³Å…
‚ý°Ž|}ÝJ +ÊûZC¹“<C2B9>ÀC‰Òý
|
||||
2ÎM
|
||||
šKÄ*‚<>
ëø/Z;R \ômô¬†“‡mÖ´<C396>joaEëõþÕœúÖC,Ë<>iø
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
|
||||
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
|
||||
Mapu95urfz2tclrsW22YPBtbObGerAfG
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcC/o7DObTkn2mO9M
|
||||
XA6tNjhf4v3D02R1TjyK5KLsml+hRANCAAQHVNjWUYDcPZK1jcc+v9klZYcEvI7y
|
||||
/2DEpCLas34gan4Blr9pgtZ6SVeW7G8rglcY7x5bVHLL/1bvHsaF1egi
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICQTCCAeegAwIBAgIUSXRII83eXddRKovLVgPOXH6bIMswCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMjMwMzE0MDA1MzAw
|
||||
WjBdMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExFDASBgNV
|
||||
BAoTC0h5cGVybGVkZ2VyMQ8wDQYDVQQLEwZjbGllbnQxDjAMBgNVBAMTBWFkbWlu
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEB1TY1lGA3D2StY3HPr/ZJWWHBLyO
|
||||
8v9gxKQi2rN+IGp+AZa/aYLWeklXluxvK4JXGO8eW1Ryy/9W7x7GhdXoIqNyMHAw
|
||||
DgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFPlbUB+ipFQz
|
||||
5gWpD0XKTJHM06INMB8GA1UdIwQYMBaAFKh1I+0UzVsQgKRQ26SH8wvlatSMMBAG
|
||||
A1UdEQQJMAeCBWFlcmF0MAoGCCqGSM49BAMCA0gAMEUCIQDC97ZaFR7HzwYS7kZb
|
||||
IxGc9CMpkprQJe3lEl8A9VkwNAIgdh2KjjmdlNvW6eQnUyPotQk8PDs6tf7prb02
|
||||
JcWW948=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
OU
|
||||
Role
|
||||
EnrollmentID
|
||||
RevocationHandleD
|
||||
ÚªEµ÷µÝ`Ø#õ)zÿŸ¦Ú<0F>‡yh"þŽ ‚=Û©?WhV«@JWL<57>M\C‡‘¢óêæN|<7C>ñD
|
||||
¡<>LI{îèú'‘E1Å
khÀÑĺÚH£‘V<>³ª ÃÿACiŒ¦X\-!Š<>¢
"À•ÑXj,"ðôÕ‹ïCî"D
|
||||
[mO9¾íòñuf[=rOþC*ï..w}òò8ãºXå,A ¦×‘ ò9
ÃoÑ[ˆéªÝŠ—F<E28094>wýñkhɪ)"D
|
||||
nÿ,L-¢Ìkj0Ív{6b<>H¨Iè„W1áÓ‡ Fš›Èþ÷\´k'È!º94ºúò¬)âªýÐ{àÎÑ02"D
|
||||
DVåñïËGÕí!ÒU?›ã°uYy
¸
|
||||
}›<>‹^—yk ¥¿:¸]¦r‹«Ë©|_†IPø8j‹I…ç‚"D
|
||||
NjÎú«¥~-ñçFOëò —ß`Yæ|wò®u| ’kO¡^žõP6âqƶÜM,;Fo›$ß…ö}Ñ0O*ˆ
|
||||
$XO„(_(íá›{Œ×m-ºÍr±z¨·^ä{žÓk] ÜÇ<02>_Ò¹œš£¯ÍŸ‡8éÜïKo.’¹½P ¦ð³×býxêKô¡éí!î.IüK+^‰Pëšp
d[" ¾Ï¤¾¤±~¸Ÿ˜3Á7‚oPP
|
||||
L´Ô$ôk±ûó°a/2D
|
||||
Dú[GIØ
|
||||
½žÁ
¸ð(¯!†gnõ}Z;÷oí—–:<3A>’ Ækœf»jíÑš)ùôèíë“<C3AB>tÇóñ\æ]¾ëd:D
|
||||
!üsg$,l‹Úó w…LBU©$#¼¾¨
|
||||
Yå@ðÇ<€ S™¯Gê-¹|Ê&9<>aå<xq!:¨>ålUÊŠ<d<13>B l…ô…s¥–IŽxFKT¨`zEë³Å…
‚ý°Ž|}ÝJ +ÊûZC¹“<C2B9>ÀC‰Òý
|
||||
2ÎM
|
||||
šKÄ*‚<>
ëø/Z;R \ômô¬†“‡mÖ´<C396>joaEëõþÕœúÖC,Ë<>iø
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
|
||||
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
|
||||
Mapu95urfz2tclrsW22YPBtbObGerAfG
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgy8L7umhNV6HlEsvW
|
||||
D9c/jOA5SMZdCD/SCqnvVNVm1/GhRANCAAS/3+wTTT06gBLzg8USMYZYgXTKg1Pu
|
||||
3tujMeJsF3fU+ZCASBFuODqLgwzTECuyxAWl++V9+zJtIjFyCyj2T7cM
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICqTCCAlCgAwIBAgIUD4kYpqLoeE6wROzJEIf7u5lI6S4wCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMjMwMzE0MDA1MzAw
|
||||
WjBbMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExFDASBgNV
|
||||
BAoTC0h5cGVybGVkZ2VyMQ0wCwYDVQQLEwRwZWVyMQ4wDAYDVQQDEwVwZWVyMDBZ
|
||||
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABL/f7BNNPTqAEvODxRIxhliBdMqDU+7e
|
||||
26Mx4mwXd9T5kIBIEW44OouDDNMQK7LEBaX75X37Mm0iMXILKPZPtwyjgdwwgdkw
|
||||
DgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFFzpQUq0RCx7
|
||||
R8W075OgE4k6g42/MB8GA1UdIwQYMBaAFKh1I+0UzVsQgKRQ26SH8wvlatSMMCEG
|
||||
A1UdEQQaMBiCFnBlZXIwLm9yZzEuZXhhbXBsZS5jb20wVgYIKgMEBQYHCAEESnsi
|
||||
YXR0cnMiOnsiaGYuQWZmaWxpYXRpb24iOiIiLCJoZi5FbnJvbGxtZW50SUQiOiJw
|
||||
ZWVyMCIsImhmLlR5cGUiOiJwZWVyIn19MAoGCCqGSM49BAMCA0cAMEQCIEkU0cgl
|
||||
YmVbVmT4Us/6aDqkRDqtd+dmHvxICXQtKLYwAiABogzPr2n77J4bwg++oYnjP09b
|
||||
U+4zegOpXZPWaPnpYA==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
OU
|
||||
Role
|
||||
EnrollmentID
|
||||
RevocationHandleD
|
||||
ÚªEµ÷µÝ`Ø#õ)zÿŸ¦Ú<0F>‡yh"þŽ ‚=Û©?WhV«@JWL<57>M\C‡‘¢óêæN|<7C>ñD
|
||||
¡<>LI{îèú'‘E1Å
khÀÑĺÚH£‘V<>³ª ÃÿACiŒ¦X\-!Š<>¢
"À•ÑXj,"ðôÕ‹ïCî"D
|
||||
[mO9¾íòñuf[=rOþC*ï..w}òò8ãºXå,A ¦×‘ ò9
ÃoÑ[ˆéªÝŠ—F<E28094>wýñkhɪ)"D
|
||||
nÿ,L-¢Ìkj0Ív{6b<>H¨Iè„W1áÓ‡ Fš›Èþ÷\´k'È!º94ºúò¬)âªýÐ{àÎÑ02"D
|
||||
DVåñïËGÕí!ÒU?›ã°uYy
¸
|
||||
}›<>‹^—yk ¥¿:¸]¦r‹«Ë©|_†IPø8j‹I…ç‚"D
|
||||
NjÎú«¥~-ñçFOëò —ß`Yæ|wò®u| ’kO¡^žõP6âqƶÜM,;Fo›$ß…ö}Ñ0O*ˆ
|
||||
$XO„(_(íá›{Œ×m-ºÍr±z¨·^ä{žÓk] ÜÇ<02>_Ò¹œš£¯ÍŸ‡8éÜïKo.’¹½P ¦ð³×býxêKô¡éí!î.IüK+^‰Pëšp
d[" ¾Ï¤¾¤±~¸Ÿ˜3Á7‚oPP
|
||||
L´Ô$ôk±ûó°a/2D
|
||||
Dú[GIØ
|
||||
½žÁ
¸ð(¯!†gnõ}Z;÷oí—–:<3A>’ Ækœf»jíÑš)ùôèíë“<C3AB>tÇóñ\æ]¾ëd:D
|
||||
!üsg$,l‹Úó w…LBU©$#¼¾¨
|
||||
Yå@ðÇ<€ S™¯Gê-¹|Ê&9<>aå<xq!:¨>ålUÊŠ<d<13>B l…ô…s¥–IŽxFKT¨`zEë³Å…
‚ý°Ž|}ÝJ +ÊûZC¹“<C2B9>ÀC‰Òý
|
||||
2ÎM
|
||||
šKÄ*‚<>
ëø/Z;R \ômô¬†“‡mÖ´<C396>joaEëõþÕœúÖC,Ë<>iø
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
|
||||
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
|
||||
Mapu95urfz2tclrsW22YPBtbObGerAfG
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMOZUZhqOMHSW+tF6
|
||||
ScRD/L2NWlrLt677wfXHkX6aLHahRANCAARuWxuIGJi1kAh7ytp2vt6LKIK1FzRy
|
||||
QGupCp82IeRCOUf8K1NHCDfUZ2FGsXtUwbe6TQci9uAGdOKzwWDmO0VM
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIC1jCCAnygAwIBAgIUAjesJYdZFP9SvwFdataJyE7MbJcwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMjMwMzE0MDA1MzAw
|
||||
WjBbMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExFDASBgNV
|
||||
BAoTC0h5cGVybGVkZ2VyMQ0wCwYDVQQLEwRwZWVyMQ4wDAYDVQQDEwVwZWVyMDBZ
|
||||
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABG5bG4gYmLWQCHvK2na+3osogrUXNHJA
|
||||
a6kKnzYh5EI5R/wrU0cIN9RnYUaxe1TBt7pNByL24AZ04rPBYOY7RUyjggEHMIIB
|
||||
AzAOBgNVHQ8BAf8EBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
|
||||
MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFNbaoqj1xpCaXK3x1Az23ii8KNMfMB8G
|
||||
A1UdIwQYMBaAFKh1I+0UzVsQgKRQ26SH8wvlatSMMCwGA1UdEQQlMCOCFnBlZXIw
|
||||
Lm9yZzEuZXhhbXBsZS5jb22CCWxvY2FsaG9zdDBWBggqAwQFBgcIAQRKeyJhdHRy
|
||||
cyI6eyJoZi5BZmZpbGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6InBlZXIw
|
||||
IiwiaGYuVHlwZSI6InBlZXIifX0wCgYIKoZIzj0EAwIDSAAwRQIhAPdbaVzjEDh7
|
||||
tEtGNMMVilGRxYfMPVe2ebaXgLSiFUoJAiAaHbf6UXEV/0btNfIpSD4+R/7yjnTy
|
||||
GoIF/nol5/WVRQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMOZUZhqOMHSW+tF6
|
||||
ScRD/L2NWlrLt677wfXHkX6aLHahRANCAARuWxuIGJi1kAh7ytp2vt6LKIK1FzRy
|
||||
QGupCp82IeRCOUf8K1NHCDfUZ2FGsXtUwbe6TQci9uAGdOKzwWDmO0VM
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIC1jCCAnygAwIBAgIUAjesJYdZFP9SvwFdataJyE7MbJcwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMjMwMzE0MDA1MzAw
|
||||
WjBbMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExFDASBgNV
|
||||
BAoTC0h5cGVybGVkZ2VyMQ0wCwYDVQQLEwRwZWVyMQ4wDAYDVQQDEwVwZWVyMDBZ
|
||||
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABG5bG4gYmLWQCHvK2na+3osogrUXNHJA
|
||||
a6kKnzYh5EI5R/wrU0cIN9RnYUaxe1TBt7pNByL24AZ04rPBYOY7RUyjggEHMIIB
|
||||
AzAOBgNVHQ8BAf8EBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
|
||||
MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFNbaoqj1xpCaXK3x1Az23ii8KNMfMB8G
|
||||
A1UdIwQYMBaAFKh1I+0UzVsQgKRQ26SH8wvlatSMMCwGA1UdEQQlMCOCFnBlZXIw
|
||||
Lm9yZzEuZXhhbXBsZS5jb22CCWxvY2FsaG9zdDBWBggqAwQFBgcIAQRKeyJhdHRy
|
||||
cyI6eyJoZi5BZmZpbGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6InBlZXIw
|
||||
IiwiaGYuVHlwZSI6InBlZXIifX0wCgYIKoZIzj0EAwIDSAAwRQIhAPdbaVzjEDh7
|
||||
tEtGNMMVilGRxYfMPVe2ebaXgLSiFUoJAiAaHbf6UXEV/0btNfIpSD4+R/7yjnTy
|
||||
GoIF/nol5/WVRQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
OU
|
||||
Role
|
||||
EnrollmentID
|
||||
RevocationHandleD
|
||||
ÚªEµ÷µÝ`Ø#õ)zÿŸ¦Ú<0F>‡yh"þŽ ‚=Û©?WhV«@JWL<57>M\C‡‘¢óêæN|<7C>ñD
|
||||
¡<>LI{îèú'‘E1Å
khÀÑĺÚH£‘V<>³ª ÃÿACiŒ¦X\-!Š<>¢
"À•ÑXj,"ðôÕ‹ïCî"D
|
||||
[mO9¾íòñuf[=rOþC*ï..w}òò8ãºXå,A ¦×‘ ò9
ÃoÑ[ˆéªÝŠ—F<E28094>wýñkhɪ)"D
|
||||
nÿ,L-¢Ìkj0Ív{6b<>H¨Iè„W1áÓ‡ Fš›Èþ÷\´k'È!º94ºúò¬)âªýÐ{àÎÑ02"D
|
||||
DVåñïËGÕí!ÒU?›ã°uYy
¸
|
||||
}›<>‹^—yk ¥¿:¸]¦r‹«Ë©|_†IPø8j‹I…ç‚"D
|
||||
NjÎú«¥~-ñçFOëò —ß`Yæ|wò®u| ’kO¡^žõP6âqƶÜM,;Fo›$ß…ö}Ñ0O*ˆ
|
||||
$XO„(_(íá›{Œ×m-ºÍr±z¨·^ä{žÓk] ÜÇ<02>_Ò¹œš£¯ÍŸ‡8éÜïKo.’¹½P ¦ð³×býxêKô¡éí!î.IüK+^‰Pëšp
d[" ¾Ï¤¾¤±~¸Ÿ˜3Á7‚oPP
|
||||
L´Ô$ôk±ûó°a/2D
|
||||
Dú[GIØ
|
||||
½žÁ
¸ð(¯!†gnõ}Z;÷oí—–:<3A>’ Ækœf»jíÑš)ùôèíë“<C3AB>tÇóñ\æ]¾ëd:D
|
||||
!üsg$,l‹Úó w…LBU©$#¼¾¨
|
||||
Yå@ðÇ<€ S™¯Gê-¹|Ê&9<>aå<xq!:¨>ålUÊŠ<d<13>B l…ô…s¥–IŽxFKT¨`zEë³Å…
‚ý°Ž|}ÝJ +ÊûZC¹“<C2B9>ÀC‰Òý
|
||||
2ÎM
|
||||
šKÄ*‚<>
ëø/Z;R \ômô¬†“‡mÖ´<C396>joaEëõþÕœúÖC,Ë<>iø
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
|
||||
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
|
||||
Mapu95urfz2tclrsW22YPBtbObGerAfG
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIICJjCCAc2gAwIBAgIUTzuaF0yQCEJfuGKH/FmfZjTVmpwwCgYIKoZIzj0EAwIw
|
||||
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
|
||||
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMzE0MDA0ODAwWhcNMzcwMzEwMDA0ODAw
|
||||
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
|
||||
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
|
||||
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGSq
|
||||
0C6urb2HHszmQOvqJOb6vZjeZM+jWfUHjxQGSVCz6+/3kSu9le6tWvU7Et/FFnz3
|
||||
70sIANJeha0hw74H9rijRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
|
||||
AQH/AgEBMB0GA1UdDgQWBBSodSPtFM1bEICkUNukh/ML5WrUjDAKBggqhkjOPQQD
|
||||
AgNHADBEAiAES7LI3PQnklbFEY47rjQS4QtzXqoDkccWHPHhOjDXmgIgQ1TE1Qan
|
||||
lx77noYhnA/gnsjb3d71pnK7xnAPllw2E6I=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
NodeOUs:
|
||||
Enable: true
|
||||
ClientOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: client
|
||||
PeerOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: peer
|
||||
AdminOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: admin
|
||||
OrdererOUIdentifier:
|
||||
Certificate: cacerts/localhost-7054-ca-org1.pem
|
||||
OrganizationalUnitIdentifier: orderer
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue