diff --git a/explorer/config.json b/explorer/config.json new file mode 100644 index 00000000..f99d37b5 --- /dev/null +++ b/explorer/config.json @@ -0,0 +1,9 @@ +{ + "network-configs": { + "test-network": { + "name": "Test Network", + "profile": "./connection-profile/test-network.json" + } + }, + "license": "Apache-2.0" +} diff --git a/explorer/connection-profile/test-network.json b/explorer/connection-profile/test-network.json new file mode 100644 index 00000000..e184547f --- /dev/null +++ b/explorer/connection-profile/test-network.json @@ -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" + } + } +} diff --git a/explorer/docker-compose.yaml b/explorer/docker-compose.yaml new file mode 100644 index 00000000..cd2edefd --- /dev/null +++ b/explorer/docker-compose.yaml @@ -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 \ No newline at end of file diff --git a/explorer/organizations/ccp-generate.sh b/explorer/organizations/ccp-generate.sh new file mode 100644 index 00000000..7e091d0b --- /dev/null +++ b/explorer/organizations/ccp-generate.sh @@ -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 diff --git a/explorer/organizations/ccp-template.json b/explorer/organizations/ccp-template.json new file mode 100644 index 00000000..e945bfe9 --- /dev/null +++ b/explorer/organizations/ccp-template.json @@ -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 + } + } + } +} diff --git a/explorer/organizations/ccp-template.yaml b/explorer/organizations/ccp-template.yaml new file mode 100644 index 00000000..b675c186 --- /dev/null +++ b/explorer/organizations/ccp-template.yaml @@ -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 diff --git a/explorer/organizations/cryptogen/crypto-config-orderer.yaml b/explorer/organizations/cryptogen/crypto-config-orderer.yaml new file mode 100644 index 00000000..6c5e7668 --- /dev/null +++ b/explorer/organizations/cryptogen/crypto-config-orderer.yaml @@ -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 diff --git a/explorer/organizations/cryptogen/crypto-config-org1.yaml b/explorer/organizations/cryptogen/crypto-config-org1.yaml new file mode 100644 index 00000000..40738450 --- /dev/null +++ b/explorer/organizations/cryptogen/crypto-config-org1.yaml @@ -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 diff --git a/explorer/organizations/cryptogen/crypto-config-org2.yaml b/explorer/organizations/cryptogen/crypto-config-org2.yaml new file mode 100644 index 00000000..6298ff6d --- /dev/null +++ b/explorer/organizations/cryptogen/crypto-config-org2.yaml @@ -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 diff --git a/explorer/organizations/fabric-ca/ordererOrg/IssuerPublicKey b/explorer/organizations/fabric-ca/ordererOrg/IssuerPublicKey new file mode 100644 index 00000000..3c198c5e Binary files /dev/null and b/explorer/organizations/fabric-ca/ordererOrg/IssuerPublicKey differ diff --git a/explorer/organizations/fabric-ca/ordererOrg/IssuerRevocationPublicKey b/explorer/organizations/fabric-ca/ordererOrg/IssuerRevocationPublicKey new file mode 100644 index 00000000..90037e04 --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041 +xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw +0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c +-----END PUBLIC KEY----- diff --git a/explorer/organizations/fabric-ca/ordererOrg/ca-cert.pem b/explorer/organizations/fabric-ca/ordererOrg/ca-cert.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/ca-cert.pem @@ -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----- diff --git a/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server-config.yaml b/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server-config.yaml new file mode 100644 index 00000000..0591b3e1 --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server-config.yaml @@ -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://:@:/ + # 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 +# Automatically generate non-default CAs. The names of these +# additional CAs are "ca1", "ca2", ... "caN", where "N" is +# 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 +# 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: diff --git a/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server.db b/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server.db new file mode 100644 index 00000000..a4444a09 Binary files /dev/null and b/explorer/organizations/fabric-ca/ordererOrg/fabric-ca-server.db differ diff --git a/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/37b5497d94171efb139a37abd6cbd1ffd05d03c62d18ecde3bb8fdd72c9ef593_sk b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/37b5497d94171efb139a37abd6cbd1ffd05d03c62d18ecde3bb8fdd72c9ef593_sk new file mode 100644 index 00000000..03e5b2f8 --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/37b5497d94171efb139a37abd6cbd1ffd05d03c62d18ecde3bb8fdd72c9ef593_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrfm8d9NjP4k57TED +m1TKS5x+svz7PMC51iQdKFA8NcqhRANCAASHK0PN5ZnZ4hWIMxuctWkz52Wibj1E +MlRV/9qVzM6o+jgNHpgeyF0bAH2YfG2Rf7FS6/cJtzhSkRSXa2xODrRs +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerRevocationPrivateKey b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerRevocationPrivateKey new file mode 100644 index 00000000..f540770a --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerRevocationPrivateKey @@ -0,0 +1,6 @@ +-----BEGIN PRIVATE KEY----- +MIGkAgEBBDA30sQT3qWX3zRahwZMZPnugRPc3tUARpKn+TDYmNk+ZwPkP4odO7ze +XxChSCNkpKmgBwYFK4EEACKhZANiAASYZ3jCiP0AaI2BmSGrpB6NcDaE11DbTjXF +mR7sWOT8rTwLpWE+22lGn8WFeHNb8DBNMGU3daoN4fir/Exj3fCtYKvAMeW26TDQ ++EX4bxaKuIis4aL2ytIO7VFSoIH03Rw= +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerSecretKey b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerSecretKey new file mode 100644 index 00000000..d5402dfe --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/IssuerSecretKey @@ -0,0 +1 @@ +&[T\k{FEoVACY \ No newline at end of file diff --git a/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/c59dcdd50bd462475768db4694e67082fa64ba211b0bcfb14c9384576452aca4_sk b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/c59dcdd50bd462475768db4694e67082fa64ba211b0bcfb14c9384576452aca4_sk new file mode 100644 index 00000000..d664db9f --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/msp/keystore/c59dcdd50bd462475768db4694e67082fa64ba211b0bcfb14c9384576452aca4_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8oP5tbDvxZAgrZHG +PdEd2k98rga+XoANXOiMy3rT8xChRANCAAT1Z9dstXBLigeW5tMH7D4HK68AreQc +XdiFPvSHvRwfpuyzaEoYI2LdIyI3eLQSKVos19Dp1LHqU12XogGc3/0f +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/ordererOrg/tls-cert.pem b/explorer/organizations/fabric-ca/ordererOrg/tls-cert.pem new file mode 100644 index 00000000..7632b0b6 --- /dev/null +++ b/explorer/organizations/fabric-ca/ordererOrg/tls-cert.pem @@ -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----- diff --git a/explorer/organizations/fabric-ca/org1/IssuerPublicKey b/explorer/organizations/fabric-ca/org1/IssuerPublicKey new file mode 100644 index 00000000..a71f74d5 --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/IssuerPublicKey @@ -0,0 +1,20 @@ + +OU +Role + EnrollmentID +RevocationHandleD + ڪE`#)zyh" =?WhV@JWLM\CN|D + LI{'E1 khĺHV ACiX\-! "Xj,"C"D + [mO9uf[=rOC*..w}8X,A ב 9 o[݊Fwkhª)"D + n,L-kj0v{6bHIW1Ӈ F\k'!94){02"D + DVG!U?uYy +}^yk :]r|_IP8jI"D + Nj~-FO `Y|wu| kO^P6qƶM,; Fo$߅}0O* + $XO(_({m-rz^{k] _ҹ͟8Ko.P bxK!.IK+^ Pp d[" Ϥ~37oPP +L$ka/2D + D[GI + (!gn}Z;o헖: kfjњ)듁t\]d:D + !sg$,l wLBU$# +Y@< SG-|&9alUʊ:@:/ + # 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 +# Automatically generate non-default CAs. The names of these +# additional CAs are "ca1", "ca2", ... "caN", where "N" is +# 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 +# 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: diff --git a/explorer/organizations/fabric-ca/org1/fabric-ca-server.db b/explorer/organizations/fabric-ca/org1/fabric-ca-server.db new file mode 100644 index 00000000..a16e6071 Binary files /dev/null and b/explorer/organizations/fabric-ca/org1/fabric-ca-server.db differ diff --git a/explorer/organizations/fabric-ca/org1/msp/keystore/68df689393af8f641a514adaff97cd688fd75494544bbccb4ae6aa51c6d9e7dc_sk b/explorer/organizations/fabric-ca/org1/msp/keystore/68df689393af8f641a514adaff97cd688fd75494544bbccb4ae6aa51c6d9e7dc_sk new file mode 100644 index 00000000..7b006afa --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/msp/keystore/68df689393af8f641a514adaff97cd688fd75494544bbccb4ae6aa51c6d9e7dc_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgthEPXAsBR+Um9LNx +bdOxgDkUl2JFaOCG9PpTl4qz8KOhRANCAARkqtAurq29hx7M5kDr6iTm+r2Y3mTP +o1n1B48UBklQs+vv95ErvZXurVr1OxLfxRZ89+9LCADSXoWtIcO+B/a4 +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org1/msp/keystore/823968278fd5d66ab74076163ca3f590206f5516d4818573b89daa5f269726c2_sk b/explorer/organizations/fabric-ca/org1/msp/keystore/823968278fd5d66ab74076163ca3f590206f5516d4818573b89daa5f269726c2_sk new file mode 100644 index 00000000..41b93f46 --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/msp/keystore/823968278fd5d66ab74076163ca3f590206f5516d4818573b89daa5f269726c2_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIf1vqcuLUjk7PVoC +RDfK96GXPyb963q1iWodEiec+GGhRANCAAR57dU5ES72AB4RXlS9OXd1YXWhsudh +QwTX+xAg6td54V+ZEgoxg/sCaDo/io5hSaE34S0BuUgEmb554VatPMPQ +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerRevocationPrivateKey b/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerRevocationPrivateKey new file mode 100644 index 00000000..65a282fd --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerRevocationPrivateKey @@ -0,0 +1,6 @@ +-----BEGIN PRIVATE KEY----- +MIGkAgEBBDCRElgwMOdaaoHnWg81iP0d1VG8ctr7DuG5L15kv8hIm98jOw9nuScx +gzuoeEqmUcmgBwYFK4EEACKhZANiAATPQVYpHouqjKlG+tIvrXpG2EmX89eWcnIc +8xf3AS5W96HfdFJEH0y5KfYd1b93mZgRGcg29Tc2jHw/ad4NGxL/a96Zdmpm2yIx +qm73m6t/Pa1yWuxbbZg8G1s5sZ6sB8Y= +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerSecretKey b/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerSecretKey new file mode 100644 index 00000000..4bd7e300 --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/msp/keystore/IssuerSecretKey @@ -0,0 +1 @@ +؀֕n'.v|HQ C c: \ No newline at end of file diff --git a/explorer/organizations/fabric-ca/org1/tls-cert.pem b/explorer/organizations/fabric-ca/org1/tls-cert.pem new file mode 100644 index 00000000..232a8e49 --- /dev/null +++ b/explorer/organizations/fabric-ca/org1/tls-cert.pem @@ -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----- diff --git a/explorer/organizations/fabric-ca/org2/IssuerPublicKey b/explorer/organizations/fabric-ca/org2/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/fabric-ca/org2/IssuerPublicKey differ diff --git a/explorer/organizations/fabric-ca/org2/IssuerRevocationPublicKey b/explorer/organizations/fabric-ca/org2/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/fabric-ca/org2/ca-cert.pem b/explorer/organizations/fabric-ca/org2/ca-cert.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/ca-cert.pem @@ -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----- diff --git a/explorer/organizations/fabric-ca/org2/fabric-ca-server-config.yaml b/explorer/organizations/fabric-ca/org2/fabric-ca-server-config.yaml new file mode 100644 index 00000000..0062daf4 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/fabric-ca-server-config.yaml @@ -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://:@:/ + # 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 +# Automatically generate non-default CAs. The names of these +# additional CAs are "ca1", "ca2", ... "caN", where "N" is +# 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 +# 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: diff --git a/explorer/organizations/fabric-ca/org2/fabric-ca-server.db b/explorer/organizations/fabric-ca/org2/fabric-ca-server.db new file mode 100644 index 00000000..790a7986 Binary files /dev/null and b/explorer/organizations/fabric-ca/org2/fabric-ca-server.db differ diff --git a/explorer/organizations/fabric-ca/org2/msp/keystore/605e9fc837e1cfbbaae5243dfd01cc262fb531e911a26f5e43f1e7e8d78adbb1_sk b/explorer/organizations/fabric-ca/org2/msp/keystore/605e9fc837e1cfbbaae5243dfd01cc262fb531e911a26f5e43f1e7e8d78adbb1_sk new file mode 100644 index 00000000..1fd5be7a --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/msp/keystore/605e9fc837e1cfbbaae5243dfd01cc262fb531e911a26f5e43f1e7e8d78adbb1_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgsvEzqdtTd5/xRdR9 +a9R29xPIdwihA0LpAFrtwAtd+9qhRANCAATVzuLbMEY2z+BiYvwsj2OofY9h8WQT +234052JYf6SvzpPGEtCZQ1UsXPN8lNuCZzlia4Lvzeu0MTuYrfgMUyn+ +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerRevocationPrivateKey b/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerRevocationPrivateKey new file mode 100644 index 00000000..04b2e429 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerRevocationPrivateKey @@ -0,0 +1,6 @@ +-----BEGIN PRIVATE KEY----- +MIGkAgEBBDBxn9pRW6TnHNEwpRzsXa6D9ZiGAh9iHDBpd8PftITs5NkNrr8SDUsB +L2NcUmBLnuqgBwYFK4EEACKhZANiAARCUfDllvmvqI5S49V35TqZzVSf3BpxIdhd +NhiupfltYP6T6OSOFLbCwKhDCW144HR80trau33TFt0iWi6IAs9zhhcC7cbrthVJ +QaZWssMJtE3Tt6gkw1PVLHXSZaJpuZw= +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerSecretKey b/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerSecretKey new file mode 100644 index 00000000..f8d68671 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/msp/keystore/IssuerSecretKey @@ -0,0 +1 @@ +0[x]|9C4ڨ&IK \ No newline at end of file diff --git a/explorer/organizations/fabric-ca/org2/msp/keystore/df47e6d8568f0c9b32ada1509faa085e17d9f8e8cc2eb14ec4bf6e6e1bc7dd25_sk b/explorer/organizations/fabric-ca/org2/msp/keystore/df47e6d8568f0c9b32ada1509faa085e17d9f8e8cc2eb14ec4bf6e6e1bc7dd25_sk new file mode 100644 index 00000000..dd289560 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/msp/keystore/df47e6d8568f0c9b32ada1509faa085e17d9f8e8cc2eb14ec4bf6e6e1bc7dd25_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOvda6qtlrbEFNy/o +lgx7G5Cr234/DonwdrtvGCTkg/uhRANCAASxlrYk2PBdeLPLETVAR+bQXJjWRHzG +or5+lakpiX61VCjsA3pNinkWQvShlLcERW5K6AgIfsZLq7wWwS7NcZmw +-----END PRIVATE KEY----- diff --git a/explorer/organizations/fabric-ca/org2/tls-cert.pem b/explorer/organizations/fabric-ca/org2/tls-cert.pem new file mode 100644 index 00000000..69a9f198 --- /dev/null +++ b/explorer/organizations/fabric-ca/org2/tls-cert.pem @@ -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----- diff --git a/explorer/organizations/fabric-ca/registerEnroll.sh b/explorer/organizations/fabric-ca/registerEnroll.sh new file mode 100644 index 00000000..181c270e --- /dev/null +++ b/explorer/organizations/fabric-ca/registerEnroll.sh @@ -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" +} diff --git a/explorer/organizations/ordererOrganizations/example.com/fabric-ca-client-config.yaml b/explorer/organizations/ordererOrganizations/example.com/fabric-ca-client-config.yaml new file mode 100644 index 00000000..5fcf2c5e --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/fabric-ca-client-config.yaml @@ -0,0 +1,168 @@ + +############################################################################# +# This is a configuration file for the fabric-ca-client command. +# +# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES +# ------------------------------------------------ +# Each configuration element can be overridden via command line +# arguments or environment variables. The precedence for determining +# the value of each element is as follows: +# 1) command line argument +# Examples: +# a) --url https://localhost:7054 +# To set the fabric-ca server url +# b) --tls.client.certfile certfile.pem +# To set the client certificate for TLS +# 2) environment variable +# Examples: +# a) FABRIC_CA_CLIENT_URL=https://localhost:7054 +# To set the fabric-ca server url +# b) FABRIC_CA_CLIENT_TLS_CLIENT_CERTFILE=certfile.pem +# To set the client certificate for TLS +# 3) configuration file +# 4) default value (if there is one) +# All default values are shown beside each element below. +# +# FILE NAME ELEMENTS +# ------------------ +# The value of all fields whose name ends with "file" or "files" are +# name or names of other files. +# For example, see "tls.certfiles" and "tls.client.certfile". +# The value of each of these fields can be a simple filename, a +# relative path, or an absolute path. If the value is not an +# absolute path, it is interpreted as being relative to the location +# of this configuration file. +# +############################################################################# + +############################################################################# +# Client Configuration +############################################################################# + +# URL of the Fabric-ca-server (default: http://localhost:7054) +url: https://localhost:9054 + +# Membership Service Provider (MSP) directory +# This is useful when the client is used to enroll a peer or orderer, so +# that the enrollment artifacts are stored in the format expected by MSP. +mspdir: msp + +############################################################################# +# TLS section for secure socket connection +# +# certfiles - PEM-encoded list of trusted root certificate files +# client: +# certfile - PEM-encoded certificate file for when client authentication +# is enabled on server +# keyfile - PEM-encoded key file for when client authentication +# is enabled on server +############################################################################# +tls: + # TLS section for secure socket connection + certfiles: + client: + certfile: + keyfile: + +############################################################################# +# Certificate Signing Request section for generating the CSR for an +# enrollment certificate (ECert) +# +# cn - Used by CAs to determine which domain the certificate is to be generated for +# +# keyrequest - Properties to use when generating a private key. +# algo - key generation algorithm to use +# size - size of key to generate +# reusekey - reuse existing key during reenrollment +# +# serialnumber - The serialnumber field, if specified, becomes part of the issued +# certificate's DN (Distinguished Name). For example, one use case for this is +# a company with its own CA (Certificate Authority) which issues certificates +# to its employees and wants to include the employee's serial number in the DN +# of its issued certificates. +# WARNING: The serialnumber field should not be confused with the certificate's +# serial number which is set by the CA but is not a component of the +# certificate's DN. +# +# names - A list of name objects. Each name object should contain at least one +# "C", "L", "O", or "ST" value (or any combination of these) where these +# are abbreviations for the following: +# "C": country +# "L": locality or municipality (such as city or town name) +# "O": organization +# "OU": organizational unit, such as the department responsible for owning the key; +# it can also be used for a "Doing Business As" (DBS) name +# "ST": the state or province +# +# Note that the "OU" or organizational units of an ECert are always set according +# to the values of the identities type and affiliation. OUs are calculated for an enroll +# as OU=, OU=, ..., OU=. 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 diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/IssuerPublicKey b/explorer/organizations/ordererOrganizations/example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..3c198c5e Binary files /dev/null and b/explorer/organizations/ordererOrganizations/example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/ordererOrganizations/example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..90037e04 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041 +xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw +0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c +-----END PUBLIC KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/cacerts/localhost-9054-ca-orderer.pem b/explorer/organizations/ordererOrganizations/example.com/msp/cacerts/localhost-9054-ca-orderer.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/cacerts/localhost-9054-ca-orderer.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/config.yaml b/explorer/organizations/ordererOrganizations/example.com/msp/config.yaml new file mode 100644 index 00000000..2578338b --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/config.yaml @@ -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 diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/keystore/03020d5808061bd621cb773e2d0972c91901c26f70220415bb8773a9f95211a6_sk b/explorer/organizations/ordererOrganizations/example.com/msp/keystore/03020d5808061bd621cb773e2d0972c91901c26f70220415bb8773a9f95211a6_sk new file mode 100644 index 00000000..817baae3 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/keystore/03020d5808061bd621cb773e2d0972c91901c26f70220415bb8773a9f95211a6_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNfio9dDl6Hg/ln9I +6O/XKKNNjdI8ZYLHZW5OPMgX8nmhRANCAASKgo2kgfTh2WgZOC8qa88W/Z2LKrio +dMEf0MGX7MC/zuslC4hswCZ9Zme1n6PH5ecCubOJ9duv/7ziSDfAX8Xe +-----END PRIVATE KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/signcerts/cert.pem b/explorer/organizations/ordererOrganizations/example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..91530c44 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/signcerts/cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem b/explorer/organizations/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerPublicKey b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..3c198c5e Binary files /dev/null and b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..90037e04 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041 +xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw +0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c +-----END PUBLIC KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/localhost-9054-ca-orderer.pem b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/localhost-9054-ca-orderer.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/localhost-9054-ca-orderer.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml new file mode 100644 index 00000000..2578338b --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml @@ -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 diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/166d06ceec9747aa34d0308773dd0752204815703041f7399e0e163b98ec2007_sk b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/166d06ceec9747aa34d0308773dd0752204815703041f7399e0e163b98ec2007_sk new file mode 100644 index 00000000..db8b3d81 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/166d06ceec9747aa34d0308773dd0752204815703041f7399e0e163b98ec2007_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglJMlIteo3JCaevqF +Is9Ob/QyBLPew+Pj32Lb7dieWa6hRANCAAQs9igeKkRjtY+u9/nVSJ4T/tB26U5b +r7gXTjx0rp5S1hkBCk0RMQQWCY7CR4ddqgmrZX1mSHs1wv7kH19kayA3 +-----END PRIVATE KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/cert.pem b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..96059147 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerPublicKey b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerPublicKey new file mode 100644 index 00000000..3c198c5e Binary files /dev/null and b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerPublicKey differ diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerRevocationPublicKey b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerRevocationPublicKey new file mode 100644 index 00000000..90037e04 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041 +xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw +0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c +-----END PUBLIC KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/keystore/2341c52f926acddd8e98fb38e49a2a9e0a631f39f3078ca3a944d91e22bba88a_sk b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/keystore/2341c52f926acddd8e98fb38e49a2a9e0a631f39f3078ca3a944d91e22bba88a_sk new file mode 100644 index 00000000..4690e701 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/keystore/2341c52f926acddd8e98fb38e49a2a9e0a631f39f3078ca3a944d91e22bba88a_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH +CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh ++xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf +-----END PRIVATE KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt new file mode 100644 index 00000000..9eac8e79 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key new file mode 100644 index 00000000..4690e701 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgccOq64qJ4f0E+IiH +CyRfTSLRYeSOU5Ik8ERrmgHMbJmhRANCAARogICfZ9dzQmWm+USoDT1iS4in38Rh ++xsD8CA02lSEKNaHnjbDGFWGGFtBU5KHbFJfQ/Kr23I5J3UuQk+zF9bf +-----END PRIVATE KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/signcerts/cert.pem b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/signcerts/cert.pem new file mode 100644 index 00000000..9eac8e79 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/signcerts/cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/tlscacerts/tls-localhost-9054-ca-orderer.pem b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/tlscacerts/tls-localhost-9054-ca-orderer.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/tlscacerts/tls-localhost-9054-ca-orderer.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem b/explorer/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerPublicKey b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..3c198c5e Binary files /dev/null and b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..90037e04 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmGd4woj9AGiNgZkhq6QejXA2hNdQ2041 +xZke7Fjk/K08C6VhPttpRp/FhXhzW/AwTTBlN3WqDeH4q/xMY93wrWCrwDHltukw +0PhF+G8WiriIrOGi9srSDu1RUqCB9N0c +-----END PUBLIC KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/localhost-9054-ca-orderer.pem b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/localhost-9054-ca-orderer.pem new file mode 100644 index 00000000..f0c16524 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/localhost-9054-ca-orderer.pem @@ -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----- diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml new file mode 100644 index 00000000..2578338b --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml @@ -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 diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/11411ee96dce74e321dfec6b44e41228191e35af730dcedc2c10bdbc5d4540ee_sk b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/11411ee96dce74e321dfec6b44e41228191e35af730dcedc2c10bdbc5d4540ee_sk new file mode 100644 index 00000000..182b71ca --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/11411ee96dce74e321dfec6b44e41228191e35af730dcedc2c10bdbc5d4540ee_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgH42U67ndrB656Qnr +AmMuOjT+UzIi8irGeNiukhvjp+uhRANCAAQ2gprnje3PVwHszyFhjp0/MIE63GGl +pkqbFDPyw+3FuFeCqc6SY2SKNRGgQh2r6Qsz11M99tSFDmg1Tfay7H+9 +-----END PRIVATE KEY----- diff --git a/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/cert.pem b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..5be36843 --- /dev/null +++ b/explorer/organizations/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/cert.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem b/explorer/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem new file mode 100644 index 00000000..0a859125 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.json b/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.json new file mode 100644 index 00000000..10ffe0aa --- /dev/null +++ b/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.json @@ -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 + } + } + } +} diff --git a/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.yaml b/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.yaml new file mode 100644 index 00000000..27cfa77a --- /dev/null +++ b/explorer/organizations/peerOrganizations/org1.example.com/connection-org1.yaml @@ -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 diff --git a/explorer/organizations/peerOrganizations/org1.example.com/fabric-ca-client-config.yaml b/explorer/organizations/peerOrganizations/org1.example.com/fabric-ca-client-config.yaml new file mode 100644 index 00000000..fc41b2e1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org1.example.com/fabric-ca-client-config.yaml @@ -0,0 +1,168 @@ + +############################################################################# +# This is a configuration file for the fabric-ca-client command. +# +# COMMAND LINE ARGUMENTS AND ENVIRONMENT VARIABLES +# ------------------------------------------------ +# Each configuration element can be overridden via command line +# arguments or environment variables. The precedence for determining +# the value of each element is as follows: +# 1) command line argument +# Examples: +# a) --url https://localhost:7054 +# To set the fabric-ca server url +# b) --tls.client.certfile certfile.pem +# To set the client certificate for TLS +# 2) environment variable +# Examples: +# a) FABRIC_CA_CLIENT_URL=https://localhost:7054 +# To set the fabric-ca server url +# b) FABRIC_CA_CLIENT_TLS_CLIENT_CERTFILE=certfile.pem +# To set the client certificate for TLS +# 3) configuration file +# 4) default value (if there is one) +# All default values are shown beside each element below. +# +# FILE NAME ELEMENTS +# ------------------ +# The value of all fields whose name ends with "file" or "files" are +# name or names of other files. +# For example, see "tls.certfiles" and "tls.client.certfile". +# The value of each of these fields can be a simple filename, a +# relative path, or an absolute path. If the value is not an +# absolute path, it is interpreted as being relative to the location +# of this configuration file. +# +############################################################################# + +############################################################################# +# Client Configuration +############################################################################# + +# URL of the Fabric-ca-server (default: http://localhost:7054) +url: https://localhost: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=, OU=, ..., OU=. 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 diff --git a/explorer/organizations/peerOrganizations/org1.example.com/msp/IssuerPublicKey b/explorer/organizations/peerOrganizations/org1.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..a71f74d5 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org1.example.com/msp/IssuerPublicKey @@ -0,0 +1,20 @@ + +OU +Role + EnrollmentID +RevocationHandleD + ڪE`#)zyh" =?WhV@JWLM\CN|D + LI{'E1 khĺHV ACiX\-! "Xj,"C"D + [mO9uf[=rOC*..w}8X,A ב 9 o[݊Fwkhª)"D + n,L-kj0v{6bHIW1Ӈ F\k'!94){02"D + DVG!U?uYy +}^yk :]r|_IP8jI"D + Nj~-FO `Y|wu| kO^P6qƶM,; Fo$߅}0O* + $XO(_({m-rz^{k] _ҹ͟8Ko.P bxK!.IK+^ Pp d[" Ϥ~37oPP +L$ka/2D + D[GI + (!gn}Z;o헖: kfjњ)듁t\]d:D + !sg$,l wLBU$# +Y@< SG-|&9alUʊlUʊlUʊlUʊlUʊ, OU=, ..., OU=. 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 diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem b/explorer/organizations/peerOrganizations/org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/config.yaml b/explorer/organizations/peerOrganizations/org2.example.com/msp/config.yaml new file mode 100644 index 00000000..de5a140f --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/config.yaml @@ -0,0 +1,14 @@ +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 diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/keystore/5740f3374a28590a609489a3f16b3f8b3100622aac49b6b383996b9a836e13e7_sk b/explorer/organizations/peerOrganizations/org2.example.com/msp/keystore/5740f3374a28590a609489a3f16b3f8b3100622aac49b6b383996b9a836e13e7_sk new file mode 100644 index 00000000..b7b9879e --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/keystore/5740f3374a28590a609489a3f16b3f8b3100622aac49b6b383996b9a836e13e7_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgY9UZmhbWjCf3vAUk +P9bDZ7vvh7XRB5mbVAaLx2VYfjChRANCAASr1kkzm/QEwS5F1gobY0rrsFsQJBLd +vqlRrJMVv47TGMO6VNBx+/Yly8c9svPDNLl7U7x+kJ9sMGTPwTJUvtdP +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/signcerts/cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..429e1ae1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/signcerts/cert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICPDCCAeOgAwIBAgIUGF/fK7rY4Q8UruOYTmOJlCxZ5p8wCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMF0x +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDzANBgNVBAsTBmNsaWVudDEOMAwGA1UEAxMFYWRtaW4wWTAT +BgcqhkjOPQIBBggqhkjOPQMBBwNCAASr1kkzm/QEwS5F1gobY0rrsFsQJBLdvqlR +rJMVv47TGMO6VNBx+/Yly8c9svPDNLl7U7x+kJ9sMGTPwTJUvtdPo3IwcDAOBgNV +HQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU8uTbBRXkVWR6U+tq +4ZC5EMAXmDAwHwYDVR0jBBgwFoAUCf9u5MK36oIJMXxy+V2ufkLd2+MwEAYDVR0R +BAkwB4IFYWVyYXQwCgYIKoZIzj0EAwIDRwAwRAIgatLpg6fuRdbnAw7GFH/0Ss1Z +fN4ATEL+qin1gFGIqrsCIHDhCU8ESLKZy0L4yzaS28UZJIaBGu3+KPoGM07CHwBw +-----END CERTIFICATE----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/msp/tlscacerts/ca.crt b/explorer/organizations/peerOrganizations/org2.example.com/msp/tlscacerts/ca.crt new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/msp/tlscacerts/ca.crt @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml new file mode 100644 index 00000000..de5a140f --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml @@ -0,0 +1,14 @@ +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 diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/0d0763e2b8f5df41e2aef15ed9ae79002529e0e42fa8b4e6e7774fbe6bf08a4a_sk b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/0d0763e2b8f5df41e2aef15ed9ae79002529e0e42fa8b4e6e7774fbe6bf08a4a_sk new file mode 100644 index 00000000..36b925e8 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/0d0763e2b8f5df41e2aef15ed9ae79002529e0e42fa8b4e6e7774fbe6bf08a4a_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqUJSuNhZCCXu38Ho +MOVbvMiomto/ziUUD6WsZm7MB4OhRANCAASQaIK90NMKrtOE2lnSVd8ye6tePcP+ +Jtn5Qi3Ef6OPB8tC7F86ed/oNYV7Uczu6RTVXPN4ovYPbbsK6jZmT/kE +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..ef6a5109 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/cert.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICpjCCAkygAwIBAgIULh5Q6mvspwwZ/qYLFa9y6Eh0f9swCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMFsx +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDTALBgNVBAsTBHBlZXIxDjAMBgNVBAMTBXBlZXIwMFkwEwYH +KoZIzj0CAQYIKoZIzj0DAQcDQgAEkGiCvdDTCq7ThNpZ0lXfMnurXj3D/ibZ+UIt +xH+jjwfLQuxfOnnf6DWFe1HM7ukU1VzzeKL2D227Cuo2Zk/5BKOB3DCB2TAOBgNV +HQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUSjSxMqTk2N8dV134 +UjiSdEYFhjcwHwYDVR0jBBgwFoAUCf9u5MK36oIJMXxy+V2ufkLd2+MwIQYDVR0R +BBowGIIWcGVlcjAub3JnMi5leGFtcGxlLmNvbTBWBggqAwQFBgcIAQRKeyJhdHRy +cyI6eyJoZi5BZmZpbGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6InBlZXIw +IiwiaGYuVHlwZSI6InBlZXIifX0wCgYIKoZIzj0EAwIDSAAwRQIhAMjTN4KXqm8b +1lKQ1POIbXnDhkuz6mIvuuuCHCA1AUBAAiAfAHWoH//1iZ1ep0pO4KtJOtOom08D +u82JULoab2r5ww== +-----END CERTIFICATE----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerPublicKey differ diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerRevocationPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/keystore/970d572c12dc5e88e356103647f053052b4d7b36ffe96dec623039eca175b080_sk b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/keystore/970d572c12dc5e88e356103647f053052b4d7b36ffe96dec623039eca175b080_sk new file mode 100644 index 00000000..74807f7a --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/keystore/970d572c12dc5e88e356103647f053052b4d7b36ffe96dec623039eca175b080_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgZdvuJ7mAO75Qi+AF +MdoQUGbt/KOAr5E2Mte9ihugHZihRANCAAQYbpIN7qb/dLy+5y8Y1M8kB4E1nIoz +QJ0xQNZET6zqlQXn/ffYmvKLGZLv9UAfkfbFN028QYIHdFSuxhymtGFV +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt new file mode 100644 index 00000000..c880a09b --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC0TCCAnigAwIBAgIUGHQkeu2Ht1RBLwN6rQQxSJQHSBYwCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMFsx +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDTALBgNVBAsTBHBlZXIxDjAMBgNVBAMTBXBlZXIwMFkwEwYH +KoZIzj0CAQYIKoZIzj0DAQcDQgAEGG6SDe6m/3S8vucvGNTPJAeBNZyKM0CdMUDW +RE+s6pUF5/332JryixmS7/VAH5H2xTdNvEGCB3RUrsYcprRhVaOCAQcwggEDMA4G +A1UdDwEB/wQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD +VR0TAQH/BAIwADAdBgNVHQ4EFgQUfku79PY39gziPXAealgGIAWlGmYwHwYDVR0j +BBgwFoAUCf9u5MK36oIJMXxy+V2ufkLd2+MwLAYDVR0RBCUwI4IWcGVlcjAub3Jn +Mi5leGFtcGxlLmNvbYIJbG9jYWxob3N0MFYGCCoDBAUGBwgBBEp7ImF0dHJzIjp7 +ImhmLkFmZmlsaWF0aW9uIjoiIiwiaGYuRW5yb2xsbWVudElEIjoicGVlcjAiLCJo +Zi5UeXBlIjoicGVlciJ9fTAKBggqhkjOPQQDAgNHADBEAiAHvREfLQrv9Jdlsn6K +kYjBF++jy/E3JD+AHjzeXRn74AIgcTETKNSDyWyuqMASSazxKg8gc5SE+C/9ZUxX +INsW2tk= +-----END CERTIFICATE----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key new file mode 100644 index 00000000..74807f7a --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgZdvuJ7mAO75Qi+AF +MdoQUGbt/KOAr5E2Mte9ihugHZihRANCAAQYbpIN7qb/dLy+5y8Y1M8kB4E1nIoz +QJ0xQNZET6zqlQXn/ffYmvKLGZLv9UAfkfbFN028QYIHdFSuxhymtGFV +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/signcerts/cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/signcerts/cert.pem new file mode 100644 index 00000000..c880a09b --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/signcerts/cert.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC0TCCAnigAwIBAgIUGHQkeu2Ht1RBLwN6rQQxSJQHSBYwCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMFsx +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDTALBgNVBAsTBHBlZXIxDjAMBgNVBAMTBXBlZXIwMFkwEwYH +KoZIzj0CAQYIKoZIzj0DAQcDQgAEGG6SDe6m/3S8vucvGNTPJAeBNZyKM0CdMUDW +RE+s6pUF5/332JryixmS7/VAH5H2xTdNvEGCB3RUrsYcprRhVaOCAQcwggEDMA4G +A1UdDwEB/wQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD +VR0TAQH/BAIwADAdBgNVHQ4EFgQUfku79PY39gziPXAealgGIAWlGmYwHwYDVR0j +BBgwFoAUCf9u5MK36oIJMXxy+V2ufkLd2+MwLAYDVR0RBCUwI4IWcGVlcjAub3Jn +Mi5leGFtcGxlLmNvbYIJbG9jYWxob3N0MFYGCCoDBAUGBwgBBEp7ImF0dHJzIjp7 +ImhmLkFmZmlsaWF0aW9uIjoiIiwiaGYuRW5yb2xsbWVudElEIjoicGVlcjAiLCJo +Zi5UeXBlIjoicGVlciJ9fTAKBggqhkjOPQQDAgNHADBEAiAHvREfLQrv9Jdlsn6K +kYjBF++jy/E3JD+AHjzeXRn74AIgcTETKNSDyWyuqMASSazxKg8gc5SE+C/9ZUxX +INsW2tk= +-----END CERTIFICATE----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/tlscacerts/tls-localhost-8054-ca-org2.pem b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/tlscacerts/tls-localhost-8054-ca-org2.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/tlscacerts/tls-localhost-8054-ca-org2.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml new file mode 100644 index 00000000..de5a140f --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml @@ -0,0 +1,14 @@ +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 diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/36dba2a3e39c661c2e4b078ce7e1040b36bf1133cf6b18d58c8e1ddcc56fee86_sk b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/36dba2a3e39c661c2e4b078ce7e1040b36bf1133cf6b18d58c8e1ddcc56fee86_sk new file mode 100644 index 00000000..67875c2f --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/36dba2a3e39c661c2e4b078ce7e1040b36bf1133cf6b18d58c8e1ddcc56fee86_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgR6xpvPdG89aKcm2v +9KRWLL6IClis5as9ONZaPt+LeOuhRANCAASwTtI4yiuH4mRjFntf7gUnGP7RDYVa +6ZISbVcttEmIM4DigGW3tU7TVQJJ7UlW/qARFfpHw/ut0E6nwou50O+U +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..dca8fff8 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/cert.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICnjCCAkWgAwIBAgIUAQg3jGq6qv2v1z9POqVCTxUdBgcwCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMGAx +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDjAMBgNVBAsTBWFkbWluMRIwEAYDVQQDEwlvcmcyYWRtaW4w +WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASwTtI4yiuH4mRjFntf7gUnGP7RDYVa +6ZISbVcttEmIM4DigGW3tU7TVQJJ7UlW/qARFfpHw/ut0E6nwou50O+Uo4HQMIHN +MA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRBCR8WsDjE +pOqEuwIi271cKHuInzAfBgNVHSMEGDAWgBQJ/27kwrfqggkxfHL5Xa5+Qt3b4zAQ +BgNVHREECTAHggVhZXJhdDBbBggqAwQFBgcIAQRPeyJhdHRycyI6eyJoZi5BZmZp +bGlhdGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6Im9yZzJhZG1pbiIsImhmLlR5 +cGUiOiJhZG1pbiJ9fTAKBggqhkjOPQQDAgNHADBEAiBwg8i5bqbeDPeBxhLVLMlD +hASarvaek8D+wLtK5D+hcQIgKOs/dCI5lVvnpXwPBiO+shZ9ueYUQvEbSn/AwFR/ +yec= +-----END CERTIFICATE----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerPublicKey new file mode 100644 index 00000000..6b40123a Binary files /dev/null and b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerPublicKey differ diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerRevocationPublicKey b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerRevocationPublicKey new file mode 100644 index 00000000..1f70cd40 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/IssuerRevocationPublicKey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQlHw5Zb5r6iOUuPVd+U6mc1Un9wacSHY +XTYYrqX5bWD+k+jkjhS2wsCoQwlteOB0fNLa2rt90xbdIlouiALPc4YXAu3G67YV +SUGmVrLDCbRN07eoJMNT1Sx10mWiabmc +-----END PUBLIC KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem new file mode 100644 index 00000000..b31e06b1 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/localhost-8054-ca-org2.pem @@ -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----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml new file mode 100644 index 00000000..de5a140f --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml @@ -0,0 +1,14 @@ +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 diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/4f64511357133bdf757f2f3127d84f019d00d0e79190465b41d6da36ec6d86d4_sk b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/4f64511357133bdf757f2f3127d84f019d00d0e79190465b41d6da36ec6d86d4_sk new file mode 100644 index 00000000..f6fe2856 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/4f64511357133bdf757f2f3127d84f019d00d0e79190465b41d6da36ec6d86d4_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgA/HcWT5kkw8h62uT +KBLiHTwniWBVXjv20iWy/VmOhyyhRANCAAS7RD3PxcYEjqkF9cYDXJHP0JdT9Kka +KlEXuZX+qdgUSqLZ1FYa+ycvTih43Mcpr/1x9GutfH0tj+oHr8dD+nc4 +-----END PRIVATE KEY----- diff --git a/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/cert.pem b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/cert.pem new file mode 100644 index 00000000..fceea858 --- /dev/null +++ b/explorer/organizations/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/cert.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICmTCCAj+gAwIBAgIUcbGBU2peN3m3sX6MWeZbBEYLZTMwCgYIKoZIzj0EAwIw +bDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy +c2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn +Mi5leGFtcGxlLmNvbTAeFw0yMjAzMTQwMDQ4MDBaFw0yMzAzMTQwMDUzMDBaMF0x +CzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEChML +SHlwZXJsZWRnZXIxDzANBgNVBAsTBmNsaWVudDEOMAwGA1UEAxMFdXNlcjEwWTAT +BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS7RD3PxcYEjqkF9cYDXJHP0JdT9KkaKlEX +uZX+qdgUSqLZ1FYa+ycvTih43Mcpr/1x9GutfH0tj+oHr8dD+nc4o4HNMIHKMA4G +A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR9GgaIGucPngYc +eEGVfNr0oKkCDDAfBgNVHSMEGDAWgBQJ/27kwrfqggkxfHL5Xa5+Qt3b4zAQBgNV +HREECTAHggVhZXJhdDBYBggqAwQFBgcIAQRMeyJhdHRycyI6eyJoZi5BZmZpbGlh +dGlvbiI6IiIsImhmLkVucm9sbG1lbnRJRCI6InVzZXIxIiwiaGYuVHlwZSI6ImNs +aWVudCJ9fTAKBggqhkjOPQQDAgNIADBFAiEApLVOx5eS1Dsmi8ipXBfkqgRfJS4A +dCvxpYH52X2hqgwCIChjYE50H/2p/BHcliO1/OOfboa26mKo9PlLS/rILQYy +-----END CERTIFICATE----- diff --git a/supply-chain-client/invoker.js b/supply-chain-client/invoker.js index ef8204de..654c4bd2 100644 --- a/supply-chain-client/invoker.js +++ b/supply-chain-client/invoker.js @@ -58,9 +58,9 @@ class FabricSampleService { // Get the contract from the network. this.contract = network.getContract(chaincodeName); - console.log('Adding initial inventory to Ledger'); - await this.contract.submitTransaction('InitLedger'); - console.log('Done, applicaiton Ready!'); + //console.log('Adding initial inventory to Ledger'); + //await this.contract.submitTransaction('InitLedger'); + //console.log('Done, applicaiton Ready!'); } catch (error) { console.error(`******** FAILED to startup the FabicSampleService: ${error}`); diff --git a/supply-chain-client/transUtil.js b/supply-chain-client/transUtil.js new file mode 100644 index 00000000..5d159fc3 --- /dev/null +++ b/supply-chain-client/transUtil.js @@ -0,0 +1,22 @@ +const FabricSampleService = require("./invoker.js"); +let fss = new FabricSampleService() +fss.init().then(() => { + //create asset + fss.add_fabric({ ID: "asset40", Color: "Red", Size: 100, AppraisedValue: 500, Owner: "GK" }) + .then((r1) => { + console.log("Created asset:" + r1) + fss.add_fabric({ ID: "asset41", Color: "Blue", Size: 10, AppraisedValue: 100, Owner: "Appu" }) + .then((r2) => { + console.log("Created asset:" + r2) + fss.add_fabric({ ID: "asset42", Color: "Blue", Size: 10, AppraisedValue: 100, Owner: "Appu" }) + .then((r3) => { + console.log("Created asset:" + r3) + fss.change_owner("asset40", "Appu") + }).then(() => { + fss.change_owner("asset41", "Devu") + }).then(() => { + fss.change_owner("asset42", "Malu") + }) + }) + }) +}) \ No newline at end of file