No such file or directory 8356:error:02001003:system library:fopen:No such process:crypto\bio\bss_file.c:7 4:fopen
使用OpenSSL生成证书,构建根证书前,需要构建随机数文件(.rand),命令如下:
openssl rand -out private/.rand 1000
报错如下:
OpenSSL> rand -out private\.rand 1000 Can't open private\.rand for writing, No such file or directory 8356:error:02001003:system library:fopen:No such process:crypto\bio\bss_file.c:7 4:fopen('private\.rand','wb') 8356:error:2006D080:BIO routines:BIO_new_file:no such file:crypto\bio\bss_file.c :81: error in rand
竟然找不到路径
查看了OpenSSL的cfg文件也没错
无奈,直接使用了绝对路径,命令如下:
OpenSSL> rand -out C:\CA\private\.rand 1000
搞定!
原因分析:
因为把openssl放入了path,因此,在cmd命令行下输入openssl后,回车,进入openssl的命令行,默认在%OPENSSL_HOME%\bin\目录下了
执行openssl rand -out XXX命令时,不需要前的openssl,只需要输入rand -out XX即可
问题来了,我的第一个命令:rand -out private\.rand 1000 ,使用的是相对路径(openssl的工作目录是C:\CA),肯定在%OPENSSL_HOME%\bin\目录下找不到
因此,解决方案二:
cd C:C/CA
openssl -out private\.rand 1000
搞定!(注意命令前必须有openssl)
OpenSSL命令参考: