Configure explorer

This commit is contained in:
Gopal Unnikrishnan 2022-03-13 21:39:35 -05:00
parent a58bb6897d
commit 9e8b744823
148 changed files with 3829 additions and 3 deletions

9
explorer/config.json Normal file
View file

@ -0,0 +1,9 @@
{
"network-configs": {
"test-network": {
"name": "Test Network",
"profile": "./connection-profile/test-network.json"
}
},
"license": "Apache-2.0"
}

View 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"
}
}
}

View 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

View 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

View 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
}
}
}
}

View 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

View 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

View 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

View 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

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrfm8d9NjP4k57TED
m1TKS5x+svz7PMC51iQdKFA8NcqhRANCAASHK0PN5ZnZ4hWIMxuctWkz52Wibj1E
MlRV/9qVzM6o+jgNHpgeyF0bAH2YfG2Rf7FS6/cJtzhSkRSXa2xODrRs
-----END PRIVATE KEY-----

View file

@ -0,0 +1,6 @@
-----BEGIN PRIVATE KEY-----
MIGkAgEBBDA30sQT3qWX3zRahwZMZPnugRPc3tUARpKn+TDYmNk+ZwPkP4odO7ze
XxChSCNkpKmgBwYFK4EEACKhZANiAASYZ3jCiP0AaI2BmSGrpB6NcDaE11DbTjXF
mR7sWOT8rTwLpWE+22lGn8WFeHNb8DBNMGU3daoN4fir/Exj3fCtYKvAMeW26TDQ
+EX4bxaKuIis4aL2ytIO7VFSoIH03Rw=
-----END PRIVATE KEY-----

View file

