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命令参考:

OpenSSL构建数字证书

posted @ 2017-10-29 23:04  花花牛  阅读(14400)  评论(0编辑  收藏  举报