關于pkcs8與rsa互轉(zhuǎn)的一個坑-創(chuàng)新互聯(lián)

其實最主要就2條命令(環(huán)境為centos6.5 已安裝openssl openssl-devel 這2個包):

我們提供的服務有:成都網(wǎng)站設計、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、坡頭ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的坡頭網(wǎng)站制作公司

pkcs8轉(zhuǎn)rsa:

openssl rsa -in pkcs8密鑰 -out rsa密鑰

rsa轉(zhuǎn)pkcs8:

openssl pkcs8 -topk8 -inform PEM -in rsa密鑰 -outform PEM -nocrypt -out pkcs8密鑰

但是坑的地方是格式

看個例子(pkcs8轉(zhuǎn)rsa):

假設開發(fā)給過來一個密鑰

[root@localhost test]# cat test.pkcs8

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANzST5PZDWx+HWdDVAGE4PlADMB4gm1r0AGCvmcm68diL6Gjspm7flIesPURVxbEMzyUjMxPCm6aLPfcYSvORqDXR67ygUWszcPGtJDB/KPl+efDeCunKKQhmriyZIkdeOEjvlxjtmcji+vL7cC7nIcvlPx8EywzM9bwvfg/0hSDAgMBAAECgYA4O3I6Uy6g7yirsDCHRoBH2LCmnsmP9cF9cP7to7KtDmrUvavwjBdp8Bjd/3FvAb2OcsG8EXC1o5tJ7xvrnNbNC4zhHabMbFs9hCnahJbLIe7AJFerwQJRhtT7DmX0ax6MtdPXrFGoGUyM5uc5JX5cUCtzE7vhMO0nvLSKu/bw6QJBAO8npWjXdIy+BjKBsWYXHmlUg3m84P735z6qGdK/Xxq9U/F9v2XFd6TSfwWNFPFWoXnjnAg6J2nD4hD2J8/wam0CQQDsYBWl0/AX3CvZFR5tkBXCMmf30mQvziiJUbC5EPj4Jh5GirXevFSFcsie3H2D7xQ55FC2IVCNJeM0isGoSiSvAkABRCl5C6L/V8Y6oDsrOjYcAqmLjHd4giGEUGxAlGjRgG0gWzUXOdtvUPoBMoUI3heOyKi71mr9AV+CDXuae0BlAkAZB+PC97qJDEuoZVAfkg57zhKsb58kYNRyFjB8qIt027R6RN4VhCP/LbSI/hhcjEi8CK1zW/vHtqdkvPzc8V0JAkBzCYP7ggfbB6Ea0kd4+FoKkddwb91h5tQHH6BXsDl1CURqT2HGeiAbLkETcp7Wsgs5HiMHGcVxv8Xt/mtwFLMK

[root@localhost test]#

我開始使用命令轉(zhuǎn)換

[root@localhost test]# openssl rsa -in test.pkcs8 -out test.rsa

unable to load Private Key

139656125785928:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY

[root@localhost test]#

報錯了!

然后習慣性百度:關于pkcs8 與 rsa 互轉(zhuǎn)的一個坑

大概說的是 需要添加頭部和尾部然后試試

[root@localhost test]# cat test.pkcs8

