我正在構建第三方API的存根。向第三方提出的請求必須使用提供的公鑰進行加密。作爲存根的一部分,我想解密傳入的請求。從自簽名證書生成X.509 SubjectPublicKeyInfo/OpenSSL PEM公鑰
我打算更改我的調用代碼使用的公鑰,以便我可以使用我的私鑰對其進行解密。
我有一個自簽名證書,正用於應用程序的其他部分,我希望我可以重複使用。
我遇到的問題是以我需要的格式取出證書中的公鑰。
基於由伊恩·博伊德(this one和this one),我需要得到公共密鑰到格式有兩個答案是「X.509的SubjectPublicKeyInfo/OpenSSL的PEM」,這是關鍵我的格式從我的第三方接收。例如:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcZ/r0nvJyHUUstIB5BqCUJ1CC
Cd1nzle4bEpPQJ/S0Wn7mV2FDAeh+UcbVhZu9n+5zypYNjeZKapPqBLoT8eCK51y
Kpzeb8LuEm3P8PK4xN18XBrIF1GprN8IIgSdK9f5SwnemutcURrY+PlWnvj7N5s/
03RlJA3/NHVXpPW/VQIDAQAB
-----END PUBLIC KEY-----
我使用X509Certificate2.GetPublicKey方法試過,然後對其進行編碼base64
,但是這給了我在 「PEM DER ASN.1 PKCS#1 RSA」 格式的關鍵。
有誰知道我可以如何獲得我需要的格式的公鑰?我不一定需要代碼中的密鑰,我只需要一個可以存儲在數據庫中的字符串值。
我的證書/私人/公共/密碼學知識僅限於任何幫助將不勝感激!