初始化服务器
使用下面的命令初始化Fabric CA服务器:
fabric-ca-server init -b admin:adminpw
-b
选项声明了一个身份登记ID和密码,用于初始的管理员。如果没有
使用ldap.enabled
启用LDAP,你需要设置这个选项。至少需要一个初始
身份来启动Fabric CA服务器,这个身份就是服务器管理员。
服务器配置文件中包含可配置的证书签名请求(CSR)段,例如:
cn: fabric-ca-server
names:
- C: US
ST: "North Carolina"
L:
O: Hyperledger
OU: Fabric
hosts:
- host1.example.com
- localhost
ca:
expiry: 131400h
pathlength: 1
上面字段含义如下:
- cn:公用名称
- O:机构名称
- OU:机构部门名称
- L:位置或城市
- ST:所在州
- C:国家
如果CSR需要自定义值,你可以定制配置文件,删除ca.certfile和ca.keyfile指定
的文件,然后重新运行fabric-ca-server init -b admin:adminpw
命令。
fabric-ca-server init
命令生成一个自签名的CA证书,除非你使用了-u <parent-fabric-ca-server-URL>
选项。如果使用-u
选项,那么服务器的CA证书将有父级CA签名。url格式为
<scheme>://<enrollmentID>:<secret>@<host>:<port>
,其中<enrollmentID>
和<secret>
对应着一个属性hf.IntermediateCA值为ture的身份。fabric-ca-server init
命令同时生成默认的配置文件,名称为 fabric-ca-server-config.yaml。
如果你希望Fabric CA服务器使用一个你提供的CA签名证书,那么你必须将其对应的
文件分别放在ca.certfile
和ca.keyfile
配置对应的路径下。两个文件都需要是
PEM编码,并且不可以加密。并且CA证书必须以-----BEGIN CERTIFICATE-----
开头,
密钥文件必须以-----BEGIN PRIVATE KEY-----
而不是-----BEGIN ENCRYPTED PRIVATE KEY-----
开头。
算法与密钥长度
可以定制CSR生成支持椭圆曲线的X.509证书和密钥。例如,下面的配置 使用曲线primve256v1,签名算法采用ecdsa-with-SHA256:
key:
algo: ecdsa
size: 256
算法与密钥长度的选择取决于具体的安全需求。ECDSA提供如下的可选项:
size | ASN1 OID | 签名算法 |
---|---|---|
256 | prime256v1 | ecdsa-with-SHA256 |
384 | secp384r1 | ecdsa-with-SHA384 |
512 | secp521r1 | ecdsa-with-SHA512 |