将 RSA PEM 转换为 XML codeigniter 框架
Convert RSA PEM to XML codeigniter framework
有没有办法在不使用第 3 方库的情况下将 RSA PEM Public 密钥转换为 XML。
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEDtIRT57TJAfmub2RsIM32jdo
8ijsds/u1fpY6hwtkC01/LFJkNTXqSwvpaO5tp86o0SlzBHdF0WxPtsKqdc8F7kQ
uHm7hUTLX0zPGRdGCsy9q/PIGlVGAFTBSVXl+grmGGZuS1CHI13L/oulBGENQOxO
8r6D1RyPjt6z0BAndQIDAQAB
-----END PUBLIC KEY-----
输出应该是这种格式
<RSAKeyValue><Modulus>xA7SEU+e0yQH5rm9kbCDN9o3aPIo7HbP7tX6WOocLZAtNfyxSZDU16ksL6WjubafOqNEpcwR3RdFsT7bCqnXPBe5ELh5u4VEy19MzxkXRgrMvavzyBpVRgBUwUlV5foK5hhmbktQhyNdy/6LpQRhDUDsTvK+g9Ucj47es9AQJ3U=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
我试着实现了这个
$publicKey = -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEDtIRT57TJAfmub2RsIM32jdo
8ijsds/u1fpY6hwtkC01/LFJkNTXqSwvpaO5tp86o0SlzBHdF0WxPtsKqdc8F7kQ
uHm7hUTLX0zPGRdGCsy9q/PIGlVGAFTBSVXl+grmGGZuS1CHI13L/oulBGENQOxO
8r6D1RyPjt6z0BAndQIDAQAB
-----END PUBLIC KEY-----;
$this->load->dbutil();
$this->output->set_content_type('text/xml');
$dom = new DOMDocument("1.0");
$root = $dom->createElement("publicKey");
$dom->appendChild($root);
$marker = $dom->createElement("marker");
$root->appendChild($marker);
echo $dom->saveXML();
谁能知道答案。
提前致谢
密码学是复杂的数学,我们 99% 的人都无法理解其核心。所以这不仅仅是一个简单的 XML.
不要尝试对已知和已解决的问题实施自己的解决方案。
使用经过验证的库
use phpseclib3\Crypt\RSA;
class Home extends BaseController
{
public function index()
{
$key = RSA::load(file_get_contents('key.pem'));
echo $key->toString("XML"); //this gives you Modulus/Exponent XML string
}
}
有没有办法在不使用第 3 方库的情况下将 RSA PEM Public 密钥转换为 XML。
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEDtIRT57TJAfmub2RsIM32jdo
8ijsds/u1fpY6hwtkC01/LFJkNTXqSwvpaO5tp86o0SlzBHdF0WxPtsKqdc8F7kQ
uHm7hUTLX0zPGRdGCsy9q/PIGlVGAFTBSVXl+grmGGZuS1CHI13L/oulBGENQOxO
8r6D1RyPjt6z0BAndQIDAQAB
-----END PUBLIC KEY-----
输出应该是这种格式
<RSAKeyValue><Modulus>xA7SEU+e0yQH5rm9kbCDN9o3aPIo7HbP7tX6WOocLZAtNfyxSZDU16ksL6WjubafOqNEpcwR3RdFsT7bCqnXPBe5ELh5u4VEy19MzxkXRgrMvavzyBpVRgBUwUlV5foK5hhmbktQhyNdy/6LpQRhDUDsTvK+g9Ucj47es9AQJ3U=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
我试着实现了这个
$publicKey = -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEDtIRT57TJAfmub2RsIM32jdo
8ijsds/u1fpY6hwtkC01/LFJkNTXqSwvpaO5tp86o0SlzBHdF0WxPtsKqdc8F7kQ
uHm7hUTLX0zPGRdGCsy9q/PIGlVGAFTBSVXl+grmGGZuS1CHI13L/oulBGENQOxO
8r6D1RyPjt6z0BAndQIDAQAB
-----END PUBLIC KEY-----;
$this->load->dbutil();
$this->output->set_content_type('text/xml');
$dom = new DOMDocument("1.0");
$root = $dom->createElement("publicKey");
$dom->appendChild($root);
$marker = $dom->createElement("marker");
$root->appendChild($marker);
echo $dom->saveXML();
谁能知道答案。 提前致谢
密码学是复杂的数学,我们 99% 的人都无法理解其核心。所以这不仅仅是一个简单的 XML.
不要尝试对已知和已解决的问题实施自己的解决方案。
使用经过验证的库
use phpseclib3\Crypt\RSA;
class Home extends BaseController
{
public function index()
{
$key = RSA::load(file_get_contents('key.pem'));
echo $key->toString("XML"); //this gives you Modulus/Exponent XML string
}
}