二维码

11.5 服务端配置文件解析 - 数据结构 - 机器学习

1204 人阅读 | 时间:2021年01月15日 01:18
11.5 服务端配置文件解析 - 数据结构 - 机器学习 #daohang ul li t,.reed .riqi,a.shangg,a.xiatt,a.shangg:hover,a.xiatt:hover,a.shang,a.xiat,a.shang:hover,a.xiat:hover,.reed-pinglun-anniu,span.now-page,#daohangs-around,#caidan-tubiao,#daohangs,#daohangs li,#btnPost{background-color:#D10B04;} .dinglanyou1 h3{border-bottom:3px solid #D10B04;} #dibuer{border-top:2px solid #D10B04;}.cebianlan .rongqi h3{border-bottom:1px solid #D10B04;} #edtSearch{border:1px solid #D10B04;} #daohang .zuo ul li{border-right:1px solid #;} #daohang ul li t a{border-top:1px solid #;border-right:1px solid #D10B04;} #daohang ul li t a:hover{border-right:1px solid #;} #daohang .you ul li a:hover,#daohang .zuo ul li a:hover,.reed-pinglun-anniu:hover{background-color:#;} a:hover,.reed h6 a:hover,#dibuer a:hover,.reed .riqiding,.cebianlan .rongqi li a:hover,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.shu a,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.huifuliuyan a:hover,.reed-biaoti h6 span{color:#D10B04;} .reed .kan a{color:#0A0AF5;}.reed .kan a:hover{color:#D10101;} @media screen and (max-width:1492px){a.shang,a.xiat{background:none;} a.xiat:hover,a.shang:hover{background-color:#f9f9f9;background-image:none;text-decoration:none;}} var _hmt = _hmt || [];(function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2d748c9763cfc72fb7d1ccab29f0770d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f6d451f3f1be23f3abf240c64c469c1b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

当前位置:首页 » 区块链精品文章 » 正文

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646201", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646162", container: s }); })();

11.5 服务端配置文件解析

1346 人参与  2018年09月29日 14:53  分类 : 区块链精品文章  评论

服务端配置文件最常见的路径在/etc/hyperledger/fabric-ca-server/fabric- ca-server-config.yaml,包括通用配置、TLS配置、CA配置、注册管理配置、数据库配置、LDAP配置、组织结构配置、签名、证书 申请等几个部分。

1.通用配置

包括服务监听的端口号,是否输出更多的DEBUG日志等:

·port:7054:指定服务的监听端口;

·debug:false:是否启用DEBUG模式,输出更多的调试信息。

2.TLS配置

主要包括是否在服务端启用TLS,以及如果启用TLS后进行身份验证的证书和签名的私钥。客户端进行TLS认证的模式可以有如下几种:

·NoClientCert:不启用,为默认值;

·RequestClientCert:请求客户端提供证书;

·RequireAnyClientCert:要求客户端提供合法格式的证书;

·VerifyClientCertIfGiven:如果客户端提供证书,则进行验证;

·RequireAndVerifyClientCert:要求并且要验证客户端的证书。

各个配置项的具体功能可以参见下面示例的注释部分:


tls:
   # 是否启用TLS,默认为否。
   enabled: false
   # TLS证书和密钥文件
   certfile: ca-cert.pem
   keyfile: ca-key.pem
   clientauth: # 客户端验证配置,默认不进行身份验证
       type: noclientcert
       certfiles: # 进行客户端身份验证时,信任的证书文件列表

3.CA配置

包括实例的名称、签名私钥文件、身份验证证书和证书链文件等。这些私钥和证书文件会用来作为生成ECert、TCert的根证书。

各个配置项的具体功能可以参见下面示例的注释部分:


ca:
   # CA服务名称。可以支持多个服务。
   name:
   # 密钥文件(默认:ca-key.pem)
   keyfile: ca-key.pem
   # 证书文件(默认:ca-cert.pem)
   certfile: ca-cert.pem
   # 证书链文件(默认:chain-cert.pem)
   chainfile: ca-chain.pem

4.注册管理配置

当fabric-ca-server自身提供用户的注册管理时使用,这种情况下需要禁用LDAP功能,否则fabric-ca-server将会把注册管理数据转发到LDAP进行查询。

该部分主要包括两方面的配置:

·对enrollment过程的用户名和密码进行验证;

·获取某个认证实体的用户属性信息。

用户属性可以附加到用户分发的TCerts中,用于实现对链码(chaincode)的访问权限控制。

各个配置项的具体功能可以参见下面示例的注释部分:


registry:
   # 允许同一个用户名和密码进行enrollment的最大次数。特别是,-1表示无限制,0表示不
       支持登记。
   maxenrollments: -1

   # 注册的实体信息,可以进行enroll。只有当LDAP未启用时起作用。
   identities: # 可以指定多个
       - name: admin
         pass: adminpw
         type: client
         affiliation: ""
         maxenrollments: -1 # 同上
         attrs:
               hf.Registrar.Roles: "client,user,peer,validator,auditor"
               hf.Registrar.DelegateRoles: "client,user,validator,auditor"
               hf.Revoker: true
               hf.IntermediateCA: true  # 该id是否是一个中间层的CA

5.数据库配置

目前,数据库支持SQlite3、Postgres、MySQL,可以在本段中进行配置。默认为SQlite3类型的本地数据库。如果要配置集群,则需要选用Postgres或MySQL远端数据库方式,并在前端部署负载均衡器(如Nginx或HAProxy)。

各个配置项的具体功能可以参见下面示例的注释部分:


