Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit aec90b3

Browse files
Firas Qutishattroyronda
authored andcommitted
[FAB-8762] Enable mutual tls for rc1 test
Change-Id: I366198747396a79a87a9e11463528ee46287e203 Signed-off-by: Firas Qutishat <firas.qutishat@securekey.com> Signed-off-by: Troy Ronda <troy@troyronda.com>
1 parent f4dd6f9 commit aec90b3

File tree

7 files changed

+34
-20
lines changed

7 files changed

+34
-20
lines changed

pkg/core/config/config.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,12 +1268,10 @@ func (c *Config) CryptoConfigPath() string {
12681268
// TLSClientCerts loads the client's certs for mutual TLS
12691269
// It checks the config for embedded pem files before looking for cert files
12701270
func (c *Config) TLSClientCerts() ([]tls.Certificate, error) {
1271-
config, err := c.NetworkConfig()
1271+
clientConfig, err := c.Client()
12721272
if err != nil {
12731273
return nil, err
12741274
}
1275-
1276-
clientConfig := config.Client
12771275
var clientCerts tls.Certificate
12781276
var cb, kb []byte
12791277
cb, err = clientConfig.TLSCerts.Client.Cert.Bytes()
@@ -1296,7 +1294,7 @@ func (c *Config) TLSClientCerts() ([]tls.Certificate, error) {
12961294
if clientConfig.TLSCerts.Client.Key.Pem != "" {
12971295
kb = []byte(clientConfig.TLSCerts.Client.Key.Pem)
12981296
} else if clientConfig.TLSCerts.Client.Key.Path != "" {
1299-
kb, err = loadByteKeyOrCertFromFile(&clientConfig, true)
1297+
kb, err = loadByteKeyOrCertFromFile(clientConfig, true)
13001298
if err != nil {
13011299
return nil, errors.Wrapf(err, "Failed to load key from file path '%s'", clientConfig.TLSCerts.Client.Key.Path)
13021300
}

test/fixtures/config/config_test.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@ client:
110110

111111
# [Optional]. Client key and cert for TLS handshake with peers and orderers
112112
client:
113-
keyfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
114-
certfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
113+
key:
114+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
115+
cert:
116+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
115117

116118
#
117119
# [Optional]. But most apps would have this section so that channel objects can be constructed

test/fixtures/config/config_test_local.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,10 @@ client:
111111

112112
# [Optional]. Client key and cert for TLS handshake with peers and orderers
113113
client:
114-
keyfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
115-
certfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
114+
key:
115+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
116+
cert:
117+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
116118

117119
#
118120
# [Optional]. But most apps would have this section so that channel objects can be constructed

test/fixtures/config/config_test_no_orderer.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@ client:
110110

111111
# [Optional]. Client key and cert for TLS handshake with peers and orderers
112112
client:
113-
keyfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
114-
certfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
113+
key:
114+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
115+
cert:
116+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
115117

116118
#
117119
# [Optional]. But most apps would have this section so that channel objects can be constructed

test/fixtures/config/config_test_no_orderer_local.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,10 @@ client:
112112

113113
# [Optional]. Client key and cert for TLS handshake with peers and orderers
114114
client:
115-
keyfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
116-
certfile: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
115+
key:
116+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
117+
cert:
118+
path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem
117119

118120
#
119121
# [Optional]. But most apps would have this section so that channel objects can be constructed

test/fixtures/dockerenv/devstable-env.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/bash
12
#
23
# Copyright SecureKey Technologies Inc. All Rights Reserved.
34
#
@@ -21,10 +22,10 @@ export FABRIC_COUCHDB_FIXTURE_TAG="DEV_STABLE"
2122
export FABRIC_BUILDER_FIXTURE_TAG="DEV_STABLE"
2223

2324
# override SDK configuration that loads crypto-config
24-
FABRIC_SDK_CLIENT_CRYPTOCONFIG_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config"
25-
FABRIC_SDK_CLIENT_ORDERERS_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
26-
FABRIC_SDK_CLIENT_PEERS_PEER0_ORG1_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
27-
FABRIC_SDK_CLIENT_PEERS_PEER0_ORG2_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem"
25+
export FABRIC_SDK_CLIENT_CRYPTOCONFIG_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config"
26+
export FABRIC_SDK_CLIENT_ORDERERS_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
27+
export FABRIC_SDK_CLIENT_PEERS_PEER0_ORG1_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
28+
export FABRIC_SDK_CLIENT_PEERS_PEER0_ORG2_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem"
2829

2930
# override PEER and ORDERER configuration for mutual TLS
3031
export CORE_PEER_TLS_CLIENTAUTHREQUIRED=true

test/fixtures/dockerenv/prerelease-env.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/bash
12
#
23
# Copyright SecureKey Technologies Inc. All Rights Reserved.
34
#
@@ -18,7 +19,13 @@ export FABRIC_BASEOS_FIXTURE_TAG="0.4.6"
1819
export FABRIC_BASEIMAGE_FIXTURE_TAG="0.4.6"
1920

2021
# override configuration that loads crypto-config
21-
FABRIC_SDK_CLIENT_CRYPTOCONFIG_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config"
22-
FABRIC_SDK_CLIENT_ORDERERS_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
23-
FABRIC_SDK_CLIENT_PEERS_PEER0_ORG1_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
24-
FABRIC_SDK_CLIENT_PEERS_PEER0_ORG2_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem"
22+
export FABRIC_SDK_CLIENT_CRYPTOCONFIG_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config"
23+
export FABRIC_SDK_CLIENT_ORDERERS_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
24+
export FABRIC_SDK_CLIENT_PEERS_PEER0_ORG1_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
25+
export FABRIC_SDK_CLIENT_PEERS_PEER0_ORG2_EXAMPLE_COM_TLSCACERTS_PATH='${GOPATH}'"/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/fabric/${FABRIC_CRYPTOCONFIG_VERSION}/crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem"
26+
27+
# override PEER and ORDERER configuration for mutual TLS
28+
export CORE_PEER_TLS_CLIENTAUTHREQUIRED=true
29+
export CORE_PEER_TLS_CLIENTROOTCAS_FILES="/etc/hyperledger/tls/peer/ca.crt /etc/hyperledger/mutual_tls/peer/client_sdk_go-ca_root.pem"
30+
export ORDERER_GENERAL_TLS_CLIENTAUTHENABLED=true
31+
export ORDERER_GENERAL_TLS_CLIENTROOTCAS="[/etc/hyperledger/tls/orderer/ca.crt,/etc/hyperledger/mutual_tls/orderer/client_sdk_go-ca_root.pem]"

0 commit comments

Comments
 (0)