2015-04-15 27 views
0

我使用phpseclib来创建私钥,公钥和csr,但我无法找到我可以指定密钥大小和签名算法的位置。默认情况下,它们是1024bit和sha1WithRSAEncryption,但是我想指定一个更强的组合。phpseclib csr和密钥生成

据这里的文档http://phpseclib.bantux.org/api/master/phpseclib/File/X509.html它只有例子为SHA1

signCSR($ signatureAlgorithm = 'sha1WithRSAEncryption')

在此先感谢!

+0

我要补充,简单地修改为''sha2WithRSAEncryption''不工作,在这个错误的结果。 **注意:在1038行的C:\ xampp \ htdocs \ labs \ test2 \ phpseclib \ File \ ASN1.php中无效的OID ** – user3436467

+0

没问题,找到正确的字符串''sha256WithRSAEncryption''。可接受的算法的完整列表可以在这里找到[链接](http://phpseclib.sourceforge.net/x509/intro.html)。所以现在只需要知道如何指定密钥大小2048,4096等。 – user3436467

+0

确定发现它使用谷歌..如果它被记录在官方网站虽然会很好。从这个createKey()到 - > createKey($ bits = 2048) – user3436467

回答

1

要指定密钥长度使用:createKey($位= 2048)

要指定签名算法使用:signCSR($ signatureAlgorithm = 'sha1WithRSAEncryption')以下的

使用一个支持的算法:

  • md2WithRSAEncryption
  • md5WithRSAEncryption
  • sha1WithRSAEncryption
  • sha224WithRSAEncryption
  • sha256WithRSAEncryption
  • sha384WithRSAEncryption
  • sha512WithRSAEncryption