以前我们使用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获取私钥证书并签名相关推荐

  1. 使用keytool和openssl生成RSA公钥私钥和证书,

    RSA公钥私钥证书,使用keytool和openssl生成 生成JKS文件命令 用kes文件 生成公钥和证书命令 重中之中!!!!!! JKS文件 你不要打开 直接复制,挪到你用的位置,或者替换你之前 ...

  2. Java 通过证书文件获取私钥

    java通过证书文件获取私钥 import org.springframework.core.io.ClassPathResource;import java.util.Arrays; import ...

  3. C#实现RSA公钥加密私钥解密、私钥加密公钥解密以及Pcks12、X509证书加解密、签名验签

    RSA的私钥签名公钥验签可以见 http://blog.csdn.net/starfd/article/details/51917916,所以这里就没提供对应代码,具体代码如下: using Org. ...

  4. IOS证书获取(证书profile文件,p12私钥证书,证书私钥密码,Bundle ID)

    当我们在开发一个应用APP时需要真机测试,或者上架到对应的应用市场,这时就需要 App打包(打包流程),那么打包时就需要Bundle ID.证书私钥密码.证书profile文件.私钥证书. 申请这些资 ...

  5. RSA pkcs1与pkcs8 java获取私钥

    RSA  pkcs1与pkcs8  java获取私钥 目录 RSA  pkcs1与pkcs8  java获取私钥 获取秘钥 获取pkcs1 格式秘钥 获取pkcs8格式秘钥 读取秘钥信息 解密 获取秘 ...

  6. java rsautil_JAVA 通过RSA获取公钥私钥工具类

    public class RSAUtil { //生成秘钥对 public static KeyPair getKeyPair() throws Exception { KeyPairGenerato ...

  7. apk私钥_获取APK证书MD5、SHA1、SHA256等秘钥

    一 1.先把apk解压 2.在META_INF目录下找到xxx.RSA文件 3.确保安装了jdk并且正确配置了环境变量 4.cmd中执行keytool -printcert -file xxxx.RS ...

  8. 如何从CA获取数字证书

    从CA 获取数字证书 1.打开虚拟机,在服务器管理器中添加角色,找到"Activity Directory 证书服务"(具体步骤如下) 2.除了默认的证书颁发机构外,还需要安装&q ...

  9. php获取x509证书信息,创建X509证书,并获取证书密钥的一点研究

    作者:肖波 背景 服务器SSL数字证书和客户端单位数字证书的格式遵循X.509标准.X.509是由国际电信联盟(ITU-T)制定的数字证书标准.为了提供公用网络用户目录信息服务,ITU于1988年制定 ...

最新文章

  1. JAVA接口返回面积_java – 将接口的返回值限制为实现类的范围
  2. linux下Mysql命令
  3. linux server.xml日志参数,Linux Log4j+Kafka+KafkaLog4jAppender 日志收集
  4. Hbase 表名修改
  5. 2020直播电商研究报告
  6. VS2005-此计算机下已安装了试用版,必须先卸载以前安装的试用版后才能安装另一个试用版
  7. java 判断pc还是手机_Java判断验证访问是手机端还是PC电脑端
  8. 【自动驾驶传感器融合系列】01自动驾驶中常用的传感器
  9. Eclipse中jsp文件ISO-8859-1编码转换为UTF-8或者GBK方法
  10. 文件批量重命名(Excel+REN)
  11. 程序员代码面试指南刷题--第五章.字符串的调整I
  12. 多因子选股之tushare数据获取
  13. 基于深度学习的医学图像分割学习笔记(九)UNet 3+
  14. java判断垃圾已回收_[译] 现代垃圾回收
  15. 工作两周年记------今晚和三个兄弟一起痛快地喝了一次, 在《祝你一路顺风》的旋律中!
  16. 单元测试界的高富帅,Pytest框架,手把手教学,从入门到精通(一)
  17. 嵌入式系统概论-6-软件与内核
  18. 流媒体相关技术了解入门
  19. 高防IP适合那些行业呢?
  20. @Value之${}与#{}

热门文章

  1. sharding-jdbc学习
  2. CML更新 | 新增百度小程序、支付宝小程序
  3. 对01背包的分析与理解(图文)
  4. mybatis源码学习(三):MappedStatement的解析过程
  5. “威胁情报”在手,反黑客终于有地图了!
  6. Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg
  7. OpenSSL--Window生成证书实战
  8. 如何通过 C# 比较两幅图片的相似度?
  9. EasyNetQ操作RabbitMQ
  10. Envoy实现.NET架构的网关(五)集成Redis实现限流