使用 phpseclib 的 ECDSA 密钥和 csr

ECDSA key and csr with phpseclib

有没有人知道这方面的任何信息或知道它是否受 phpseclib 支持?或者如果它在管道中?

我能够使用 RSA 生成密钥,csr 一个 public 密钥,但我希望能够使用 ECDSA 这样做,因为这几乎是加密的发展方向。越来越多的证书颁发机构开始采用此方法,并且在 windows 和 apache 服务器中均受支持。

谢谢!

遗憾的是,这目前是不可能的。 phpseclib 只支持 RSA atm,虽然听起来 ECDSA 在(长)管道中:

https://github.com/phpseclib/phpseclib/issues/37#issuecomment-11647092

phpseclib 有一个支持 ECDSA 密钥的分支,我需要用 composer 下载这个特定的分支。

https://github.com/phpseclib/phpseclib/issues/1519

作曲家要求 phpseclib/phpseclib:dev-master

include_once 'vendor/autoload.php';

use phpseclib3\File\X509;
use phpseclib3\Crypt\PublicKeyLoader;

$privKey = PublicKeyLoader::load(file_get_contents('/path/to/key.pem'), $password = false);

$x509 = new X509();
$x509->setPrivateKey($privKey);
$x509->setDNProp('id-at-organizationName', 'phpseclib demo cert');

$csr = $x509->signCSR();

echo $x509->saveCSR($csr);