Skip to content

Commit ce7aca8

Browse files
mastersingh24Gerrit Code Review
authored and
Gerrit Code Review
committed
Merge "External launch metadata uses PEM encoding"
2 parents f4c7914 + f52af9a commit ce7aca8

File tree

4 files changed

+23
-24
lines changed

4 files changed

+23
-24
lines changed

core/container/externalbuilders/externalbuilders.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -381,9 +381,9 @@ func (b *Builder) Release(buildContext *BuildContext) error {
381381
type RunConfig struct {
382382
CCID string `json:"chaincode_id"`
383383
PeerAddress string `json:"peer_address"`
384-
ClientCert []byte `json:"client_cert"`
385-
ClientKey []byte `json:"client_key"`
386-
RootCert []byte `json:"root_cert"`
384+
ClientCert string `json:"client_cert"` // PEM encoded client certifcate
385+
ClientKey string `json:"client_key"` // PEM encoded client key
386+
RootCert string `json:"root_cert"` // PEM encoded peer chaincode certificate
387387
}
388388

389389
type RunStatus struct {
@@ -422,9 +422,9 @@ func (b *Builder) Run(ccid, bldDir string, peerConnection *ccintf.PeerConnection
422422
}
423423

424424
if peerConnection.TLSConfig != nil {
425-
lc.ClientCert = peerConnection.TLSConfig.ClientCert
426-
lc.ClientKey = peerConnection.TLSConfig.ClientKey
427-
lc.RootCert = peerConnection.TLSConfig.RootCert
425+
lc.ClientCert = string(peerConnection.TLSConfig.ClientCert)
426+
lc.ClientKey = string(peerConnection.TLSConfig.ClientKey)
427+
lc.RootCert = string(peerConnection.TLSConfig.RootCert)
428428
}
429429

430430
launchDir, err := ioutil.TempDir("", "fabric-run")
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
#!/bin/bash
22

3-
OUTPUT_JSON="$(jq -S . $2/chaincode.json)"
3+
OUTPUT_JSON="$(jq -S . "$2/chaincode.json")"
44

5-
EXPECTED_JSON="$(echo '{"chaincode_id":"test-ccid","peer_address":"fake-peer-address","client_cert":"ZmFrZS1jbGllbnQtY2VydA==","client_key":"ZmFrZS1jbGllbnQta2V5","root_cert":"ZmFrZS1yb290LWNlcnQ="}' | jq -S .)"
5+
EXPECTED_JSON="$(echo '{"chaincode_id":"test-ccid","peer_address":"fake-peer-address","client_cert":"fake-client-cert","client_key":"fake-client-key","root_cert":"fake-root-cert"}' | jq -S .)"
66

77
if [ "$OUTPUT_JSON" = "$EXPECTED_JSON" ] ; then
88
exit 0
99
fi
1010

11+
echo "got $OUTPUT_JSON; want $EXPECTED_JSON"
1112
exit 1

integration/externalbuilders/binary/bin/run

+11-13
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,19 @@ fi
1414
OUTPUT=$1
1515
ARTIFACTS=$2
1616

17-
export CORE_CHAINCODE_ID_NAME="$(jq -r .chaincode_id $ARTIFACTS/chaincode.json)"
18-
export CORE_TLS_CLIENT_CERT_PATH="$ARTIFACTS/client.crt"
19-
export CORE_TLS_CLIENT_KEY_PATH="$ARTIFACTS/client.key"
17+
# shellcheck disable=SC2155
18+
export CORE_CHAINCODE_ID_NAME="$(jq -r .chaincode_id "$ARTIFACTS/chaincode.json")"
19+
export CORE_PEER_TLS_ENABLED="true"
20+
export CORE_TLS_CLIENT_CERT_FILE="$ARTIFACTS/client.crt"
21+
export CORE_TLS_CLIENT_KEY_FILE="$ARTIFACTS/client.key"
2022
export CORE_PEER_TLS_ROOTCERT_FILE="$ARTIFACTS/root.crt"
2123

22-
# Note, for strange historical reasons, the chaincode expects the cert and key
23-
# to be base64 encoded, but not the root cert.
24-
jq -r .client_cert $ARTIFACTS/chaincode.json > "$CORE_TLS_CLIENT_CERT_PATH"
25-
jq -r .client_key $ARTIFACTS/chaincode.json > "$CORE_TLS_CLIENT_KEY_PATH"
26-
jq -r .root_cert $ARTIFACTS/chaincode.json | base64 --decode > "$CORE_PEER_TLS_ROOTCERT_FILE"
24+
jq -r .client_cert "$ARTIFACTS/chaincode.json" > "$CORE_TLS_CLIENT_CERT_FILE"
25+
jq -r .client_key "$ARTIFACTS/chaincode.json" > "$CORE_TLS_CLIENT_KEY_FILE"
26+
jq -r .root_cert "$ARTIFACTS/chaincode.json" > "$CORE_PEER_TLS_ROOTCERT_FILE"
2727

28-
if [ -z "$(cat $CORE_TLS_CLIENT_CERT_PATH)" ] ; then
29-
export CORE_PEER_TLS_ENABLED=false
30-
else
31-
export CORE_PEER_TLS_ENABLED=true
28+
if [ -z "$(jq -r .client_cert "$ARTIFACTS/chaincode.json")" ]; then
29+
export CORE_PEER_TLS_ENABLED="false"
3230
fi
3331

34-
exec "$OUTPUT/chaincode" -peer.address=$(jq -r .peer_address "$ARTIFACTS/chaincode.json")
32+
exec "$OUTPUT/chaincode" -peer.address="$(jq -r .peer_address "$ARTIFACTS/chaincode.json")"

integration/externalbuilders/golang/bin/run

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ export CORE_TLS_CLIENT_CERT_FILE="$ARTIFACTS/client.crt"
2121
export CORE_TLS_CLIENT_KEY_FILE="$ARTIFACTS/client.key"
2222
export CORE_PEER_TLS_ROOTCERT_FILE="$ARTIFACTS/root.crt"
2323

24-
jq -r .root_cert "$ARTIFACTS/chaincode.json" | base64 --decode > "$CORE_PEER_TLS_ROOTCERT_FILE"
25-
jq -r .client_key "$ARTIFACTS/chaincode.json" | base64 --decode > "$CORE_TLS_CLIENT_KEY_FILE"
26-
jq -r .client_cert "$ARTIFACTS/chaincode.json" | base64 --decode > "$CORE_TLS_CLIENT_CERT_FILE"
24+
jq -r .client_cert "$ARTIFACTS/chaincode.json" > "$CORE_TLS_CLIENT_CERT_FILE"
25+
jq -r .client_key "$ARTIFACTS/chaincode.json" > "$CORE_TLS_CLIENT_KEY_FILE"
26+
jq -r .root_cert "$ARTIFACTS/chaincode.json" > "$CORE_PEER_TLS_ROOTCERT_FILE"
2727

2828
if [ -z "$(jq -r .client_cert "$ARTIFACTS/chaincode.json")" ]; then
2929
export CORE_PEER_TLS_ENABLED="false"

0 commit comments

Comments
 (0)