二维码

11.3 启动CA服务 - 数据结构 - 机器学习

1276 人阅读 | 时间:2021年01月15日 01:17
11.3 启动CA服务 - 数据结构 - 机器学习 #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.3 启动CA服务

1286 人参与  2018年09月29日 15:05  分类 : 区块链精品文章  评论

服务端提供完整的证书管理功能,启动后生成CA服务,可以作为根CA来服务其他中间CA,也可以负责签发用户证书(默认情况下)。签发用户证书时,支持用户通过客户端命令或RESTful API方式进行操作。

1.配置读取

需要注意的是,fabric-ca-server服务所需要的相关配置项会依次尝试从命令行参数、环境变量(命名需要带 有FABRIC_CA_SERVER前缀)或主配置目录(未指定配置文件路径时)下本地配置文件来读取。因此,使用时可以根据需求采用不同方式来指定配置 信息。

例如指定启用TLS可以通过如下三种方式来进行配置,优先级由高到低:

·命令行参数:--tls-enabled=true

·环境变量:FABRIC_CA_SERVER_TLS_ENABLED=true

·配置文件tls.enabled=true

如果都未发现,则采用内置的默认值(false)。

2.主配置目录

本地配置文件默认都是从所谓主配置目录(Home Dir)下进行查找,还可以预置证书和密钥文件。

那么,主配置目录的具体路径是如何获取的呢?fabric-ca-server服务会依次尝试从环境变量 FABRIC_CA_SERVER_HOME、FABRIC_CA_HOME、CA_CFG_PATH等中读取。一般推荐使用默认的/etc /hyperledger/fabric-ca-server路径作为主配置目录环境变量的指向路径,用户也可以根据需求自行设定。

当这些环境变量均未存在的情况下,fabric-ca-server服务会使用当前目录作为主配置目录,来搜索相关的配置文件。

3.初始化fabric-ca-server

在首次使用fabric-ca-server服务的情况下,可以通过init命令来完成初始化。

当主目录下配置文件不存在时,需要指定一个-b<USER_NAME>:<PASSWORD> 附加参数,来指定Fabric-CA启动后默认的管理员用户名和密码,该用户可以进行进一步的操作;当配置文件存在时或指定启用了LDAP功能,则不需要 指定启动的用户名和密码。

例如通过如下命令,即可成功完成初始化,生成配置文件fabric-ca-server-config.yam到主配置目录:


$ fabric-ca-server init -b admin:pass
[INFO] Created default configuration file at /etc/hyperledger/fabric-ca-server/
      fabric-ca-server-config.yaml
Initialize BCCSP [SW]
[INFO] generate received request
[INFO] received CSR
[INFO] generating key: ecdsa-256
[INFO] encoded CSR
[INFO] signed certificate with serial number 3121152755758616817728046851163166
      76393252324960
[INFO] The CA key and certificate files were generated
[INFO] Key file location: /etc/hyperledger/fabric-ca-server/ca-key.pem
[INFO] Certificate file location: /etc/hyperledger/fabric-ca-server/ca-cert.pem
[INFO] Initialized sqlite3 data base at /etc/hyperledger/fabric-ca-server/fabric-
      ca-server.db
[INFO] Initialization was successful

此时检查主配置目录,会发现生成了四个文件(未事先存在的情况下):

·ca-cert.pem:PEM格式的CA证书文件,自签名;

·fabric-ca-server-config.yaml:默认配置文件;

·fabric-ca-server.db:存放数据的sqlite数据库;

·msp/keystore/:路径下存放个人身份的私钥文件(_sk文件),对应签名证书。

如果主配置目录下已经存在ca-key.pem,则默认使用它作为私钥文件(对应证书)来生成证书和其他缺失的文件。

默认情况下,fabric-ca-server-config.yaml配置文件中并未启用TLS。

如果需要启用TLS,需要修改tls.enabled为true,同时修改csr.cn以匹配实际的主机名,之后可以删掉证书和私钥文件,再重新生成对应文件。

csr段中还有一些字段对应证书中的域,例如:

·cn:Common Name,通用名;

·names.C:Country,国家名称;

·names.ST:State,州县名称;

·names.L:Location,具体的城市名称;

·names.O:Organization,机构名称;

·names.OU:Organization Unit,机构中的具体部门名称。

4.启动fabric-ca-server

fabric-ca-server服务也可以通过start命令来快速启动,默认会查找本地主配置目录路径下的证书文件和配置文件。

类似地,如果没有指定使用LDAP服务并且配置文件不存在时,需要指定一个-b<USER_NAME>:<PASSWORD>附加参数,来指定Fabric-CA默认的启动用户名和密码。

例如下列命令可以快速启动并初始化一个fabric-ca-server服务:


# fabric-ca-server start -b admin:adminpw
[INFO] Created default configuration file at /etc/hyperledger/fabric-ca-server/
      fabric-ca-server-config.yaml
