[英]How do I set the public and private key on RSAParameters to use for RSACryptoServiceProvider?
[英]how do i convert RSAParameters from .net to .pem file so i can use it in php
您好,我有.net中生成的RSA的私钥和公钥
以这种格式
string privateKey = "<RSAKeyValue>" +
"<Modulus>...kCFhsjB4xMW49mrx5B/Ga...</Modulus>" +
"<Exponent>...</Exponent>" +
"<P>...7bRCrQVgVIfXdTIH3iY8x...</P>" +
"<Q>...4SiQDhrAZADuFDTr7bRCrQVgVIfXdTIH3iY8x...</Q>" +
"<DP>...ZADuFDTr7bRCrQVgVIfXdT...</DP>" +
"<DQ>...4SiQDhrAZADuFDTr...</DQ>" +
"<InverseQ>...sjB4xMW49mrx5B/Ga...</InverseQ>" +
"<D>...SiQDhrAZADuFDTr7bRCrQVgVIf...</D>" +
"</RSAKeyValue>";
我怎么能转换这个,所以我可以在php openssl函数中使用它来加密和解密数据? 我需要转换公钥和私钥。
也许用linux中的openssl bash命令,我可以指定自己的模数,指数等等?
有任何想法吗?
谢谢
不幸的是,我还没有找到你所描述的确切问题的解决方案,但是,有一些你可能会觉得有用的解决方法:
如果您能够使用其他语言来翻译密钥,则可以在perl中相对简单地完成。
使用Crypt :: OpenSSL :: RSA;
使用Crypt :: OpenSSL :: Bignum;
使用MIME :: Base64;
$ modulus = Crypt :: OpenSSL :: Bignum-> new_from_bin(decode_base64($ XMLModulus));
$ exponent = Crypt :: OpenSSL :: Bignum-> new_from_bin(decode_base64($ XMLExponent));
#你可以读取剩下的参数与前两个相同
不需要#dq,dp和inverseQ
$ privateKey = Crypt :: OpenSSL :: RSA - >($ modulus,$ exponent,$ d,$ p,$ q)
#以PHP应支持的标准二进制形式(DER)输出它。 print $ privateKey-> get_private_key_string()
#如果你需要PEM,openssl绝对可以转换它。
抱歉,我无法为您提供PHP正确的解决方案。 希望C#解决方案能够正常运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.