-----BEGIN PRIVATE KEY-----

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANzST5PZDWx+HWdDVAGE4PlADMB4gm1r0AGCvmcm68diL6Gjspm7flIesPURVxbEMzyUjMxPCm6aLPfcYSvORqDXR67ygUWszcPGtJDB/KPl+efDeCunKKQhmriyZIkdeOEjvlxjtmcji+vL7cC7nIcvlPx8EywzM9bwvfg/0hSDAgMBAAECgYA4O3I6Uy6g7yirsDCHRoBH2LCmnsmP9cF9cP7to7KtDmrUvavwjBdp8Bjd/3FvAb2OcsG8EXC1o5tJ7xvrnNbNC4zhHabMbFs9hCnahJbLIe7AJFerwQJRhtT7DmX0ax6MtdPXrFGoGUyM5uc5JX5cUCtzE7vhMO0nvLSKu/bw6QJBAO8npWjXdIy+BjKBsWYXHmlUg3m84P735z6qGdK/Xxq9U/F9v2XFd6TSfwWNFPFWoXnjnAg6J2nD4hD2J8/wam0CQQDsYBWl0/AX3CvZFR5tkBXCMmf30mQvziiJUbC5EPj4Jh5GirXevFSFcsie3H2D7xQ55FC2IVCNJeM0isGoSiSvAkABRCl5C6L/V8Y6oDsrOjYcAqmLjHd4giGEUGxAlGjRgG0gWzUXOdtvUPoBMoUI3heOyKi71mr9AV+CDXuae0BlAkAZB+PC97qJDEuoZVAfkg57zhKsb58kYNRyFjB8qIt027R6RN4VhCP/LbSI/hhcjEi8CK1zW/vHtqdkvPzc8V0JAkBzCYP7ggfbB6Ea0kd4+FoKkddwb91h5tQHH6BXsDl1CURqT2HGeiAbLkETcp7Wsgs5HiMHGcVxv8Xt/mtwFLMK

-----END PRIVATE KEY-----

[root@localhost test]# openssl rsa -in test.pkcs8 -out test.rsa

unable to load Private Key

140395488638792:error:0906D064:PEM routines:PEM_read_bio:bad base64 decode:pem_lib.c:812:

[root@localhost test]#

ps:rsa和pkcs8頭尾是不一樣的這里我加的是pkcs8的 不過還是不行。

然后大量的谷歌 大量的百度。。so就是沒有找到為什么。。之后我開始模擬生成rsa 在轉(zhuǎn)成pkcs8 看能不能轉(zhuǎn)回來

[root@localhost test]# openssl genrsa -out 1 1024

Generating RSA private key, 1024 bit long modulus

...........................++++++

........++++++

e is 65537 (0x10001)

[root@localhost test]# cat 1

-----BEGIN RSA PRIVATE KEY-----

MIICXQIBAAKBgQDaps4+IdCD7nmalOhcx2FndMok++4ZeT1heQhS4dxwmZRcUSoA

2fW/2slVpBt0dWozrjyF0XO+j2M7OZkz6A7G6lgEshtIWhHYOsjkujQuQp5kDhsm

LyB0pa9CcvX/HzdG/gFPqlaoRrqDH0/ZOtt0gukp8uIdvXqwLO3fyR/48wIDAQAB

AoGBAIJBkOgOuOt/q83dG7f5xxscxjfWJXfjdB+XPNAzYWFq/KkqaP1s2yvaKMru

IrT0Jbp39/I4Xt2NCi6EF7KGchYQJFFw5Vk7rx+yWcSwzn5VMkLTCXo5VRRcXADP

j8oO0mNotEeA3Lm9s1ItyAJYiDd/hVZ9B8mVNGKabwtmWV8BAkEA8GiW9q32IV2D

0fy5S+ozyrsOeA7sQMgVp2wZ1Oo/WTvC8a/Lrny5W0AUggM7J+IMVxdqaGgzOrhJ

TNikdNVbswJBAOjU/k6TMZz1kC/SAv8PiNmVg+WEYeJjxOtm4wlyQFOjS74Az2U4

sRIvHmNs9Lp6CvHjkfeSCr0aqTAYIY0LTcECQHnONDbV2y/6hpB9QJEDH6ym6+TO

g***1TTXo5rp+KDIk7QKwuMsVGm0ZO+enXlOobv6pDI0IUiuGI1z8pczhtsCQQDe

6bVEU0aHyM8wCXhW7G+QKcaqwnDYx75rxgiOLbWKnefRVIM7nOhiyXvloxY3Rssd

xUwl48umO1VKN4A/wlfBAkB6/wdKAgw1lNXbDX0qXBgT7ODq/tMYPkSkHej+KXOJ

