当前位置: 首页 > 知识库问答 >
问题:

net 2.0中不支持rsa.importsaprivateKey(privateKey,out_),请大家建议一种导入自定义私钥的替代方法

元玮
2023-03-14

下面是我想使用的代码从自定义私钥创建令牌。其中我得到了2.0.NET framework不支持的rsa.importsaprivateKey(privateKey,out_)方法的错误

        public string CreateToken(string _customerprivateKey, List<Claim> keypairs)
        {
            try
            {
                IdentityModelEventSource.ShowPII = true;
                // var privateKey = privateKeybyteArr;

                byte[] privateKey = Convert.FromBase64String(_customerprivateKey);

                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048);
                **rsa.ImportRSAPrivateKey(privateKey, out _); // not supported in 2.0 .net framework**

                var signingCredentials = new SigningCredentials(
                    new RsaSecurityKey(rsa),
                    SecurityAlgorithms.RsaSha512)
                {
                    CryptoProviderFactory = new CryptoProviderFactory { CacheSignatureProviders = false }
                };

                List<System.Security.Claims.Claim> _claims = new List<System.Security.Claims.Claim>();
                foreach (var item in keypairs)
                {
                    _claims.Add(new System.Security.Claims.Claim(item.Key, item.Value));
                }
                var jwt = new JwtSecurityToken(
                    claims: _claims,
                    signingCredentials: signingCredentials
                );

                string token = new JwtSecurityTokenHandler().WriteToken(jwt);
                return token;
            }
            catch (Exception ex)
            {
                throw;
            }

        }

共有1个答案

年凯康
2023-03-14

我已经将XML格式的privateKey传递给createToken方法,这解决了我的问题。参考C#RSA加密/解密与传输。

 类似资料:
  • 我正在尝试使用Spring(v.4.1.0)Security(v.3.2.5)保护的访问URL(例如 /user/subscriptions),在提交用户名/密码和csrf令牌后,我收到以下错误: HTTP错误405访问/j\u spring\u security\u检查时出现问题。原因:不支持请求方法“POST” 我有以下配置。网状物xml Spring Security上下文: CustomL

  • 我正在使用Spring Boot和Angular JS构建一个web应用程序,它将执行CRUD操作。我已经成功创建了一个类,在实现这个类时,我遇到了一个错误“请求方法'POST'不受支持” 这是当我用POST请求点击上面的URL时得到的错误。 这是我的前端JS代码,用于点击URL。我在跑步http://localhost:4200/truck努力让它工作。

  • 我有以下几项: 我可以通过调用,使用以下格式化程序来序列化它们: 但是,我希望忽略一些字段,因此我添加了以下几行: 现在,序列化失败,出现了这个神秘的异常: 组织。json4s。包$MappingException:不支持在方法体中定义的类。位于组织。json4s。反映套餐$。在组织中失败(package.scala:93)。json4s。反映Reflector$ClassDescriptorBu

  • 本文向大家介绍让IjkPlayer支持插入自定义的GPU滤镜方法,包括了让IjkPlayer支持插入自定义的GPU滤镜方法的使用技巧和注意事项,需要的朋友参考一下 最近因为工作的原因,需要提供一个将我们的AiyaEffectsSDK插入到IjkPlayer中的示例,就不得不好好看了下IjkPlayer的代码。在IjkPlayer中并没有提供设置自定义GPU滤镜的接口,所以最后只能自己动手,以求丰衣

  • 我想通过RSACryptServiceProvider签名和验证数据 为此,我需要公钥和私钥。 在我的项目中,我将公钥和私钥存储在XML文件中。 有一次,我生成了我的公钥和私钥 在上面,我展示了“通过公钥验证数据” 我的SignData方法类似。 在那里, 我的问题是:举个例子,我认识到;通过crt/pem/cert等导入公钥和私钥。证书文件。在那里我存储了XML文件。 我的解决方案错了吗? 第二

  • 问题内容: 在jQuery文档的方法规定: 为方便起见,提供了.toggle()方法。手动实现相同的行为是相对简单的,如果内置于.toggle()的假设证明是限制性的,则可能有必要。 事实证明,内置的假设限制了我当前的工作,但是文档没有详细说明如何实现相同的行为。我需要将eventData传递给提供给的处理函数,但似乎仅支持此功能,而不支持。 我的第一个倾向是使用单个处理程序函数全局的标记来存储单