.net core 使用RSA获取私钥证书并签名
以前我們使用RSA加密主要是使用RSACryptoServiceProvider這個類,在.NET?Core中也有這個類,但是這個類并不支持跨平臺,所以如果你是用這個類來進行加/解密在windows上運行是完全沒有錯誤的,但是只要你一放到Linux下就會出現異常。
查閱資料得知,要解決這個問題,需要改用?System.Security.Cryptography.RSA.Create()?工廠方法,使用它之后,在 Windows 上創建的是?System.Security.Cryptography.RSACng?的實例,在 Mac 與 Linux 上創建的是?System.Security.Cryptography.RSAOpenSsl?的實例,它們都繼承自?System.Security.Cryptography.RSA?抽象類。
這里要講一下RSA2算法。
什么是RSA2??RSA2?是在原來SHA1WithRSA簽名算法的基礎上,新增了支持SHA256WithRSA的簽名算法。該算法比SHA1WithRSA有更強的安全能力。
| RSA2 | SHA256WithRSA | (強烈推薦使用),強制要求RSA密鑰的長度至少為2048 |
| RSA | SHA1WithRSA | 對RSA密鑰的長度不限制,推薦使用2048位以上 |
簽名的作用:保證數據完整性,機密性和發送方角色的不可抵賴性
看下代碼:
HashAlgorithmName.SHA256??//獲取表示“SHA256”的哈希算法名稱。RSASignaturePadding.Pkcs1?//獲取使用?PKCS?#1?v1.5?填充模式的對象。
原文地址:https://www.cnblogs.com/wsprince/p/10710566.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的.net core 使用RSA获取私钥证书并签名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一张图来看看.NETCore和前后端技术
- 下一篇: .NET Core 3.0 Previe