T1pMPLALJK1BRQgiYndR6Fp97oXz8rhflPgXq8ys+Bvf

-----END RSA PRIVATE KEY-----

[root@localhost test]# openssl pkcs8 -topk8 -inform PEM -in 1 -outform PEM -nocrypt -out 1.pkcs8

[root@localhost test]# cat 1.pkcs8

-----BEGIN PRIVATE KEY-----

MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANqmzj4h0IPueZqU

6FzHYWd0yiT77hl5PWF5CFLh4HCZlFxRKgDZ9b/ayVWkG3R1ajOuPIXRc76PYzs5

mTPoDsbqWASyG0haEdg6yOS6NC5CnmQOGyYvIHSlr0Jy9f8fN0b+AU+qVqhGuoMf

T9k623SC6Sny4h39erAs7d/JH/jzAgMBAAECgYEAgkGQ6A6463+rzd0bt/nHGxzG

N9Yld+N0H5c80DNhYWr8qSpo/WzbK9ooyu4itPQlunf38jhe3Y0KLoQXsoZyFhAk

UXDlWTuvH7JZxLDOflUyQtMJejlVFFxcAM+Pyg7SY2i0R4Dcub2zUi3IAliIN3+F

Vn0HyZU0YppvC2ZZXwECQQDwaJb2rfYhXYPR/LlL6jPKuw54DuxAyBWnbBnU6j9Z

O8Lxr8uufLlbQBSCAzsn4gxXF2poaDM6uElM2KR01VuzAkEA6NT+TpMxnPWQL9IC

/w+I2ZWD5YRh5mPE62bjCXJAU6NLvgDPZTixEi8eY2z0unoK8eOR95IKvRqpMBgh

jQtNwQJAec40NtXbL/qGkH1AkQMfrKbr5M6CyyvVNNejmun4oMiTtArC4yxUabRk

756deU6hu/qkMjQhSK4YjXPylzOG2wJBAN7ptURTRofIzzAJeFbsb5ApxqrCcNjH

vmvGCI4ttYqd59FUgzuc6GLJe+WjFjdGyx3FTCXjy6Y7VUo3gD/CV8ECQHr/B0oC

DDWU1dsNfSpcGBPs4Or+0xg+RKQd6P4pc4lPWkw8sAskrUFFCCJid1HoWn3uhfPy

uF+U+BerzKz4G98=

-----END PRIVATE KEY-----

[root@localhost test]# openssl rsa -in 1.pkcs8 -out 1.rsa

writing RSA key

[root@localhost test]# cat 1.rsa

-----BEGIN RSA PRIVATE KEY-----

MIICXQIBAAKBgQDaps4+IdCD7nmalOhcx2FndMok++4ZeT1heQhS4dxwmZRcUSoA

2fW/2slVpBt0dWozrjyF0XO+j2M7OZkz6A7G6lgEshtIWhHYOsjkujQuQp5kDhsm

LyB0pa9CcvX/HzdG/gFPqlaoRrqDH0/ZOtt0gukp8uIdvXqwLO3fyR/48wIDAQAB

AoGBAIJBkOgOuOt/q83dG7f5xxscxjfWJXfjdB+XPNAzYWFq/KkqaP1s2yvaKMru

IrT0Jbp39/I4Xt2NCi6EF7KGchYQJFFw5Vk7rx+yWcSwzn5VMkLTCXo5VRRcXADP

j8oO0mNotEeA3Lm9s1ItyAJYiDd/hVZ9B8mVNGKabwtmWV8BAkEA8GiW9q32IV2D

0fy5S+ozyrsOeA7sQMgVp2wZ1Oo/WTvC8a/Lrny5W0AUggM7J+IMVxdqaGgzOrhJ

TNikdNVbswJBAOjU/k6TMZz1kC/SAv8PiNmVg+WEYeJjxOtm4wlyQFOjS74Az2U4