Initialize BCCSP [SW]
[INFO] generate received request
[INFO] received CSR
[INFO] generating key: ecdsa-256
[INFO] encoded CSR
[INFO] signed certificate with serial number 4022356645784554613696365439707274
      55498020171838
[INFO] The CA key and certificate files were generated
[INFO] Key file location: /etc/hyperledger/fabric-ca-server/ca-key.pem
[INFO] Certificate file location: /etc/hyperledger/fabric-ca-server/ca-cert.pem
[INFO] Initialized sqlite3 data base at /etc/hyperledger/fabric-ca-server/fabric-
      ca-server.db
[INFO] Listening at http://0.0.0.0:7054

所启动fabric-ca-server服务默认的管理员用户账号和密码分别为admin和pass。

如果之前没有执行初始化命令,则启动过程中会自动先进行初始化操作,即从主配置目录搜索相关证书和配置文件,如果不存在则会自动生成。

如果用户希望指定使用某个配置文件,可以通过-c CONFIG_FILE_PATH参数来指定所使用的配置文件。

5.RESTful API

用户使用Fabric CA,除了其提供的客户端命令外,还可以直接通过其提供的RESTful接口来进行操作。默认的RESTful服务监听在0.0.0.0:7054地址,服务前缀为/api/v1。

接口的定义可以参考项目代码中的swagger/swagger-fabric-ca.json文件。主要接口如下:

·POST/cainfo:获取某个CA服务的基本信息,body中可带有caname信息;

·POST/enroll:使用用户登记功能,body中可带有host、request、profile、label、caname等信息;

·POST/reenroll:使用用户重新登记功能,body中可带有host、request、profile、label、caname等信息;

·POST/register:使用用户注册功能,body中可带有id、type、secret、max_enrollments、affiliation_path、attrs、caname等信息;

·POST/revoke:撤销某个证书,body中可带有id、aki、serial、reason、caname等信息;

·POST/tcert:申请获取一批交易证书,body中可带有count、attr_names、encrypt_attrs、validity_period、caname等信息。

用户可以通过HTTP请求来对接口进行调用,例如查询名称为“test_ca”的CA服务(已通过fabric-ca-server start-b admin:adminpw-n test_ca命令启动在本地)的基本信息,可以用如下命令:


$ curl -X POST -d '{"caname": "test_ca"}' http://localhost:7054/api/v1/cainfo
{"success":true,"result":{"CAName":"test_ca","CAChain":"LS0tLS1CRUdJTiBDR
   VJUSUZJQ0FURS0tLS0tCk1JSUNZakNDQWdtZ0F3SUJBZ0lVQjNDVERPVTQ3c1VDNUs0a2
   4vQ2FxbmgxMTRZd0NnWUlLb1pJemowRUF3SXcKZnpFTE1Ba0dBMVVFQmhNQ1ZWTXhFekF
   SQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaApiaUJHY21GdVky
   bHpZMjh4SHpBZEJnTlZCQW9URmtsdWRHVnlibVYwSUZkcFpHZGxkSE1zSUVsdVl5NHhER
   EFLCkJnTlZCQXNUQTFkWFZ6RVVNQklHQTFVRUF4TUxaWGhoYlhCc1pTNWpiMjB3SGhjTk
   1UWXhNREV5TVRrek1UQXcKV2hjTk1qRXhNREV4TVRrek1UQXdXakIvTVFzd0NRWURWUVF
   HRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadgpjbTVwWVRFV01CUUdBMVVFQnhNTlUy
   RnVJRVp5WVc1amFYTmpiekVmTUIwR0ExVUVDaE1XU1c1MFpYSnVaWFFnClYybGtaMlYwY
   3l3Z1NXNWpMakVNTUFvR0ExVUVDeE1EVjFkWE1SUXdFZ1lEVlFRREV3dGxlR0Z0Y0d4bE
   xtTnYKYlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQktJSDViMkphU21
   xaVFYSHlxQytjbWtuSUNjRgppNUFkZFZqc1FpekRWNnVaNHY2cytQV2lKeXpmQS9yVHRN
   dllBUHEveWVFSHBCVUIxajA1M214bnBNdWpZekJoCk1BNEdBMVVkRHdFQi93UUVBd0lCQ
   mpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRWFowSTkKcXA2Q1A4VE
   ZIWjlidzVuUnRaeElFREFmQmdOVkhTTUVHREFXZ0JRWFowSTlxcDZDUDhURkhaOWJ3NW5
   dFp4SQpFREFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUFIcDVSYnA5RW0xRy9VbUtuOFdzQ
   2JxRGZXZWNWYlpQUWozUks0Cm9HNWtRUUlnUUFlNE9PS1loSmRoM2Y3VVJhS2ZHVGY0OT
   Ivbm1SbXRLK3lTS2pwSFNyVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="},"err
   ors":[],"messages":[]}

如果不带有任何参数,则尝试获取默认CA服务(名称为空字符串)的基本信息。其中比较关键的是result中的CAChain字段,其值是CA证书(ca-cert.pem)base64编码后的内容。


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

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

(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特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×