db:
   type: sqlite3
   datasource: fabric-ca-server.db # sqlite3 文件路径
   tls:
       enabled: false # 是否启用 TLS 来连接到数据库
       certfiles: db-server-cert.pem # PEM 格式的数据库服务器的 TLS 根证书,可以指定
                                       多个,用逗号隔开。
       client:
           certfile: db-client-cert.pem # PEM格式的客户端证书文件
           keyfile: db-client-key.pem # PEM格式的客户端证书私钥文件

例如,如果采用postgres类型,可以使用如下示例配置:


db:
   type: postgres
   datasource: host=postgres_server port=5432 user=admin password=pass dbname=
       fabric-ca-server sslmode=verify-full

其中,sslmode可以为:

·disable:不启用SSL;

·require:启用SSL,但不进行证书校验;

·verify-ca:启用SSL,同时校验SSL证书是否是可信CA签发;

·verify-full:启用SSL,同时校验SSL证书是否是可信CA签发,以及校验服务器主机名是否匹配证书中名称。

如果采用MySQL类型,则可以使用如下的示例配置:


db:
   type: mysql
   datasource: root:rootpw@tcp(sql_server:3306)/fabric-ca?parseTime=true&tls=custom

6.LDAP配置

配置使用远端的LDAP来进行注册管理,认证enrollment的用户名和密码,并获取用户属性信息。此时,服务端将 按照指定的userfilter从LDAP获取对应的用户,利用其唯一识别名(distinguished name)和给定的密码进行验证。当LDAP功能启用时,registry中的配置将被忽略。

各个配置项的具体功能可以参见下面示例的注释部分:


ldap:
   enabled: false # 是否启用LDAP,默认不启用
   url: ldap://<adminDN>:<adminPassword>@<host>:<port>/<base> # LDAP的服务地址
   tls:
       certfiles:
           - ldap-server-cert.pem # PEM格式的LDAP服务器的TLS根证书,可以为多个,用
                                            逗号隔开
       client:
           certfile: ldap-client-cert.pem # PEM格式的客户端证书文件
           keyfile: ldap-client-key.pem # PEM格式的客户端证书私钥文件
   userfilter: (uid=%s) # 用户过滤模式

注意  Lightweight Directory Access Protocol(LDAP,轻量级目录访问协议),是一种为查询、搜索业务而设计的分布式数据库协议,一般具有优秀的读性能,但写性能较差。

7.组织结构配置

每个组织可以包括若干个部门:


# 机构信息
affiliations:
   org1:
       - department1
       - department2
   org2:
       - department1

8.签发证书相关配置

签发证书相关的配置包括签名方法、证书超时时间等。fabric-ca-server可以作为用户证书的签发CA(默认情况下),还可以作为根CA来进一步支持其他中间CA。

各个配置项的具体功能可以参见下面示例的注释部分:


signing:
   default: # 默认情况下,用于签署Ecert
       usage: # 所签发证书的KeyUsage extension域
           - digital signature
       expiry: 8760h
   profiles: # 不同的签发配置
       ca: # 签署中间层CA证书时的配置模板
           usage:
               - cert sign # 所签发证书的KeyUsage extension域
           expiry: 43800h
           caconstraint:
               isca: true
               maxpathlen: 0 # 限制该中间层CA无法进一步签署中间层CA

9.证书申请请求配置

CA自身证书的申请请求配置。当CA作为根证书服务时,将基于请求生成一个自签名的证书;当CA作为中间证书服务时,将请求发送给上层的根证书进行签署。

具体各个配置项的功能可以参见下面示例的注释部分:


csr:
   cn: fabric-ca-server # 这里建议跟服务器名一致
   names:
       - C: US
         ST: "North Carolina"
         L:
         O: Hyperledger
         OU: Fabric
   hosts:
          - fabric-ca-server
          - localhost
   ca: # 配置后会加入到证书的扩展字段
       expiry: 131400h # 超时时间
       pathlength: 1 # 允许产生的中间证书的深度

10.BCCSP配置

主要是配置所选择的加密库。各个配置项的具体功能可以参见下面示例的注释部分:


bccsp:
   default: SW
   sw:
       hash: SHA2
       security: 256
       filekeystore:
           # 存放密钥文件的路径
           keystore: msp/keystore

11.多CA支持配置

通过cacount:自动创建除了默认CA外的多个CA实例,如ca1、ca2等。

通过cafiles:可以指定多个CA配置文件路径,每个配置文件会启动一个CA服务,注意不同配置文件之间需要避免出现冲突(如服务端口、TLS证书等)。

12.中间层CA配置

当CA作为中间层CA服务时的相关配置。包括父CA的地址和名称、登记信息、TLS配置等。注意,当intermediate.parentserver.url非空时,意味着本CA是中间层CA服务,否则为根CA服务。

各个配置项的具体功能可以参见下面示例的注释部分:


intermediate:
   parentserver: # 父CA相关信息
       url:
       caname:

   enrollment: # 在父CA侧的登记信息
       hosts: # 证书主机名列表
       profile: # 签发所用的profile
       label: # HSM操作中的标签信息

   tls: # TLS 相关配置
       certfiles: # 信任的根CA证书
       client: # 客户端验证启用时的相关文件
           certfile:
           keyfile:


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=911

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646186", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646175", container: s }); })();
搜索

网站分类

标签列表

最近发表

    (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!

jQuery(document).ready(function($){ /* prepend menu icon */ $('#daohangs-around').prepend('
'); /* toggle nav */ $("#caidan-tubiao").on("click", function(){ $("#daohangs").slideToggle(); $(this).toggleClass("active"); }); });

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×