OpenSSL 命令卡住了(hangs)。

32

openssl 的以下请求一直挂起

openssl req -key server.key -out server.csr 

有任何想法是什么问题吗?

3个回答

111

我在Windows 7使用GitBash时也遇到了同样的问题, 经过数小时的搜索, 我找到了解决方案:

winpty openssl genrsa -out ../private.pem -aes256 4096

可以给你一些关于需要什么的想法。


14
+1 并且需要注意的是,我完整的命令不同,但关键是在完整的openssl命令之前加上"winpty"。我认为winpty调整了标准输入和/或添加了鼠标支持,这对于openssl用于生成密钥的某些随机性是必需的。否则,它会一直挂起等待输入,但永远不会接收到输入(即使您键入按键或移动鼠标)。 - eselk
1
这也帮助了我...你是如何发现需要使用winpty前缀命令的?winpty是什么? - Patlatus
1
@Patlatus 我是怎么找到的?=和你一样=在stackoverflow上;我对winpty一无所知,当时试图理解它,但是无法理解;所以我说算了,只要它能工作就行了。 - Zuhayer
1
如果有人有同样的问题,基本上是因为bash默认使用mintty,无法运行openssl,因为存在一些转换问题,所以我们使用winpty。 - mouchin777
1
我使用了这个答案(https://dev59.com/PGsz5IYBdhLWcg3w6MNS#60516812)来创建自己的密钥,并使用了这个答案来使其工作。 - Luminous
使用winpty对我很有帮助。谢谢。 - user804401

27

你需要提供另一个参数,它期望从标准输入读取证书。可能你想要添加-new作为命令行参数,或者你需要在标准输入上传递一个现有的证书。


0
在Linux系统中,可能您只是忘记添加“-new”来告诉OpenSSL生成一个新的证书请求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接