faric-ca-server使用https
Posted 每天看一遍,防止恋爱&&堕落
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了faric-ca-server使用https相关的知识,希望对你有一定的参考价值。
文章目录
声明使用的版本
- fabric版本如下:1.4.8
- node-sdk版本:1.4.8
- node版本:v8.11.1
- ubuntu版本:16.04
两种方法使用fabric-ca
有两种方法都能使用fabric-ca-server,下文分别采用这两种形式都打开https
- 第一种:使用二进制工具fabric-ca-server
- 第二种:使用docker容器,需要配置docker-compose.yaml
使用ca-server的docker容器打开https
配置对应的yaml文件
文件的内容如下
version: '2'
networks:
fabric-ca:
services:
ca-tls:
container_name: ca-tls
image: hyperledger/fabric-ca
command: sh -c 'fabric-ca-server start -d -b admin:adminpw --port 7052'
environment:
- FABRIC_CA_SERVER_HOME=/tmp/hyperledger/fabric-ca/crypto
- FABRIC_CA_SERVER_TLS_ENABLED=true
- FABRIC_CA_SERVER_CSR_CN=ca-tls
- FABRIC_CA_SERVER_CSR_HOSTS=ca.drm.migu.com
- FABRIC_CA_SERVER_CA_NAME=fabric-ca
- FABRIC_CA_SERVER_PORT=7052
- FABRIC_CA_SERVER_DEBUG=true
volumes:
- ~/fabric-ca-tls:/tmp/hyperledger/fabric-ca
networks:
- fabric-ca
ports:
- 7052:7052
FABRIC_CA_SERVER_CSR_HOSTS非常重要,如果你只打算在本机使用,则这里可以修改成0.0.0.0或者127.0.0.1
停止/启动docker
停止docker:
docker rm -f ca-tls
或者
docker-compose down
启动docker:
docker-compose up -d
查看容易的log
docker logs -f -t --since="2018-02-08" --tail=100 ca-tls
显示的内容大概如下
查看证书目前的ip
openssl x509 -in ~/fabric-ca-tls/crypto/ca-cert.pem -text
目前的ip地址显示为域名,所以这里不是0.0.0.0的
在其他机器上使用ca-server
下载对应的tls证书,这个.pem才是我们的tls证书
sz ~/fabric-ca-tls/crypto/ca-cert.pem
因为我们配置为域名,所以需要在使用ca-server注册用户的pc上配置其hosts,如果不配置则提示如下内容
2021-06-04T02:04:10.690Z - error: [FabricCAClientService.js]: Failed to enroll admin, error:%o message=Calling enrollment endpoint failed with error [Error: getaddrinfo ENOTFOUND ca.drm.migu.com ca.drm.migu.com:7052], stack=Error: Calling enrollment endpoint failed with error [Error: getaddrinfo ENOTFOUND ca.drm.migu.com ca.drm.migu.com:7052]
at ClientRequest.request.on (/home/fabric-node2/go/src/github.com/hyperledger/fabric-samples-1.4.8/manager-server/node_modules/fabric-ca-client/lib/FabricCAClient.js:487:12)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
Failed to generate MSP : Error: Calling enrollment endpoint failed with error [Error: getaddrinfo ENOTFOUND ca.drm.migu.com ca.drm.migu.com:7052]
false 'end.'
修改host加入如下内容
192.168.81.134 ca.drm.migu.com
使用sdk注册后没问题了
fabric-node2@fabric-node2:~/go/src/github.com/hyperledger/fabric-samples-1.4.8/manager-server/test111$ node genMSP.js
/home/fabric-node2/go/src/github.com/hyperledger/fabric-samples-1.4.8/manager-server/test111/profile/sdk110/connection-sdk2.json
/home/fabric-node2/go/src/github.com/hyperledger/fabric-samples-1.4.8/manager-server/test111/profile/sdk110/connection-sdk2.json https://ca.drm.migu.com:7052 true 11111111111
Wallet path: /home/fabric-node2/go/src/github.com/hyperledger/fabric-samples-1.4.8/manager-server/test111/wallet
Admin@test.cn
Successfully registered user Admin@test.cn
orderer.test.cn
Successfully registered user orderer.test.cn
orderer2.test.cn
Successfully registered user orderer2.test.cn
orderer3.test.cn
Successfully registered user orderer3.test.cn
Successfully registered user Admin@drm.test.cn
Successfully registered user peer0.drm.test.cn
Successfully registered user Admin@video.test.cn
Successfully registered user peer0.video.test.cn
true 'end.'
ca-server配置使用https的时候或自动生成一个tls-cert.pem,但这并不是给client使用的,而是使用ca-cert.pem;如果使用tls-cert.pem,则提示如下错误
21-06-04T02:09:52.367Z - error: [FabricCAClientService.js]: Failed to enroll admin, error:%o message=Calling enrollment endpoint failed with error [Error: unable to verify the first certificate], stack=Error: Calling enrollment endpoint failed with error [Error: unable to verify the first certificate]
使用二进制工具打开https
新建并进入ca主目录
mkdir ~/ca
cd ~/ca
一个标识打开https
fabric-ca-server start -b admin:adminpw --home ./ca-msp --cfg.affiliations.allowremove --cfg.identities.allowremove --ca.name=fabric-ca --tls.enabled=true --csr.hosts ca.drm.migu.com
接下来的步骤
同上面测试是一样的
最终生成的文件夹如下
以上是关于faric-ca-server使用https的主要内容,如果未能解决你的问题,请参考以下文章
如果我使用 https,设置建立安全上下文 =“假”有啥影响?