sRIvHmNs9Lp6CvHjkfeSCr0aqTAYIY0LTcECQHnONDbV2y/6hpB9QJEDH6ym6+TO

g***1TTXo5rp+KDIk7QKwuMsVGm0ZO+enXlOobv6pDI0IUiuGI1z8pczhtsCQQDe

6bVEU0aHyM8wCXhW7G+QKcaqwnDYx75rxgiOLbWKnefRVIM7nOhiyXvloxY3Rssd

xUwl48umO1VKN4A/wlfBAkB6/wdKAgw1lNXbDX0qXBgT7ODq/tMYPkSkHej+KXOJ

T1pMPLALJK1BRQgiYndR6Fp97oXz8rhflPgXq8ys+Bvf

-----END RSA PRIVATE KEY-----

[root@localhost test]#

然后再看看自己的

[root@localhost test]# cat test.pkcs8

-----BEGIN PRIVATE KEY-----

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANzST5PZDWx+HWdDVAGE4PlADMB4gm1r0AGCvmcm68diL6Gjspm7flIesPURVxbEMzyUjMxPCm6aLPfcYSvORqDXR67ygUWszcPGtJDB/KPl+efDeCunKKQhmriyZIkdeOEjvlxjtmcji+vL7cC7nIcvlPx8EywzM9bwvfg/0hSDAgMBAAECgYA4O3I6Uy6g7yirsDCHRoBH2LCmnsmP9cF9cP7to7KtDmrUvavwjBdp8Bjd/3FvAb2OcsG8EXC1o5tJ7xvrnNbNC4zhHabMbFs9hCnahJbLIe7AJFerwQJRhtT7DmX0ax6MtdPXrFGoGUyM5uc5JX5cUCtzE7vhMO0nvLSKu/bw6QJBAO8npWjXdIy+BjKBsWYXHmlUg3m84P735z6qGdK/Xxq9U/F9v2XFd6TSfwWNFPFWoXnjnAg6J2nD4hD2J8/wam0CQQDsYBWl0/AX3CvZFR5tkBXCMmf30mQvziiJUbC5EPj4Jh5GirXevFSFcsie3H2D7xQ55FC2IVCNJeM0isGoSiSvAkABRCl5C6L/V8Y6oDsrOjYcAqmLjHd4giGEUGxAlGjRgG0gWzUXOdtvUPoBMoUI3heOyKi71mr9AV+CDXuae0BlAkAZB+PC97qJDEuoZVAfkg57zhKsb58kYNRyFjB8qIt027R6RN4VhCP/LbSI/hhcjEi8CK1zW/vHtqdkvPzc8V0JAkBzCYP7ggfbB6Ea0kd4+FoKkddwb91h5tQHH6BXsDl1CURqT2HGeiAbLkETcp7Wsgs5HiMHGcVxv8Xt/mtwFLMK

-----END PRIVATE KEY-----

[root@localhost test]#

難道是因為需要分割?

[root@localhost test]# cat test.pkcs8

-----BEGIN PRIVATE KEY-----

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANzST5PZDWx+HWdD

VAGE4PlADMB4gm1r0AGCvmcm68diL6Gjspm7flIesPURVxbEMzyUjMxPCm6aLPfc

YSvORqDXR67ygUWszcPGtJDB/KPl+efDeCunKKQhmriyZIkdeOEjvlxjtmcji+vL

7cC7nIcvlPx8EywzM9bwvfg/0hSDAgMBAAECgYA4O3I6Uy6g7yirsDCHRoBH2LCm

nsmP9cF9cP7to7KtDmrUvavwjBdp8Bjd/3FvAb2OcsG8EXC1o5tJ7xvrnNbNC4zh

HabMbFs9hCnahJbLIe7AJFerwQJRhtT7DmX0ax6MtdPXrFGoGUyM5uc5JX5cUCtz

