01.fabric的swarm集群布署:fabric工具cryptogen修改证书生成信息

Wesley13
• 阅读 461

默认的cryptogen工具生成的证书有效期为10年,地区信息为国外,证书序列号为随机值(过多存在重复),fabric-ca(暂对多根目录的节构支持不好)。现修改证书为50年,地区自定义。主要是修改原码后,再进fabric主目录,make cryptogen:

主要是修改

$GOPATH/src/github.com/hyperledger/fabric/common/tools/cryptogen/ca/generator.go文件:

1.加入fmt引用

import (
    "fmt" //加入这个
)

2.修改pkix.name

func subjectTemplate() pkix.Name {
    return pkix.Name{
        Country:  []string{"CN"},
        Locality: []string{"ChongQing"},
        Province: []string{"ChongQing"},
    }
}

3.修改证书的序列号生成规则

func x509Template() x509.Certificate {

    //generate a serial number
    serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128)
    serialNumber, _ := rand.Int(rand.Reader, serialNumberLimit)
    now := time.Now()
    
    serialNumberStr := fmt.Sprintf("%d", serialNumber)
    nowStr := fmt.Sprintf("%d", now.UnixNano())
    serialNumber1,_:=big.NewInt(0).SetString(serialNumberStr+nowStr,10)
    //fmt.Println("serialNumber:"+serialNumberStr+nowStr)
    
    //basic template to use
    x509 := x509.Certificate{
        SerialNumber:          serialNumber1,
        NotBefore:             now,
        NotAfter:              now.Add(438000 * time.Hour), //~ten*5 years
        BasicConstraintsValid: true,
    }
    return x509

}
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
java访问Https服务的客户端示例
关于证书1、每个人都可以使用一些证书生成工具为自己的https站点生成证书(比如JDK的keytool),大家称它为“自签名证书”,但是自己生成的证书是不被浏览器承认的,所以浏览器会报安全提示,要求你手动安装证书,提示风险,是否继续等。只有通过权威的CA机构付费获得的证书才能被浏览器承认。2、证书(无客户端服务端之分)保存着IP信息、证书过
Stella981 Stella981
2年前
Fabric CA证书管理教程
FabricCA是HyperledgerFabric自带的证书管理工具,对于开发和测试非常方便。在这个教程中我们将探索FabricCA的使用方法并利用它完成用户的注册/Register和登记/Enrollment。HyperledgerFabric是一个许可制的区块链平台,在访问Fabric网络之前必须先进行身份识别并获得访问许可。Fabric网
Stella981 Stella981
2年前
CentOS系统:自动化运维工具Ansible的安装与配置
一、Ansible工具简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。二、Ansible的安装1、因为是对Ansible的简单测试,所以
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
Kafka及周边深度了解
  之前介绍了使用官方脚本自动化启动一个Fabric网络,并且所有的证书都是通过官方的命令行工具cryptogen直接生成网络中的所有节点的证书。在开发环境可以这么简单进行,但是生成环境下还是需要我们自定义对网络中的节点的证书进行配置。    所以在本文中,将会详细介绍一个从手动生成证书一直到启动网络的整体步骤。本文只交代整体的搭建步骤。对于Fa
Stella981 Stella981
2年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
2年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio