Windows vista 如何让OpenSSL在Windows Vista上编写文件?
当我跑步时:Windows vista 如何让OpenSSL在Windows Vista上编写文件?,windows-vista,openssl,Windows Vista,Openssl,当我跑步时: openssl genrsa -out mykey.key 2048 我得到以下错误: unable to write 'random state' e is 65537 (0x10001) 我的谷歌搜索表明这是某种Vista权限问题。如何允许Vista编写此文件,或者如何配置openssl以绕过此文件?我发现这可能会有所帮助: 此外,这里: 这里有一个关于如何让它在vista中工作的建议 找到cmd.exe的位置,右键单击并以管理员身份运行将HOME变量添加到环境变量
openssl genrsa -out mykey.key 2048
我得到以下错误:
unable to write 'random state'
e is 65537 (0x10001)
我的谷歌搜索表明这是某种Vista权限问题。如何允许Vista编写此文件,或者如何配置openssl以绕过此文件?我发现这可能会有所帮助: 此外,这里: 这里有一个关于如何让它在vista中工作的建议
找到cmd.exe的位置,右键单击并以管理员身份运行将
HOME
变量添加到环境变量中。根本问题是在Windows上忽略OpenSSL配置文件中的RANDFILE变量。无论目标Windows平台是x86还是x64,从OpenSSL v1.0a版本开始,这一直是一个持续存在的问题
不过,有一个非常简单的解决方案。只需使用常规环境变量来设置RANDFILE值,如
set RANDFILE=.rnd
因为这个值是短暂的,所以必须为每个新的DOS框重新发布,或者在批处理文件中编写脚本。除了Windows 7之外,我也有同样的问题。很容易解决,我创建了一个名为HOME的系统环境变量,并将其设置为我想要的.rnd文件所在的目录。这就解决了这个问题,因为OpenSSL不知道我的.rnd文件在哪里(因为我没有),如果要创建它,它也不知道放在哪里。一旦我用目录(c:\很好!)设置了我的环境变量HOME,我就在OpenSSL中重新运行我的密钥生成,它马上就工作了。为了验证,我检查了我创建的密钥,它有正确的内容。我还检查了我设置我的HOME环境变量的目录,你瞧,那里有一个.rnd文件!希望这对某人有所帮助:-)问题是脚本缺少一些访问权限或找不到文件 解决方案: 创建一个名为RANDFILE且值为%USERPROFILE%.rnd的系统变量
请注意,%USERPROFILE%是一个系统变量,它会自动插入用户配置文件的路径。它不允许我更改cmd.exe的权限。这也解决了我在Windows 7上的问题。的可能重复项