duanpo2813 2014-10-13 18:35
浏览 60
已采纳

OpenSSL req不适用于PHP Shell

I've been searching for the solution of my problem which is about OpenSSL. I'm using shell_exec() to run shell promts. For example:

shell_exec("openssl genrsa -out myprvkey.pem 1024"); works fine, and generates myprvkey.pem.

However,

shell_exec("openssl req -new -key myprvkey.pem -x509 -days 365 -out mypubcert.pem"); isn't working without giving any errors.

Am I doing something wrong? Thanks. PS: Please remind me if I'm missing something.

OpenSSL Version: 268439647

  • 写回答

1条回答 默认 最新

  • douxuan4556 2014-10-14 13:23
    关注

    Looks like you're trying to create a CSR? If so you can do so using phpseclib, a pure PHP CSR implementation, pretty easily. Here's an example that creates a new RSA key and a new CSR:

    <?php
    include('File/X509.php');
    include('Crypt/RSA.php');
    
    $privKey = new Crypt_RSA();
    extract($privKey->createKey());
    $privKey->loadKey($privatekey);
    
    $x509 = new File_X509();
    $x509->setPrivateKey($privKey);
    $x509->setDNProp('id-at-organizationName', 'phpseclib demo cert');
    
    $csr = $x509->signCSR();
    
    echo $x509->saveCSR($csr);
    ?>
    

    Here's an example that creates a new CSR utilizing an existing RSA key:

    <?php
    include('File/X509.php');
    include('Crypt/RSA.php');
    
    $privKey = new Crypt_RSA();
    $privKey->loadKey('...');
    
    $x509 = new File_X509();
    $x509->setPrivateKey($privKey);
    $x509->setDNProp('id-at-organizationName', 'phpseclib demo cert');
    
    $csr = $x509->signCSR();
    
    echo $x509->saveCSR($csr);
    ?>
    

    (the only diff is that loadKey is being passed a string [which could be populated via file_get_contents or just directly inputted] instead of the output of extract($rsa->createKey()))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题