E7vhMO0nvLSKu/bw6QJBAO8npWjXdIy+BjKBsWYXHmlUg3m84P735z6qGdK/Xxq9

U/F9v2XFd6TSfwWNFPFWoXnjnAg6J2nD4hD2J8/wam0CQQDsYBWl0/AX3CvZFR5t

kBXCMmf30mQvziiJUbC5EPj4Jh5GirXevFSFcsie3H2D7xQ55FC2IVCNJeM0isGo

SiSvAkABRCl5C6L/V8Y6oDsrOjYcAqmLjHd4giGEUGxAlGjRgG0gWzUXOdtvUPoB

MoUI3heOyKi71mr9AV+CDXuae0BlAkAZB+PC97qJDEuoZVAfkg57zhKsb58kYNRy

FjB8qIt027R6RN4VhCP/LbSI/hhcjEi8CK1zW/vHtqdkvPzc8V0JAkBzCYP7ggfb

B6Ea0kd4+FoKkddwb91h5tQHH6BXsDl1CURqT2HGeiAbLkETcp7Wsgs5HiMHGcVx

v8Xt/mtwFLMK

-----END PRIVATE KEY-----

[root@localhost test]# openssl rsa -in test.pkcs8 -out test.rsa

writing RSA key

[root@localhost test]# cat test.rsa

-----BEGIN RSA PRIVATE KEY-----

MIICWwIBAAKBgQDc0k+T2Q1sfh2nQ1QBhOD5QAzAeIJta9ABgr5nJuvHYi+ho7KZ

u35SHrD1EVcWxDM8lIzMTwpumiz33GErzkag10eu8oFFrM3DxrSQwfyj5fnnw3gr

pyikIZq4smSJHXjhI75cY7ZnI4vry+3Au5yHL5T8fBMsMzPW8L34P9IUgwIDAQAB

AoGAODtyOlMuoO8oq7Awh0aAR9iwpp7Jj/XBfXD+7aOyrQ5q1L2r8IwXafAY3f9x

bwG9jnLBvBFwtaObSe8b65zWzQuM4R2mzGxbPYQp2oSWyyHuwCRXq8ECUYbU+w5l

9GsejLXT16xRqBlMjObnOSV+XFArcxO74TDtJ7y0irv28OkCQQDvJ6Vo13SMvgYy

gbFmFx5pVIN5vOD+9+c+qhnSv18avVPxfb9lxXek0n8FjRTxVqF545wIOidpw+IQ

9ifP8GptAkEA7GAVpdPwF9wr2RUebZAVwjJn99JkL84oiVGwuRD4+CYeBoq13rxU

hXLIntx9g+8UOeRQtiFQjSXjNIrBqEokrwJAAUQpeQui/1fGOqA7Kzo2HAKpi4x3

eIIhhFBsQJRo0YBtIFs1Fznbb1D6ATKFCN4Xjsiou9Zq/QFfgg17mntAZQJAGQfj

wve6iQxLqGVQH5IOe84SrG+fJGDUchYwfKiLdNu0ekTeFYQj/y20iP4YXIxIvAit

c1v7x7anZLz83PFdCQJAcwmD+4IH2wehGtJHePhaCpHXcG/dYeLUBx+gV7A5dQlE

ak9hxnogGy5BE3Ke1rILOR4jBxnFcb/F7f5rcBSzCg==

-----END RSA PRIVATE KEY-----

[root@localhost test]#

然后搞定!。。

結論:雖然不知道是為什么,但是確實這個密鑰對格式有一定的要求并不能像代碼一樣一行就能搞定 轉(zhuǎn)換的時候 需要加上頭部底部 在對字符串 以相應的格式 換行 才能轉(zhuǎn)換

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前文章:關于pkcs8與rsa互轉(zhuǎn)的一個坑-創(chuàng)新互聯(lián)
標題鏈接:http://bm7419.com/article16/dicegg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、商城網(wǎng)站、面包屑導航軟件開發(fā)、移動網(wǎng)站建設網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設