dotnet core linux 接入支付宝H5支付,提示:System.PlatformNotSupportedException","Message":"'CspParameters' requires Windows Cryptographic API (CAPI), which is not available on this platform.
用的官方提供的demo,实际上部署后却出现了上图的错误。和技术支持沟通无效后,走上了不归路。
在微软的github dotnet/core开源库提交了issue后,终于获得了解决。附上链接:https://github.com/dotnet/core/issues/3020
有道翻译一下:
CspParametersis about directly interacting with the Windows crypto libraries, which are only available on Windows.If you're strongly typed as RSACryptoServiceProvider (which is generally a bad idea, it's the most limited of the RSA types) you can just eliminate the use of the CspParameters parameter... ImportParameters (when the key isn't named) makes a new ephemeral key and imports into that. And the original key size data is ignored when using ImportParameters.
CspParameters是关于直接与只在Windows上可用的Windows加密库交互的。 如果您是强类型为RSACryptoServiceProvider(这通常是一个坏主意,它是RSA类型中最受限制的),您可以直接取消使用CspParameters参数…ImportParameters(当键没有被命名时)创建一个新的临时键并导入其中。当使用ImportParameters时,原始密钥大小数据将被忽略。
附上官方demo代码,被注视掉的部分就是引起问题的原因:
// ------- create RSACryptoServiceProvider instance and initialize with public key -----
//CspParameters CspParameters = new CspParameters();
//CspParameters.Flags = CspProviderFlags.UseMachineKeyStore; //int bitLen = 1024;
//if ("RSA2".Equals(signType))
//{
// bitLen = 2048;
//} RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSAParameters RSAparams = new RSAParameters();
RSAparams.Modulus = MODULUS;
RSAparams.Exponent = E;
RSAparams.D = D;
RSAparams.P = P;
RSAparams.Q = Q;
RSAparams.DP = DP;
RSAparams.DQ = DQ;
RSAparams.InverseQ = IQ;
RSA.ImportParameters(RSAparams);
dotnet core linux 接入支付宝H5支付,提示:System.PlatformNotSupportedException","Message":"'CspParameters' requires Windows Cryptographic API (CAPI), which is not available on this platform.的更多相关文章
- H5网站接入支付宝的支付接口
		
写本文章的目的是为了记录工作中遇到的问题,方便以后遇到可以迅速解决问题 H5手机网站接入支付宝的支付接口,推荐使用支付宝提供的SDK来快速开发 我使用的是SDK开发 引用命名空间 using Aop. ...
 - 支付宝H5支付demo
		
支付宝H5支付 首先我们必须注册一个支付宝应用(本案例就直接用支付宝的沙箱环境,这个沙箱也就是支付宝提供给开发者的一个测试环境) 登录地址:https://open.alipay.com/platfo ...
 - 利用抖音Cookie充值接口提取支付链接,个人调起原生微信h5支付宝h5支付
		
最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本. 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了. 这次要分享的是利用抖音的充值接口,去分 ...
 - PHP接入微信H5支付
		
开发前配置 进行代码接入前,需在微信后台填写授权回调域名,此域名必须经过ICP备案 开发主要流程 用户下单时选择微信支付 商户进行业务逻辑处理并调用微信统一下单接口,微信H5交易类型为:trade_t ...
 - 支付宝app支付提示 系统繁忙,请稍后重试
		
v2版本的支付宝支付,无论怎么调试返回的都是系统繁忙,请稍后重试提示.经过对给的示例代码的仔细研究,最后发现是由于老版本的sign_type 不加入签名计算,而新版本的支付签名它是加入签名计算的.供大 ...
 - 支付宝h5支付从支付到退款
		
先说明,支付是之前写好的,调用的是支付宝旧的即时到账接口,所也没有去集成应用,退款调用的是无密即时到账退款接口!!! https://doc.open.alipay.com/支付宝文档资料,蚂蚁金服开 ...
 - 微信支付提示System:access_denied
		
原因: 发起授权请求的页面必须是在授权目录下的页面,而不能是存在与子目录中.否则会返回错误,android返回“System:Access_denied”,ios返回"access_cont ...
 - 国产中标麒麟Linux部署dotnet core 环境并运行项目 (二) 部署运行控制台项目
		
背景 在上一篇文章安装dotnet core,已经安装好dotnet core了.之前只是安装成功了dotnet, 输入dotnet --info,可以确认安装成功了,但是在运行代码时,还是报错了,本 ...
 - linux上编写运行 dotnet core api
		
安装 Ubuntu dotnet core 跨平台已不再是梦,它带来的意义非凡,比如api接口可以在linux上编写及部署,也可以在windows上编写好,打包发布,然后copy到lin ...
 
随机推荐
- idea(2018.3.5)破解
			
第一步:下载idea,https://www.jetbrains.com/idea/download/#section=windows,双击进行安装 第二步:下载破解的jar包:链接:https:// ...
 - Flink 源码解析 —— 如何获取 StreamGraph?
			
StreamGraph https://t.zsxq.com/qRFIm6I 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Mac 上搭 ...
 - Google Guava Cache 全解析
			
Google guava工具类的介绍和使用https://blog.csdn.net/wwwdc1012/article/details/82228458 LoadingCache缓存使用(Loadi ...
 - 探索etcd,Zookeeper和Consul一致键值数据存储的性能
			
这篇博文是探索三个分布式.一致性键值数据存储软件性能的系列文章中的第一篇:etcd.Zookeeper和Consul,由etcd团队所写,可以让我们全面地了解如何评估三个分布式一致存储软件的性能.翻译 ...
 - Ext.bind函数说明
			
bind( fn, [scope], [args], [appendArgs] ) : FunctionCreate a new function from the provided fn, chan ...
 - 25、vuex改变store中数据
			
以登录为例: 1.安装vuex:npm install vuex --save 2.在main.js文件中引入: import store from '@/store/index.js'new Vue ...
 - Java 之 多线程
			
一.并发与并行 1.并发 指两个或多个事件在同一时间段内发生. 2.并行 指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这 ...
 - Js编程实践
			
js编程实践思维导向图 ---欢迎收藏 ^ - ^
 - android中app卡顿优化问题
			
所谓app卡顿原因就是在运行时出现了丢帧,还可能是UI线程被阻塞.首先来一下丢帧现象,android每16ms会对界面进行一次渲染,如果app的绘制.计算等超过了16ms那么只能等下一个16ms才能 ...
 - 对Sql Server执行计划的浅显了解。
			
一名大三的小学生,今天开始我的第一篇博客,最近随便做了一个简易的酒店管理系统,对sql执行计划有了初步的了解. 查看上面语句的预估执行计划,在工具栏中有这个按钮 聚集索引扫描被称为Index Scan ...