Hyperledger Fabric CA 是 Hyperledger Fabric 的证书颁发机构 (CA)。...一、功能: 身份注册,或作为用户注册表连接到 LDAP 颁发注册证书 (ECerts) 证书更新和撤销 二、组成 1.Hyperledger Fabric CA服务器 2.Hyperledger Fabric.../fabric-ca/cmd/... 4.启动CA服务器 1.本地启动 fabric-ca-server start -b admin:adminpw -b选项为引导程序管理员提供注册 ID 和密码;如果未使用...: fabric-ca-server ports: - "7054:7054" environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server.../fabric-ca-server:/etc/hyperledger/fabric-ca-server" command: sh -c 'fabric-ca-server start -b admin
1.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书。...就是关于这个组织的名字和域名,这主要是用于生成证书的时候,证书内会包含该信息。...1.3生成公私钥和证书 我们配置好crypto-config.yaml文件后,就可以用cryptogen去读取该文件,并生成对应的公私钥和证书了: cd examples/e2e_cli/ ../.....=/etc/hyperledger/fabric/tls/server.crt - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key.../tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer
上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。 握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。...握手协议 握手协议是TLS协议中非常重要的协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。 不说话,先上图: ?...如果选择的是Diff-Hellman密钥交换协议,那么传递的就是密钥交换的参数. 5.可选步骤:CertificateRequest 如果是在一个受限访问的环境,比如fabric中,服务器端也需要向客户端索要证书...6.server hello done 服务器端发送server hello done的消息告诉客户端自己的消息结束了。...13.finished(握手协议结束) 服务器端告诉客户端,握手协议结束了。 14.切换到应用数据协议 这之后服务器和客户端就是以加密的方式进行沟通了。
TLS协议的架构 TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。 上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。...握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。...握手协议 握手协议是TLS协议中非常重要的协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。...finished(握手协议结束) 服务器端告诉客户端,握手协议结束了。 切换到应用数据协议 这之后服务器和客户端就是以加密的方式进行沟通了。...主密码主要用来生成称密码的密钥,消息认证码的密钥和对称密码的CBC模式所使用的初始化向量。详见分组密码和模式 TLS记录协议 TLS记录协议主要负责消息的压缩,加密及数据的认证: 先上图。
Fabric CA Client和Fabric Node SDK的Client,虽然本示例中没用到CA Client,但是以后会用到,所以先放在这里了。...,所以是grpcs,如果没有启用TLS,那么就是grpc privateKeyFolder:'/home/studyzy/go/src/github.com/hyperledger/fabric....example.com/tls/ca.crt', orderer_tls_cacerts:'/home/studyzy/go/src/github.com/hyperledger/fabric...4.总结 我们以上的query和Invoke都是参照了官方的fabcar示例,该示例在https://github.com/hyperledger/fabric-samples/tree/release...还有就是TLS的问题,官方给出的fabcar是没有TLS的,我搞了半天才搞定,原来除了制定TLS证书之外,我们访问Peer的URL也是不一样的。
/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer...=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer.../tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] working_dir...开启TLS使用的私钥,自签名证书和CA证书。...=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer
在 区块链基础:术语表和用例 中适当了解,然后在 Hyperledger Fabric 术语表 中更深入钻研。...请参阅如何使用从知名外部证书颁发机构获得的自定义配置的加密资料来配置,测试和验证Hyperledger Fabric“first-network”样本以获取根证书和中间证书。...因为订购者端点受 TLS 保护,所以以参数形式提供证书颁发机构身份。.../hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.keyCORE_PEER_LOCALMSPID.../hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.keyCORE_PEER_LOCALMSPID
网络协议之:加密传输中的NPN和ALPN 文章目录 简介 SSL/TLS协议 NPN和ALPN 总结 简介 自从HTTP从1.1升级到了2,一切都变得不同了。...今天本文将会跟大家聊一下SSL/TLS协议的扩展NPN和ALPN。...上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。 其中最重要的就是握手协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。...finished(握手协议结束) 服务器端告诉客户端,握手协议结束了。 切换到应用数据协议 这之后服务器和客户端就是以加密的方式进行沟通了。...总结 NPN和ALPN都是TLS的扩展,相较而言,ALPN更加好用。
=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer.../tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR...=true - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt - CORE_PEER_TLS_KEY_FILE...=/etc/hyperledger/fabric/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/.../tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer
网络协议之:加密传输中的NPN和ALPN 文章目录 简介 SSL/TLS协议 NPN和ALPN 总结 简介 自从HTTP从1.1升级到了2,一切都变得不同了。...今天本文将会跟大家聊一下SSL/TLS协议的扩展NPN和ALPN。...上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。 其中最重要的就是握手协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。...finished(握手协议结束) 服务器端告诉客户端,握手协议结束了。 切换到应用数据协议 这之后服务器和客户端就是以加密的方式进行沟通了。...总结 NPN和ALPN都是TLS的扩展,相较而言,ALPN更加好用。 本文已收录于 http://www.flydean.com/08-ssl-tls-npn-alpn/
Q3: CA 的证书 ca.crt 和 SSL server 的证书 server.crt 是什么关系呢 SSL server 自己生成一个私钥/公钥对。....即 SSL/TLS 单向认证流程的 (5) 第五包 (No. 30) 握手完成。...SSL/TLS 单向认证流程的 (7) 2.6 SSL/TLS 双向认证流程 和单向认证几乎一样,只是在 client 认证完服务器证书后,client 会将自己的证书 client.crt 传给服务器...第五包 (No. 64) 握手完成,开始上层数据传输。SSL/TLS 单向认证流程的 (7) 2.7 证书等格式说明 crt/key/req/csr/pem/der 等拓展名都是什么东东?...2.8 SSL/TLS 和 OpenSSL, mbedTLS 是什么关系 SSL/TLS 是一种工作原理,OpenSSL 和 mbedTLS 是 SSL/TLS 的具体实现,很类似于 TCP/IP 协议和
Fabric 1.0 集群的具体配置和chaincode管理的步骤。...,生成构建 Fabric 网络所需的成员证书等必要材料: bash generateArtifacts.sh 该命令只需在某个VM上运行一次,其他VM上就不需要运行。....org2.example.com/tls/ca.crt CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer....org2.example.com/tls/ca.crt CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer...首先进入到cli容器内: docker exec -it cli bash cli 与 orderer 之间的通讯使用 tls 加密,设置环境变量 ORDERER_CA 以作建立握手的凭证: $ORDERER_CA
生产环境我们建议使用fabric ca全面管理证书, 如果想简单来而区块链组织,节点和用户基本不会变, cryptogen也没问题。 2. 架构 ? 我们在MSP已有类似提过。...有点要注意, 默认镜像是设置了账号为admin:adminpw. docker inspect hyperledger/fabric-ca:1.4.0 会发现默认会执行Cmd fabric-ca-server...l CA开启HTTPS需要配置enabled:true, 或者通过环境变量FABRIC_CA_TLS_ENABLED=true, 签名证书certfile,私钥keyfile, 可以使用互联网正式CA颁发的或自签名...tls: # Enable TLS (default: false) enabled: false # TLS for the server's listening port certfile...db: type: sqlite3 datasource: fabric-ca-server.db tls: enabled: false certfiles:
fabric网络,使用fabric-explorer插件,实现对底层网络的具体化展示和实时化查询。...如果没有跑通网络,可以根据以下去按步骤完成: 根据官方文档 http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html 和深蓝的博客...因为在启动网络的时候,可以发现ca节点里面有这个命令:command: sh -c'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config.../ca.org1.example.com-cert.pem--ca.keyfile/etc/hyperledger/fabric-ca-server-config/d4b0309bf140f39d60934b070462affea09d24464ee3b0005bc2c75a4e2d83c4...app/network-config.json 发现一些证书路径指定在/fabric-docker-compose-svt目录下,所以把你启动网络时生成的crypto-config文件夹拷贝至/fabric-docker-compose-svt
这里日志也无法告诉我们:到底TLS握手哪里问题。所以要做点别的事。 3.2 排除服务端问题 先用趁手小工具 curl,从这台客户端发起对API server 2(握手失败的)的TLS握手,发现能成功。...TLS握手阶段要在下面四环里实现不同类型的安全性,TLS“四大护法”: 密钥交换算法:保证对称密钥的交换是安全,典型算法DHE、ECDHE 身份验证和签名算法:确认服务端的身份,即对证书验证,非对称算法就用在这...至此,能确认问题根因:因为这Java库和API server 2之间没找到共同密码套件,所以TLS握手失败。 根因找到,下步就是升级Java库,让双方能协商成功。...TLS握手过程包括客户端发送ClientHello消息,服务器返回ServerHello消息和证书,客户端验证证书并发送加密所需的信息,服务器确认并发送加密所需的信息,最后客户端发送Finished消息...其中前两步是服务器和客户端交换信息的第一次和第二次握手,后面的步骤是第三次握手。 假设服务端返回的证书链是根证书+中间证书+叶子证书,客户端没有这个根证书,但是有这个中间证书。
然而,TLS 标准并未指定协议如何增强 TLS 的安全,如何发起 TLS 握手以及如何理解认证证书交换,这些都留给运行在 TLS 之上的协议的设计者和实现者来判断。 本文档定义了 TLS 1.3 版。...五、TLS 1.3 协议概览 安全通道所使用的密码参数由 TLS 握手协议生成。这个 TLS 的子协议,握手协议在 Client 和 Server 第一次通信时使用。...Server 参数:建立其它的握手参数(Client 是否被认证,应用层协议支持等)。 认证:认证 Server(并且选择性认证 Client),提供密钥确认和握手完整性。...CertificateRequest: 如果需要基于证书的客户端身份验证,则所需参数是证书。 如果不需要客户端认证,则省略此消息。 最后,Client 和 Server 交换认证消息。...TLS 在每次基于证书的认证时使用相同的消息集,(基于 PSK 的认证是密钥交换中的一个副作用)特别是: Certificate: 终端的证书和每个证书的扩展。
SSL/TLS协议分握手协议和记录协议,握手协议用来协商会话参数(比如会话密钥、应用层协议等等),记录协议主要用来传输应用层数据和握手协议消息数据,以及做加解密处理。...再来看看基于 DH 密钥协商算法的首次握手: 基于 DH 密钥协商算法和基于 RSA 密码协商的区别在 Server 和 Client 协商 DH 参数上面。...为了让读者能更加直观的理解 TLS 1.2 的流程,笔者用 Wireshark 抓取了 Chrome 和笔者博客 TLS 握手中的网络包。...Certificates 证书链包含 2 张证书,Server 实体证书 1357 字节,中间证书 1174 字节。...如果一个会话 ID 不匹配,Server 会产生一个新的会话 ID,然后 TLS Client 和 Server 需要进行一次完整的握手。
通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信的双方协商得到会话密钥。...通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件,交换随机数、数字证书和密钥参数,通信的双方使用 ECDHE 算法算法 "Pre Master Secret"。...TLS 握手过程的简要描述:通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信的双方协商得到会话密钥。"...使用 RSA 的 TLS 握手 TLS1.2 握手可以划分为两种方式:使用 RSA 算法实现钥交换 和 使用 ECDHE 算法实现密钥交换。...TLS 握手过程的简要描述:通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信的双方协商得到会话密钥。"
3 DH 握手图片 1.浏览器向服务器发送随机数 client_random,TLS 版本和供筛选的加密套件列表。...现在我们来看看 TLS1.3 握手具体流程,先放图:图片// 原 DH 握手 -1.浏览器向服务器发送 client_random,TLS 版本和供筛选的加密套件列表。...// 原 DH 握手 -2... // TLS1.3 优化 +2.服务器返回:server_random、server_params、TLS 版本、确定的加密套件方法以及证书。...+浏览器接收,先验证数字证书和签名。 最后,集齐三个参数,生成最终秘钥。如你所见,TLS1.3 客户端和服务器之间只需要一次往返就完成 (TLS1.2 需要两次往返来完成握手),即 1-RTT 握手。...这两类握手的区别仅在于如何实现秘钥建立和身份验证:秘钥交换身份验证RSA 握手RSARSADH 握手ECDHERSA/DSA我们看到,在版本演进中,最新的 TLS1.3 抛弃了 RSA 算法是为了更安全
经过前两章的学习,我们知道了通信安全的定义以及TLS对其的实现~有了这些知识作为基础,我们现在可以正式的开始研究HTTPS和TLS协议了。嗯……现在才真正开始。 ...这个握手过程与TCP类似,是HTTPS和TLS协议里最重要、最核心的部分,搞懂了TLS握手,你就掌握了HTTPS。 一、TLS协议的组成 在讲TLS握手之前,我们先来了解下TLS协议的组成。 ...握手协议(Handshake Protocol)是 TLS 里最复杂的子协议,要比 TCP 的 SYN/ACK 复杂的多,浏览器和服务器会在握手过程中协商 TLS 版本号、随机数、密码套件等信息,然后交换证书和密钥参数...然后呢,服务器会把一大堆东西传给客户端,其中包括TLS版本、服务器的随机数、和Cipher Suite、然后还有其它的消息,比如服务器证书Certificate,比如PubKey,就是服务器的公钥,再有就是传一个...有了主密钥和派生的会话密钥,握手就快结束了。
领取专属 10元无门槛券
手把手带您无忧上云