簡體   English   中英

如何在Java中生成可在Android和iOS上使用的RSA公鑰?

[英]How can I generate a RSA Public key in Java that can be used on Android and on iOS?

我在使用Spring的Java中有一個Web服務,需要生成RSA密鑰對並通過此WS發送PUBLIC KEY,以便ANDROID和iOS應用可以使用此公共密鑰讀取和加密STRING。

在每個WS請求上,它都必須生成一個新的密鑰對。

我試圖在Java中使用KeyPair類,只有ANDROID應用程序可以識別出公鑰。

我怎樣才能做到這一點? 有人可以幫我弄這個嗎?

經過進一步研究,我發現iOS的secKeyWrapper只能接受ASN.1 DER格式的密鑰數據。 任何嘗試以任何其他格式傳遞數據的嘗試在iOS上肯定會失敗。

通過以PEM格式轉儲RSA密鑰並使用以下鏈接中的方法讀取PEM並轉換為ASN.1 DER格式並將其傳遞給SecKeyWrapper來解決該問題!

替代方法:也可以通過使用iOS的OpenSSL庫解決問題(請參閱使用OpenSSL在iOS上從iOS的Modulus&Exponent生成公鑰 ),並為輸入模數和指數(base64編碼)數據創建RSA對象,以供其他任何共享的公鑰使用平台。

首選項-> SSH2->密鑰管理->選擇RSA->在庫空間上移動鼠標直到生成公鑰->單擊保存私鑰(公鑰和私鑰都將保存在C:// Users / User中名稱/.ssh/id_rsa.pub密鑰),僅此而已...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM