我從PFX文件中提取公鑰時遇到問題。我使用的第一件事是X509Certificate2。然而,以這種方式接收到的公鑰是加密的,我想讓這個密鑰與 InternalsVisibleTo Attribute兼容 - 在示例部分有一個這樣的密鑰的樣本。有沒有辦法以兼容的形式提取這個鍵(與InternalsVisibleTo兼容)。從pfx文件中提取公鑰(Assembly a like)
2
A
回答
2
它的只是格式問題,即X509Certificate2應該返回您解密的公鑰(或失敗,例如錯誤的密碼)。
我建議您遵循Mono對強名稱程序集的規定,即它自己的sn工具。雖然Mono的sn.exe不能直接讀取PKCS#12文件,但它可以從密鑰容器中讀取,因此在這兩種情況下,您最終都會得到一個RSACryptoServiceProvider。
只要鑽入source代碼,它都是C#並且不是很長,並且您會在那裏找到您需要的內容(或者在涉及的少數幫助程序類之一中)。
+0
就是這樣。公鑰從X509Certificate2需要被轉換爲InternalsVisibleTo可接受的。通過sn.exe(單聲道)和通過[StrongName]源(https://github.com/mono/mono/blob/master/mcs/class/Mono.Security/Mono.Security/StrongName.cs)進行挖掘。和[CryptoConvert](https://github.com/mono/mono/blob/master/mcs/class/Mono.Security/Mono.Security.Cryptography/CryptoConvert.cs)幫助了我的情況。萬分感謝。 – MichaelMocko
相關問題
- 1. 如何從java中的PFX文件讀取公鑰
- 2. 如何使用openssl從pfx文件中提取私鑰?
- 3. 從pfx文件中提取公用名稱
- 4. 如何從.CER文件中提取私鑰和公鑰?
- 5. 提取從OpenSSL的密鑰文件的公鑰和私鑰
- 6. 從私鑰中提取公鑰C#
- 7. 從公鑰中提取私鑰openssl
- 8. c#RSA從私鑰中提取公鑰
- 9. 可能將RSA私鑰+公鑰轉換爲.pfx文件?
- 10. 從.pfx文件導入私鑰
- 11. 從EVP_PKEY密鑰對提取公鑰?
- 12. 用X509certificate從XML文件中提取公鑰?
- 13. 從認證中提取公用密鑰
- 14. PKC12 pfx文件中有哪些私鑰?
- 15. 從OpenSSL中的私鑰中提取公鑰
- 16. 在Java中的ssh-keygen命令從私鑰中提取公鑰
- 17. 從C++中的RSA私鑰中提取公鑰沒有openssl
- 18. 如何從perl中的RSA256公鑰中提取n,e密鑰?
- 19. 從RSA公鑰提取數據
- 20. 使用Python從私鑰輸入中提取公鑰publickeykey
- 21. 從pem格式的私鑰中提取公鑰
- 22. 如何創建密鑰庫(.pfx)文件
- 23. 從PFX文件獲取信息
- 24. 獲取PHP中的私鑰.pfx
- 25. 如何使用KEYTOOL命令從.p12(PFX)文件提取證書
- 26. 使用OpenSSL從PFX文件_without_提取證書
- 27. C#從文本文件中的公鑰獲取CngKey對象
- 28. 從C中加載公鑰文件#
- 29. 將.p7b文件和私鑰合併到.pfx文件中
- 30. Assembly INVOKE A procedure
你想驗證Authenticode簽名或什麼?如果您需要驗證authenticode,那麼驗證過程與比較公鑰不同。它涉及(a)檢查簽名,和(b)驗證證書。 –
嗨尤金。我正在嘗試獲取公鑰,因爲我需要編寫自動將InternalsVisibleTo屬性添加到AssemblyInfo文件的過程。不幸的是,當我沒有* .proj生成的程序集時,我需要考慮場景,但是我有一個pfx來簽署這個程序集(並且幫助我想提取這個公鑰)。 – MichaelMocko
可以使用密鑰對(使用sn.exe進行.NET簽名)並使用Authenticode(在這種情況下可以涉及PFX文件)對程序集進行簽名。你正在尋找的是.NET簽名,但它不涉及PFX。所以這裏有一些關於這個過程的混淆。 –