将 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.

不要尝试对已知和已解决的问题实施自己的解决方案。

使用经过验证的库

例如phpseclib

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
    }
}