【发布时间】:2014-03-21 07:12:51
【问题描述】:
我需要一个 php 脚本来生成带有 keystore 的 jks。 我应该使用什么命令?
exec() 或 system()?
我的代码:
exec("keytool -genkey -alias 1800 -keyalg RSA -keysize 2048 -validity 365 -keystore 1800.jks -keypass brsacquiro -storepass brsacquiro 2>&1", $return_var);
foreach($return_var as $word)
echo "$word<br>";
我得到结果:
What is your first and last name?
[Unknown]: What is the name of your organizational unit?
[Unknown]: What is the name of your organization?
[Unknown]: What is the name of your City or Locality?
[Unknown]: What is the name of your State or Province?
[Unknown]: What is the two-letter country code for this unit?
[Unknown]: Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
我连续收到十个这样的文本。我需要回答那里列出的问题。 在此列表的末尾,我得到 error:
keytool error: java.lang.RuntimeException: Too many retries, program terminated
如果我在cmd中写这个命令,那么一切都OK。
【问题讨论】:
-
您是否在命令行上尝试过您的命令?因为这看起来像是一个 keytool 错误,而不是来自
exec与system的 php 问题 -
我忘了说。它会产生结果,但会重复很多次。最后:keytool error: java.lang.RuntimeException: Too many retries, program terminate.
-
如果我在 cmd 中编写此命令 - 一切正常。
-
您是否尝试过您的 php 用户(可能是 www-data?)是否可以执行此命令? keytool 不会创建文件(密钥?),如果可以,是否可以,或者是否允许在该位置创建文件?不知道为什么这个错误让你问
system和exec问题 -
ow,请编辑 cmets,例如对您的问题运行命令,它属于必要信息。我会添加它,但请记住:问题本身应该是完整的,cmets 只是更多......临时性的?