在工作中我们或多或少会接触对接外部系统(如微信支付宝),对接过程中又无可避免会对数据的加解密和加签验签。一般第三方会提供一个授权证书,让我们自行解密提取秘钥。为了让你拿到证书后不会像我当初一样一脸懵逼,咱们来看看如何从p12证书中提取公私钥。 百度百科: p12证书包含了私钥、公钥并且有口令保护,在证书泄露后还有最后一道保障。没有证书口令无法提取秘钥。 很多人会讲“公钥序列号”、“私钥序列号”等字眼,这都是错误的概念,只有证书才存在序列号。 我们利用OpenSSL命令提取 该秘钥内容如下: 提示输入证书口令后可得到原始秘钥rsa_origin.key,但仅有该秘钥是没用的,必须再从其中提取出公钥和私钥。 同样,利用OpenSSL命令提取RSA私钥 提取出私钥rsa_pkcs1.pem内容如下: 此处注意,该秘钥为PKCS#1格式,在PHP下可直接使用,若为java环境,我们一般需要使用PKCS#8格式私钥,那么再来做一次转换。 通过该命令我们得到java下可用的RSA私钥 至此RSA私钥提取完毕。 以上命令可提取出RSA公钥。 至此RSA公钥提取完毕。 我们可以使用在线RSA加解密工具,输入我们提取出的RSA公钥和私钥,在下方输入任何字符后点公钥加密,然后将密文覆盖到原文,点击私钥解密。若能得到原文说明RSA公私钥正确无误。
前言
什么是p12证书
我们常说的p12证书全称是PKCS#12(Public-Key Cryptography Standards:公钥加密标准)
PKCS#12是一种交换数字证书的加密标准,用来描述个人身份信息。如:用户公钥、私钥、证书等。
对PKCS标准感兴趣的小伙伴可以点我打开百度百科p12证书提取秘钥流程图
提取流程详解
1. 提取证书序列号
一个最简单的办法,在Windows系统下直接双击p12证书导入证书。在输入密码后看到如下提示表示证书导入成功。
然后Win+R打开命令行输入certmgr.msc打开
按如下图即可找到证书序列号,至此证书序列号获取完毕。
2.提取原始秘钥
openssl pkcs12 -in 你的证书.p12 -nocerts -nodes -out rsa_origin.key
-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxB/LNFITHme/a 此处省略N行 +naXDzKULrHVPtBYQkcGneZx2A2DLYBMupWI6EVw/anw9vLuhH8tVwuB77/1xQvf 4vngZlegOoSf2DQOcwU9z7A= -----END PRIVATE KEY-----
3.从原始秘钥提取RSA私钥
openssl rsa -in rsa_origin.key -out rsa_pkcs1.pem
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAsQfyzRSEx5nv2pM/Lv0FXvohs+mSnzSOhK5C44PMXoGsAGmT 此处省略N行 cEYdpIoL/QDF5zz7lFDSOvryep+g1Pp2lw8ylC6x1T7QWEJHBp3mcdgNgy2ATLqV iOhFcP2p8Pby7oR/LVcLge+/9cUL3+L54GZXoDqEn9g0DnMFPc+w -----END RSA PRIVATE KEY-----
openssl pkcs8 -topk8 -inform PEM -in rsa_pkcs1.pem -outform PEM -out rsa_private_pkcs8.pem -nocrypt
-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxB/LNFITHme/a 此处省略N行 +naXDzKULrHVPtBYQkcGneZx2A2DLYBMupWI6EVw/anw9vLuhH8tVwuB77/1xQvf 4vngZlegOoSf2DQOcwU9z7A= -----END PRIVATE KEY-----
4.从原始秘钥提取RSA公钥
openssl rsa -in rsa_origin.key -pubout -out rsa_public_key.pem
提示:RSA公钥不存在格式问题,可以直接使用。-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsQfyzRSEx5nv2pM/Lv0F 此处省略N行 vucXimGLR2AS6yooZg3dcELsQmQ9tsoPdKB0IlGpZwp/XPf5Gxwia/WHJzS9PMjb bQIDAQAB -----END PUBLIC KEY-----
验证秘钥提取结果
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算