go语言ca证书 go语言开发教程

通过Go语言创建CA与签发证书本篇文章中,将描述如何使用go创建CA , 并使用CA签署证书 。在使用openssl创建证书时 , 遵循的步骤是 创建秘钥创建CA生成要颁发证书的秘钥使用CA签发证书 。这种步骤,那么我们现在就来尝试下 。
首先 , 会从将从创建CA开始 。CA会被用来签署其他证书
接下来需要对证书生成公钥和私钥
然后生成证书:
我们看到的证书内容是PEM编码后的 , 现在caBytes 我们有了生成的证书,我们将其进行 PEM 编码以供以后使用:
证书的x509.Certificate与CA的x509.Certificate属性有稍微不同 , 需要进行一些修改
为该证书创建私钥和公钥:
有了上述的内容后 , 可以创建证书并用CA进行签名
要保存成证书格式需要做PEM编码
创建一个ca.go里面是创建ca和颁发证书的逻辑
如果需要使用的话,可以引用这些函数
panic: x509: unsupported public key type: rsa.PublicKey
这里是因为x509.CreateCertificate的参数privatekey需要传入引用变量,而传入的是一个普通变量
extendedKeyUsage:增强型密钥用法(参见"new_oids"字段):服务器身份验证、客户端身份验证、时间戳 。
keyUsage : 密钥用法,防否认(nonRepudiation)、数字签名(digitalSignature)、密钥加密(keyEncipherment) 。
文章来自
如何学习区块链?如果想学习比特币及区块链方面的知识,还是要系统性地学习 。网上这方面讨论、资料都很多,但水平参差不齐 。建议看一下区块链老师的线上课程 。
线上区块链视频教程是由Steven老师进行直播教学 。Steven老师,西交大学学士,北航软件学院工程硕士 。从事IT行业15年,7年编程开发经验,8年计算机培训经验 。分别从事过Asp、Asp.net、PHP、Java、Android、HTML5等开发和教学工作 。曾出版发行《变身程序猿——Android应用开发》(电子工业出版社) , 《Steven陪你学Android》、《零基础学编程》、《解密区块链》系列视频 。
想要学习区块链技术的同学通过三个月线上直播学习,毕业后能够掌握区块链基本概念、精通智能合约开发与架构设计、掌握代币开发与ICO发币、掌握全栈dapp开发 。
其区块链技术课程大纲如下:
1.1区块链基本理论0.5周
1.1.1初识区块链
1.1.2认识区块链家族
1.1.3区块链与比特币常见问题及基本概念
1.1.4区块链应用场景
1.1.5比特币钱包BitcoinCore
1.1.6testnet环境实现比特币交易
1.2编程基础入门3.5周
1.2.1计算机软硬件基础
1.2.2字符集及字符编码
1.2.3HTML+CSS(含HTML5+CSS3)
1.2.4ECMAScript + BOM + DOM
1.2.5jQuery
1.2.6node.js
1.2.7Ajax及Express
1.3Go编程语言6周
1.3.1Go基本语法
1.3.2流程控制
1.3.3函数及数据
1.3.4错误处理
1.3.5Go面向对象编程
1.3.6Go并发编程
1.3.7Go网络编程
1.3.8Go安全编程
1.3.9Go进阶编程(goroutine、channel)
1.3.10数据库MySQL、LevelDB
1.4区块链1.0——比特币Bitcoin1周
1.4.1比特币原理
1.4.2比特币系统架构
1.4.3密码算法(Go语言实现)
1.4.4共识算法(Go语言实现)
1.4.5比特币交易原理及交易脚本
1.4.6比特币RPC编程(node.js实现)
1.4.7比特币源码解析
1.5区块链2.0——以太坊Ethereum3周
1.5.1以太坊工作原理及基础架构
1.5.2以太坊基本概念(账户、交易、Gas)
1.5.3以太坊钱包Mist及Metamask
1.5.4以太坊交易
1.5.5ERC20标准Token开发部署
1.5.6以太坊开发IDE——remix-ide
1.5.7智能合约与Solidity

推荐阅读