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

Commit 9dad8ae

Browse files
committed
[FAB-7292] Configure fabric-ca server correctly
Change-Id: Ib0ba9eba3b14e2aeaaa78ec826ba2bfda87e865e Signed-off-by: Divyank Katira <Divyank.Katira@securekey.com>
1 parent d3c36d4 commit 9dad8ae

File tree

2 files changed

+62
-11
lines changed

2 files changed

+62
-11
lines changed

test/fixtures/docker-compose.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ services:
1414
- FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
1515
- FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/8791d1363e89515f9afa042b0693a2c704bb8dd95d28f97d3549a2b9e3c4352d_sk
1616
- FABRIC_CA_SERVER_TLS_ENABLED=true
17-
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/server_wild_org1or2.example.com.pem
18-
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/server_wild_org1or2.example.com-key.pem
17+
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/tls/server_wild_org1or2.example.com.pem
18+
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/tls/server_wild_org1or2.example.com-key.pem
1919
#comment out logging.driver in order to render the debug logs
2020
logging:
21-
driver: none
21+
driver: none
2222
ports:
2323
- "7054:7054"
2424
command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
2525
volumes:
26-
- ./channel/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
27-
- ./tls/fabricca/certs/server:/etc/hyperledger/fabric-ca-server-config
26+
- ./channel/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config/
27+
- ./tls/fabricca/certs/server/:/etc/hyperledger/fabric-ca-server-config/tls
2828
networks:
2929
default:
3030
aliases:
@@ -38,17 +38,17 @@ services:
3838
- FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
3939
- FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/a259204dbd6adb14c05a6e02de94567b2a9f7dbe9e6a063ba767d42bf0b544c1_sk
4040
- FABRIC_CA_SERVER_TLS_ENABLED=true
41-
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/server_wild_org1or2.example.com.pem
42-
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/server_wild_org1or2.example.com-key.pem
43-
#comment out logging.driver in order to render the debug logs
41+
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/tls/server_wild_org1or2.example.com.pem
42+
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/tls/server_wild_org1or2.example.com-key.pem
43+
#comment out logging.driver in order to render the debug logs
4444
logging:
45-
driver: none
45+
driver: none
4646
ports:
4747
- "8054:7054"
4848
command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
4949
volumes:
50-
- ./channel/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
51-
- ./tls/fabricca/certs/server:/etc/hyperledger/fabric-ca-server-config
50+
- ./channel/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config/
51+
- ./tls/fabricca/certs/server:/etc/hyperledger/fabric-ca-server-config/tls
5252
networks:
5353
default:
5454
aliases:

test/integration/fabric_ca_test.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ import (
1515
"testing"
1616
"time"
1717

18+
"github.com/hyperledger/fabric-sdk-go/api/apiconfig"
1819
ca "github.com/hyperledger/fabric-sdk-go/api/apifabca"
1920

2021
client "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client"
2122
"github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/identity"
2223
kvs "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/keyvaluestore"
24+
"github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/peer"
25+
"github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/signingmgr"
2326

2427
cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp"
2528
fabricCAClient "github.com/hyperledger/fabric-sdk-go/pkg/fabric-ca-client"
@@ -172,6 +175,54 @@ func TestEnrollOrg2(t *testing.T) {
172175
}
173176
}
174177

178+
func TestEnrollAndTransact(t *testing.T) {
179+
mspID, err := testFabricConfig.MspID(org1Name)
180+
if err != nil {
181+
t.Fatalf("GetMspId() returned error: %v", err)
182+
}
183+
peers, err := testFabricConfig.PeersConfig(org1Name)
184+
if err != nil {
185+
t.Fatalf("Failed to get peer config : %s", err)
186+
}
187+
networkPeer := &apiconfig.NetworkPeer{PeerConfig: peers[0], MspID: mspID}
188+
testPeer, err := peer.NewPeerFromConfig(networkPeer, testFabricConfig)
189+
if err != nil {
190+
t.Fatalf("Failed to create peer from config : %s", err)
191+
}
192+
193+
cryptoSuiteProvider, err := cryptosuite.GetSuiteByConfig(testFabricConfig)
194+
if err != nil {
195+
t.Fatalf("Failed getting cryptosuite from config : %s", err)
196+
}
197+
signingManager, err := signingmgr.NewSigningManager(cryptoSuiteProvider, testFabricConfig)
198+
if err != nil {
199+
t.Fatalf("Could not create signing manager: %s", err)
200+
}
201+
202+
caClient, err := fabricCAClient.NewFabricCAClient(org1Name, testFabricConfig, cryptoSuiteProvider)
203+
if err != nil {
204+
t.Fatalf("NewFabricCAClient returned error: %v", err)
205+
}
206+
207+
key, cert, err := caClient.Enroll("admin", "adminpw")
208+
if err != nil {
209+
t.Fatalf("Enroll returned error: %v", err)
210+
}
211+
212+
myUser := identity.NewUser("myUser", mspID)
213+
myUser.SetEnrollmentCertificate(cert)
214+
myUser.SetPrivateKey(key)
215+
216+
testClient := client.NewClient(testFabricConfig)
217+
testClient.SetUserContext(myUser)
218+
testClient.SetSigningManager(signingManager)
219+
220+
_, err = testClient.QueryChannels(testPeer)
221+
if err != nil {
222+
t.Fatalf("Failed to query with enrolled user : %s", err)
223+
}
224+
}
225+
175226
func createRandomName() string {
176227
rand.Seed(time.Now().UnixNano())
177228
return "user" + strconv.Itoa(rand.Intn(500000))

0 commit comments

Comments
 (0)