RSA公鑰日矫、私鑰的生成詳解,包含Java、PHP绑榴、Android哪轿、iOS端

說(shuō)明:

Java和PHP為服務(wù)端,Android和iOS為客戶端翔怎。
Java和Android所用的公鑰窃诉、私鑰是同樣的格式,私鑰需要PKCS8格式赤套,默認(rèn)生成的私鑰是PKCS1格式的
php私鑰需要PKCS1格式的
iOS私鑰需要.p12的文件格式飘痛,公鑰需要.der格式的

公鑰作用:RSA加密 、驗(yàn)簽
私鑰作用:RSA解密容握、加簽

以下為終端操作命令的詳細(xì)步驟:

一宣脉、生成私鑰文件

 openssl genrsa -out rsa_private_key.pem 2048

openssl:是一個(gè)自由的軟件組織,專注做加密和解密的框架。
genrsa:指定了生成了算法使用RSA
-out:后面的參數(shù)表示生成的私鑰key的文件名字
2048:表示的是生成key的長(zhǎng)度,單位字節(jié)(bits)

此命令后會(huì)生成一個(gè)名字為rsa_private_key.pem剔氏、2048位塑猖、PKCS1格式的RSA私鑰

二竹祷、生成公鑰文件

 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

此命令會(huì)從私鑰中提取出來(lái)生成一個(gè)名字為rsa_public_key.pem的RSA公鑰

PHP

所需公鑰、私鑰已經(jīng)生成羊苟,即rsa_public_key.pem塑陵、rsa_private_key.pem

Java和Android

需要把私鑰的格式從默認(rèn)的PKCS1轉(zhuǎn)換為PKCS8格式

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out pkcs8_private_key.pem

此命令會(huì)會(huì)生成名字為pkcs8_private_key.pem的RSA私鑰文件

Java和Android所需公鑰、私鑰已經(jīng)生成蜡励,即rsa_public_key.pem令花、pkcs8_private_key.pem

可以到在線RSA驗(yàn)證網(wǎng)站上,驗(yàn)證公鑰私鑰是否成對(duì)凉倚。在線RAS生成彭则、轉(zhuǎn)換工具

iOS

由rsa_private_key.pem生成csr -> 生成crt -> 生成der -> 生成p12

1、 創(chuàng)建證書請(qǐng)求

openssl req -new -key rsa_private_key.pem -out rsacert.csr

拿著RSA私鑰文件去數(shù)字證書頒發(fā)機(jī)構(gòu)(即CA)申請(qǐng)一個(gè)數(shù)字證書占遥。CA會(huì)給你一個(gè)新的文件cacert.pem,那才是你的數(shù)字證書。

輸入命令后會(huì)提示讓輸入國(guó)家输瓜、省份瓦胎、地區(qū)、郵箱等信息尤揣,按要求填寫或者不填都可以搔啊,最終會(huì)生成rsacert.csr 文件

2、生成證書并簽名北戏,設(shè)置有效期10年

openssl x509 -req -days 3650 -in rsacert.csr -signkey rsa_private_key.pem -out rsacert.crt

509是一種非常通用的證書格式

將用上面生成的密鑰rsa_private_key.pem和rsacert.csr證書請(qǐng)求文件生成一個(gè)數(shù)字證書rsacert.crt,這個(gè)就是公鑰

3负芋、轉(zhuǎn)換格式:將pem格式文件轉(zhuǎn)換成der格式 (公鑰)

openssl x509 -outform der -in rsacert.crt -out public_key.der

在iOS開發(fā)中,公鑰是不能使用base64編碼的,上面的命令是將公鑰的base64編碼字符串轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)

此時(shí)生成的public_key.der就是iOS所需的RSA公鑰

4、 導(dǎo)出 P12 文件

openssl pkcs12 -export -out private_key.p12 -inkey rsa_private_key.pem -in rsacert.crt

在iOS使用私鑰不能直接使用嗜愈,需要導(dǎo)出一個(gè)p12文件旧蛾。此命令就是將私鑰文件導(dǎo)出為p12文件

此時(shí)會(huì)提示讓輸入密碼,可輸入iOS私鑰文件的密碼蠕嫁,但是請(qǐng)注意:在項(xiàng)目中讀取私鑰文件時(shí)需要此時(shí)設(shè)置的密碼锨天。并且此密碼是生成的p12私鑰文件的密碼,并不是rsa_private_key.pem原始私鑰文件的密碼

至此剃毒,iOS所需公鑰病袄、私鑰生成完成,分別是public_key.der赘阀、private_key.p12

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末益缠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子基公,更是在濱河造成了極大的恐慌幅慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轰豆,死亡現(xiàn)場(chǎng)離奇詭異欠痴,居然都是意外死亡迄靠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門喇辽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掌挚,“玉大人,你說(shuō)我怎么就攤上這事菩咨》褪剑” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵抽米,是天一觀的道長(zhǎng)特占。 經(jīng)常有香客問(wèn)我,道長(zhǎng)云茸,這世上最難降的妖魔是什么是目? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮标捺,結(jié)果婚禮上懊纳,老公的妹妹穿的比我還像新娘。我一直安慰自己亡容,他們只是感情好嗤疯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闺兢,像睡著了一般茂缚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屋谭,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天脚囊,我揣著相機(jī)與錄音,去河邊找鬼桐磁。 笑死凑术,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的所意。 我是一名探鬼主播淮逊,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扶踊!你這毒婦竟也來(lái)了泄鹏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤秧耗,失蹤者是張志新(化名)和其女友劉穎备籽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡车猬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年霉猛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珠闰。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惜浅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伏嗜,到底是詐尸還是另有隱情坛悉,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布承绸,位于F島的核電站裸影,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏军熏。R本人自食惡果不足惜轩猩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荡澎。 院中可真熱鬧均践,春花似錦、人聲如沸衔瓮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)热鞍。三九已至,卻和暖如春衔彻,著一層夾襖步出監(jiān)牢的瞬間薇宠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工艰额, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澄港,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓柄沮,卻偏偏與公主長(zhǎng)得像回梧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子祖搓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 在iOS中使用RSA加密解密狱意,需要用到.der和.p12后綴格式的文件,其中.der格式的文件存放的是公鑰(Pub...
    Code_zhou閱讀 3,138評(píng)論 3 9
  • RSA基本原理 RSA使用"秘匙對(duì)"對(duì)數(shù)據(jù)進(jìn)行加密解密.在加密解密數(shù)據(jù)前,需要先生成公鑰(public key)和...
    慧惠閱讀 1,836評(píng)論 3 7
  • /**ios常見的幾種加密方法: 普通的加密方法是講密碼進(jìn)行加密后保存到用戶偏好設(shè)置( [NSUserDefaul...
    彬至睢陽(yáng)閱讀 2,939評(píng)論 0 7
  • 還記得學(xué)前班的桌子是用沙子之類的東西砌起來(lái)的。 那時(shí)候的學(xué)習(xí)熱情真是高漲镐作。我五點(diǎn)半跑去上早自習(xí)藏姐,卻發(fā)現(xiàn)教室根本沒(méi)有...
    陸小米101閱讀 341評(píng)論 0 0
  • 好像我們每個(gè)人都習(xí)慣 去追求平淡的生活 心里卻又不甘于平庸 就這樣矛盾的生活著 最終生活不平淡 人生卻依舊平庸 或...
    澤雙木閱讀 407評(píng)論 0 5