PKCS8:全名《Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification》,从名称可以看出它是一个专门用来存储私钥而定义的格式规范。

个人理解:PKCS1只定义了对RSA密钥的编码规范,而PKCS8则可以对范围更大的私钥进行编码!!!

本章内容只列举RSA和SM2两种类型的密钥编码。

一、公钥

1、编码

import (x509 "github.com/tjfoc/gmsm/x509"
)
// 支持RSA/ECDSA/SM2类型
func GeneratePubKeyMarshalPKCS8(key crypto.PublicKey) ([]byte, error) {return x509.MarshalPKIXPublicKey(key)
}

2、解码

func GeneratePubKeyUnMarshalPKCS8(data []byte) (crypto.PublicKey, error) {return x509.ParsePKIXPublicKey(data)
}

二、私钥

1、编码

import (nx509 "crypto/x509"x509  "github.com/tjfoc/gmsm/x509"
)
// 支持RSA和SM2,pwd只有在SM2类型时使用
func GeneratePriKeyMarshalPKCS8(key crypto.PrivateKey, pwd []byte) ([]byte, 

Golang-PKCS8相关推荐

  1. Golang 加密方法

    如果想直接使用我下列的库 可以直接go get 我的github go get -u github.com/hybpjx/InverseAlgorithm md5 加密--不可逆 MD5信息摘要算法是 ...

  2. golang解析数字证书

    golang解析数字证书 基础知识 在解析数字证书之前我们要学习一下数字证书的知识,明白一下数字证书中的一些概念. 下面这些知识是你所要了解的,PKCS#8. PKCS#1.Certificate C ...

  3. 支付宝手机网页支付之golang版

    本文章主要是通过golang实现了支付宝手机网页支付的简单封装,封装的基本都是请求的必传参数,如果需要其他参数,可以自己修改BizContent结构体来满足自己的需求. 封装的文件大体分为4个文件: ...

  4. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  5. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  6. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  7. 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发

    基于Golang pmlpml/RxGo程序包的二次开发[阅读时间:约20分钟] 一.ReactiveX & RxGo介绍 1.ReactiveX 2.RxGo 二.系统环境&项目介绍 ...

  8. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  9. 基于Golang的对象序列化的程序包开发——myJsonMarshal

    基于Golang的对象序列化的程序包开发--myJsonMarshal[阅读时间:约10分钟] 一.对象序列化概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体程序设计及 ...

  10. 【golang程序包推荐分享】go-ini、viper、godoc

    [golang程序包推荐&分享]go-ini.viper.godoc 一.go-ini 1.程序包简介 2.下载安装 3.简单使用[截取自官网] 二.viper 1.程序包简介 2.下载安装 ...

最新文章

  1. DDD 领域驱动设计:贫血模型、充血模型的深入解读!
  2. php的cookie教程,PHP4之COOKIE支持详解
  3. leetcode:203. 移除链表元素(两种方法)
  4. UESTC_秋实大哥下棋 2015 UESTC Training for Data StructuresProblem I
  5. mysql 表上线_腾讯云上线数据库 MySQL 8.0 版
  6. 初识exe程序反汇编小感
  7. 名为 cursor_jinserted 的游标不存在_你还在买丑橘吗?知道的人不多,看完后记得告诉身边人...
  8. 841. 钥匙和房间
  9. 【笔记】双线性池化(Bilinear Pooling)详解、改进及应用
  10. php安装mamcache扩展时报错
  11. 《Android游戏编程入门经典》——4.6节问与答
  12. 谁会成为中国互联网下一代英雄
  13. JAVA 配置文件 路径_Java配置文件读取和路径设置
  14. 边框盒子 box-sizing 的 content-box 和 border-box属性
  15. IM 即时通讯系统【源码好优多】
  16. Windows 10 企业版许可证即将过期怎么办
  17. HBuilder 真机调试提示:手机上没有信任本计算机的授权,请在手机上信任该授权
  18. 12.synchronized的锁重入、锁消除、锁升级原理?无锁、偏向锁、轻量级锁、自旋、重量级锁
  19. 程序员惨遭996,注册Github域名炮轰996工作模式,半小时破千星
  20. mysql geo_地理位置geo处理之mysql函数的详细介绍(附代码)

热门文章

  1. 人工智能肉搏战:商汤和旷世们的商业化征途
  2. FishC《零基础学习python》笔记--第002讲:用Python设计第一个游戏
  3. Blender:雕刻笔刷动态图解(一)
  4. 离线地图瓦片下载工具
  5. Termux字体大小调整
  6. NOI / 2.5基本算法之搜索7834:分成互质组(详细讲解)
  7. 小米9se无法连接adb的问题
  8. matlab的共轭梯度法
  9. 使用DevCpp/DevC++调试的设置和步骤
  10. k3刷机 重置_K3 官改刷官改升级或降级两种方法