@ -0,0 +1 @@
&­ô[Ë£Tå\•èk{FëEûÈoÆVACYÞ

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8oP5tbDvxZAgrZHG
PdEd2k98rga+XoANXOiMy3rT8xChRANCAAT1Z9dstXBLigeW5tMH7D4HK68AreQc
XdiFPvSHvRwfpuyzaEoYI2LdIyI3eLQSKVos19Dp1LHqU12XogGc3/0f
-----END PRIVATE KEY-----

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

View 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ø8jI…ç"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Á7oPP
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ø

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
Mapu95urfz2tclrsW22YPBtbObGerAfG
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgthEPXAsBR+Um9LNx
bdOxgDkUl2JFaOCG9PpTl4qz8KOhRANCAARkqtAurq29hx7M5kDr6iTm+r2Y3mTP
o1n1B48UBklQs+vv95ErvZXurVr1OxLfxRZ89+9LCADSXoWtIcO+B/a4
-----END PRIVATE KEY-----

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIf1vqcuLUjk7PVoC
RDfK96GXPyb963q1iWodEiec+GGhRANCAAR57dU5ES72AB4RXlS9OXd1YXWhsudh
QwTX+xAg6td54V+ZEgoxg/sCaDo/io5hSaE34S0BuUgEmb554VatPMPQ
-----END PRIVATE KEY-----

View file

@ -0,0 +1,6 @@
-----BEGIN PRIVATE KEY-----
MIGkAgEBBDCRElgwMOdaaoHnWg81iP0d1VG8ctr7DuG5L15kv8hIm98jOw9nuScx
gzuoeEqmUcmgBwYFK4EEACKhZANiAATPQVYpHouqjKlG+tIvrXpG2EmX89eWcnIc
8xf3AS5W96HfdFJEH0y5KfYd1b93mZgRGcg29Tc2jHw/ad4NGxL/a96Zdmpm2yIx
qm73m6t/Pa1yWuxbbZg8G1s5sZ6sB8Y=
-----END PRIVATE KEY-----

View file

@ -0,0 +1 @@
Ψ€<CEA8>Φ•n'<27>τωψ¦.v¤|HQ<48>ƒ C c:Ϊ΄η

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

Binary file not shown.

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY
XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV
SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgsvEzqdtTd5/xRdR9
a9R29xPIdwihA0LpAFrtwAtd+9qhRANCAATVzuLbMEY2z+BiYvwsj2OofY9h8WQT
234052JYf6SvzpPGEtCZQ1UsXPN8lNuCZzlia4Lvzeu0MTuYrfgMUyn+
-----END PRIVATE KEY-----

View file

@ -0,0 +1,6 @@
-----BEGIN PRIVATE KEY-----
MIGkAgEBBDBxn9pRW6TnHNEwpRzsXa6D9ZiGAh9iHDBpd8PftITs5NkNrr8SDUsB
L2NcUmBLnuqgBwYFK4EEACKhZANiAARCUfDllvmvqI5S49V35TqZzVSf3BpxIdhd
NhiupfltYP6T6OSOFLbCwKhDCW144HR80trau33TFt0iWi6IAs9zhhcC7cbrthVJ
QaZWssMJtE3Tt6gkw1PVLHXSZaJpuZw=
-----END PRIVATE KEY-----

View file

@ -0,0 +1 @@
Τ0λ[x]9C“4Ϊ¨&ΔIK<>£θ

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOvda6qtlrbEFNy/o
lgx7G5Cr234/DonwdrtvGCTkg/uhRANCAASxlrYk2PBdeLPLETVAR+bQXJjWRHzG
or5+lakpiX61VCjsA3pNinkWQvShlLcERW5K6AgIfsZLq7wWwS7NcZmw
-----END PRIVATE KEY-----

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

View 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"
}

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNfio9dDl6Hg/ln9I
6O/XKKNNjdI8ZYLHZW5OPMgX8nmhRANCAASKgo2kgfTh2WgZOC8qa88W/Z2LKrio
dMEf0MGX7MC/zuslC4hswCZ9Zme1n6PH5ecCubOJ9duv/7ziSDfAX8Xe
-----END PRIVATE KEY-----

View file

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

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

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglJMlIteo3JCaevqF
Is9Ob/QyBLPew+Pj32Lb7dieWa6hRANCAAQs9igeKkRjtY+u9/nVSJ4T/tB26U5b
r7gXTjx0rp5S1hkBCk0RMQQWCY7CR4ddqgmrZX1mSHs1wv7kH19kayA3
-----END PRIVATE KEY-----

View file

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

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

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
-----END PUBLIC KEY-----

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH
CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh
+xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf
-----END PRIVATE KEY-----

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH
CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh
+xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf
-----END PRIVATE KEY-----

View file

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

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

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

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041
xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw
0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgH42U67ndrB656Qnr
AmMuOjT+UzIi8irGeNiukhvjp+uhRANCAAQ2gprnje3PVwHszyFhjp0/MIE63GGl
pkqbFDPyw+3FuFeCqc6SY2SKNRGgQh2r6Qsz11M99tSFDmg1Tfay7H+9
-----END PRIVATE KEY-----

View file

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

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

View file

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

View file

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

View file

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

View 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ø8jI…ç"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Á7oPP
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ø

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
Mapu95urfz2tclrsW22YPBtbObGerAfG
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcC/o7DObTkn2mO9M
XA6tNjhf4v3D02R1TjyK5KLsml+hRANCAAQHVNjWUYDcPZK1jcc+v9klZYcEvI7y
/2DEpCLas34gan4Blr9pgtZ6SVeW7G8rglcY7x5bVHLL/1bvHsaF1egi
-----END PRIVATE KEY-----

View file

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

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

View 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ø8jI…ç"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Á7oPP
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ø

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
Mapu95urfz2tclrsW22YPBtbObGerAfG
-----END PUBLIC KEY-----

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

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgy8L7umhNV6HlEsvW
D9c/jOA5SMZdCD/SCqnvVNVm1/GhRANCAAS/3+wTTT06gBLzg8USMYZYgXTKg1Pu
3tujMeJsF3fU+ZCASBFuODqLgwzTECuyxAWl++V9+zJtIjFyCyj2T7cM
-----END PRIVATE KEY-----

View file

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

View 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ø8jI…ç"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Á7oPP
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ø

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
Mapu95urfz2tclrsW22YPBtbObGerAfG
-----END PUBLIC KEY-----

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMOZUZhqOMHSW+tF6
ScRD/L2NWlrLt677wfXHkX6aLHahRANCAARuWxuIGJi1kAh7ytp2vt6LKIK1FzRy
QGupCp82IeRCOUf8K1NHCDfUZ2FGsXtUwbe6TQci9uAGdOKzwWDmO0VM
-----END PRIVATE KEY-----

View file

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

View file

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMOZUZhqOMHSW+tF6
ScRD/L2NWlrLt677wfXHkX6aLHahRANCAARuWxuIGJi1kAh7ytp2vt6LKIK1FzRy
QGupCp82IeRCOUf8K1NHCDfUZ2FGsXtUwbe6TQci9uAGdOKzwWDmO0VM
-----END PRIVATE KEY-----

View file

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

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

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

View 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ø8jI…ç"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Á7oPP
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ø

View file

@ -0,0 +1,5 @@
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz0FWKR6LqoypRvrSL616RthJl/PXlnJy
HPMX9wEuVveh33RSRB9MuSn2HdW/d5mYERnINvU3Nox8P2neDRsS/2vemXZqZtsi
Mapu95urfz2tclrsW22YPBtbObGerAfG
-----END PUBLIC KEY-----

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

View file

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