亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RSACng 和 CngKeyBlobFormat 導入導出格式

RSACng 和 CngKeyBlobFormat 導入導出格式

C#
海綿寶寶撒 2021-10-31 19:02:00
我在 pem 文件中有一個 ASN.1 編碼的 RSA 私鑰,格式如下:-----BEGIN RSA PRIVATE KEY----- base64 encoded pkcs8 key -----END RSA PRIVATE KEY-----現在,要將其導入到我的RSACng對象中,我需要執行以下步驟:讀取文件并提取編碼的密鑰轉換base64為字節以獲取byte[]for pkcs8 密鑰將byte[]ASN.1 (DER)解碼為關鍵信息(模數、指數等)將這些參數加載到RSACng對象中我有以下兩個問題:1.為什么 CngKeyBlobFormat.Pkcs8PrivateBlob 不允許你自動將PKCS8 byte[] 密鑰導入 RSACng 對象?例如,為什么它不能以這種方式工作:var keyData = GetBytesFromPEM(pemstring); // Get the bytes for key that is ASN.1 DER encoded CngKey cngKey = CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob);CngKeyBlobFormat 明確指定它是一個 PKCS8 私有 blob。2. 的ASN.1編碼格式是 RSACng.Key.Export(CngKeyBlobFormat.Pkcs8PrivateBlob)什么?我注意到,如果我RSACng按照上面描述的那樣將密鑰加載到 中,然后使用上面的代碼導出相同的密鑰,我會得到以不同 ASN.1 格式編碼的 BLOB,并且在它的 INSIDE 中包含 ASN.1 DER 編碼的密鑰?;旧?,要從這個導出的密鑰中獲取信息,我需要再次從這個 ASN.1 格式解碼它,以獲取存儲在其中的原始密鑰參數,這些參數再次以 ASN.1 DER 編碼。為什么會這么亂?并且是您不能將 ASN.1 DER 編碼的密鑰導入RSACng到CngKeyBlobFormat.Pkcs8PrivateBlob具有不同 ASN.1 編碼格式并且它不是 DER 的原因嗎?潛在的解決方法是將原始 RSA 私鑰編碼為另一種 ASN.1 格式,因為這正是導出密鑰的方式?編輯:顯然,RSACng.Key.Export(CngKeyBlobFormat.Pkcs8PrivateBlob)使用對象標識符(我還不熟悉),但它似乎仍然是 DER 格式
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 351 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號