安全服务模块--MSP初始化
2021-07-21 09:15:03 0 举报
这个好像是1.4的
作者其他创作
大纲/内容
loadLocalMSP
cert.Verify(opts)获取证书验证链列表validationChains,即构建从指定证书cert到根CA证书池证书的证书链来验证其真实性。其中,该链的第一个证书对象是cert,并且最后一个证书对象来自根CA证书池
查看identity组织单元标识列表OU1.查看msp.ouldentifiers里的对应OU是否存在2.存在则继续对比证书标识是否匹配3成功推出 失败报错
msp.GetLocalMspConfig()获取本地MSP组件配置对象mspConfig
return nil
在交易验证器--compile流程 使用并详细介绍 不再重复
len(validationChain) == 1
msp.setupCRLs(conf)初始化CRLs
return nil
遍历所有的CA证书进行有效性验证
msp.validateCAIdentityCA身份验证
设置certificationTreeInternalNodesMap证书序列号对应为true
T
从配置文件指定路径读取对应Roots证书和IntermediateCerts证书,并添加到对应certpool中
为MSP设置初始化函数theMsp.setup作为theMsp.internalSetupFunc 在初始化MSP组件时调用
msp.finalizeSetupCAs()初始化信任证书验证链
安全服务模块--身份证书的有效性验证流程
msp.getUniqueValidationChain()将中间根证书构建到证书链中
msp.setupCAs(conf)初始化CA
msp.setupSigningIdentity(conf)
localmsp.Setup(mspConfig)//调用内置函数theMsp.Setup 初始化msp组件
return
msp.setupOUs(conf)
F
msp.preSetupV142(conf)
检查validationChains是否只有一个值不是则报错退出
msp.getUniqueValidationChain()根据证书,获得对应验证链
为MSP设置版本version和BCCSP
为MSP设置初始化函数theMsp.setupAdmins作为theMsp.internalSetupAdmin//新增管理员角色时使用
msp.postSetupV142(conf)//验证设置的Admin是否有效
msp.setupNodeOUsV142(conf)
为MSP设置初始化函数theMsp.satisfiesPrincipalInternal作为theMsp.internalSatisfiesPrincipalInternalFunc//验证证书对应角色时使用
遍历完成
根据conf里设定的配置设置hash默认是sha2和sha256
初始化msp.certificationTreeInternalNodesMap标记证书信任树内部节点 ,默认为false
msp.setupAdmins(conf)
为MSP设置初始化函数theMsp.validateIdentityOUs作为theMsp.internalValidateIdentityOusFunc//验证组织时使用
遍历所有中间证书
return validationChains[0]
msp.setupCrypto(conf)初始化加密配置
msp.setupTLSCAs(conf)
getSubjectKeyIdentifierFromCert验证证书标识是否为asn1,且是否可以正常被反序列化
0 条评论
下一页