Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中导入PKCS#8 RSA privateKey(由OpenSSL创建)#_C#_Rsa_Private Key_Pkcs#8 - Fatal编程技术网

C# 如何在C中导入PKCS#8 RSA privateKey(由OpenSSL创建)#

C# 如何在C中导入PKCS#8 RSA privateKey(由OpenSSL创建)#,c#,rsa,private-key,pkcs#8,C#,Rsa,Private Key,Pkcs#8,我正试图找到一种方法来读取使用C#中的OpenSSL PKCS#8 RSA创建的私钥,而无需使用外部库 有人知道我是如何做到这一点的吗?使用外部库最简单的方法是使用(免费):使用该方法,可以使用导入密钥,如果您愿意为库的其余部分支付149美元左右,那么处理一般加密概念也会变得容易得多 与常规的Microsoft.NET框架不同,Mono项目似乎有一个可用的。假设与Mono代码相关的(LGPL2.0)许可证对您有效,这可能适合作为一个起点,以防您完全无法依赖外部库 最后,解析并不太困难,RSA/D

我正试图找到一种方法来读取使用C#中的OpenSSL PKCS#8 RSA创建的私钥,而无需使用外部库


有人知道我是如何做到这一点的吗?

使用外部库最简单的方法是使用(免费):使用该方法,可以使用导入密钥,如果您愿意为库的其余部分支付149美元左右,那么处理一般加密概念也会变得容易得多

与常规的Microsoft.NET框架不同,Mono项目似乎有一个可用的。假设与Mono代码相关的(LGPL2.0)许可证对您有效,这可能适合作为一个起点,以防您完全无法依赖外部库


最后,解析并不太困难,RSA/DSA密钥对对象符合要求,并且在确定所有位的位置后,相对容易将其转换为.NET X509证书——我刚才在VB.NET中确实做过这件事,但不幸的是,我无法共享该代码。

使用外部库实现这一点的最简单方法,正在使用(免费):使用它,可以使用导入密钥,如果您愿意为库的其余部分支付149美元左右,那么处理一般加密概念也会变得容易得多

与常规的Microsoft.NET框架不同,Mono项目似乎有一个可用的。假设与Mono代码相关的(LGPL2.0)许可证对您有效,这可能适合作为一个起点,以防您完全无法依赖外部库


最后,解析并不太困难,而且RSA/DSA密钥对对象符合要求,并且在确定所有位的位置后,相对容易将其转换为.NET X509证书——我刚才确实在VB.NET中进行了此操作,但不幸的是,我无法共享该代码。

感谢您的回答

创建RSA密钥的脚本我使用OpenSSL whit:

(Linux脚本)

在C#中,我们需要XML格式的私钥。我用解析器来做这个

要解密反质询,我们需要使用:

  byte[] challange = server.getChallenge();

  RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider();

  rsaProvider.FromXmlString(Demo.Properties.Resources.XmlPrivateKey);

  byte[] plaintext = rsaProvider.Decrypt(challange, false);
  RSACryptoServiceProvider rsaProvider = x509.PublicKey.Key as RSACryptoServiceProvider;

  byte[] answer = RsaProvider.Encrypt(plaintext, false);
要加密whit服务器证书,我们需要使用:

  byte[] challange = server.getChallenge();

  RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider();

  rsaProvider.FromXmlString(Demo.Properties.Resources.XmlPrivateKey);

  byte[] plaintext = rsaProvider.Decrypt(challange, false);
  RSACryptoServiceProvider rsaProvider = x509.PublicKey.Key as RSACryptoServiceProvider;

  byte[] answer = RsaProvider.Encrypt(plaintext, false);

感谢JavaScience咨询

感谢您的回答

创建RSA密钥的脚本我使用OpenSSL whit:

(Linux脚本)

在C#中,我们需要XML格式的私钥。我用解析器来做这个

要解密反质询,我们需要使用:

  byte[] challange = server.getChallenge();

  RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider();

  rsaProvider.FromXmlString(Demo.Properties.Resources.XmlPrivateKey);

  byte[] plaintext = rsaProvider.Decrypt(challange, false);
  RSACryptoServiceProvider rsaProvider = x509.PublicKey.Key as RSACryptoServiceProvider;

  byte[] answer = RsaProvider.Encrypt(plaintext, false);
要加密whit服务器证书,我们需要使用:

  byte[] challange = server.getChallenge();

  RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider();

  rsaProvider.FromXmlString(Demo.Properties.Resources.XmlPrivateKey);

  byte[] plaintext = rsaProvider.Decrypt(challange, false);
  RSACryptoServiceProvider rsaProvider = x509.PublicKey.Key as RSACryptoServiceProvider;

  byte[] answer = RsaProvider.Encrypt(plaintext, false);

感谢JavaScience咨询

我需要一些免费的开源软件。但是谢谢你的帮助。我相信这很容易做到,但我不想这么做。这就是我得到那个图书馆的原因。简单,开源和免费。我需要一些免费和开源的东西。但是谢谢你的帮助。我相信这很容易做到,但我不想这么做。这就是我得到那个图书馆的原因。简单、开源、免费。