写了这个powershell脚本来尝试签署一个jar文件。在构建正确的命令后,它基本上看起来像这样:
$command = "jarsigner -storetype pkcs12 -keystore $certToUse -signedjar $nameOfSignedJar $nameOfJarToSign $defaultAlias"
Write-Output $command
Invoke-Expression $command
写入输出行打印出来:
jarsigner -storetype pkcs12 -keystore MyCertificate.p12 -signedjar signed_sample.jar sample.jar "this is my test alias, inc.'s comodo ca limited id"
然而,当Invoke-Expression运行时,它基本上只是挂起而没有其他任何事情发生。如果我在powershell中运行这个确切的命令,我会提示输入密码,然后签署我的JAR文件。
我做错了什么,我怎么能这样做,以便当它要求我输入密码然后我可以通过相同的脚本传递它?
提前致谢。
答案 0 :(得分:0)
您的$ default别名中未转义的引号可能会出现问题:
$defaultalias = "`"this is my test alias, inc.`'s comodo ca limited id`""
答案 1 :(得分:0)
显然问题在于PowerShell ISE。通过powershell直接运行脚本非常合适。