Openssl生成CA及签发证书方法

准备步骤
       下载Openssl并编译生成响应的库,假设目录为E:/电子书/OpenSSL/openssl-0.9.8g,编译成功后Openssl会将响应的lib,dll及可执行程序存放到out32dll文件中
生成CA
1. 在DOS窗口中转换到out32dll目录下。
       例如:cd E:/电子书/OpenSSL/openssl-0.9.8g/out32dll
2. 生成CA的key文件
       运行如下命令:
              openssl genrsa -out catest.key 1024
       运行成功后,在out32dll目录下可以看到CA的key文件catest.key
3. 生成CA证书
       运行如下命令:
              openssl req -new -x509 -key catest.key -out catest.crt
       运行成功后,在out32dll目录下可以看到CA证书catest.crt
       注意事项:
(1)       在输入命令后,系统提示输入证书的一些信息,内容如下:
       Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:BeiJing
    Locality Name (eg, city) []:BDA
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:SINOI
    Organizational Unit Name (eg, section) []:media
    Common Name (eg, YOUR name) []:wlq
Email Address []:[email protected]
4. 上述步骤成功后就可以使用该CA证书为其他证书请求进行签发证书
利用CA对证书请求进行签发证书
假设要生成一个名称为testcrt的证书
1. 在DOS窗口中转换到out32dll目录下。
       例如:cd E:/电子书/OpenSSL/openssl-0.9.8g/out32dll
2. 生成的key文件
       运行如下命令:
              openssl genrsa -out testcrt.key 1024
       运行成功后,在out32dll目录下可以看到CA的key文件testcrt.key
3. 生成CSR文件
       运行如下命令:
              openssl req -new -key testcrt.key –out testcrt.csr
       运行成功后,在out32dll目录下可以看到testcrt.csr文件
       注意事项:
(1)       在输入命令后,系统提示输入证书的一些信息,内容如下:
       Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:BeiJing
    Locality Name (eg, city) []:BDA
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:SINO
    Organizational Unit Name (eg, section) []:media
    Common Name (eg, YOUR name) []:server
    Email Address []:[email protected]
 
    Please enter the following 'extra' attributes
     to be sent with your certificate request
     A challenge password []:123456
     An optional company name []:
4. CSR 文件必须有 CA 的签名才可形成证书,利用上面生成的 CA 证书对该 csr 文件进行签名生成证书
      运行命令如下:
         openssl x509 -req -in testcrt.csr –out testcrt.crt -CA catest.crt –CAkey
               catest.key -days 365 –CAcreateserial
运行成功后,在out32dll目录下可以看到被签名后生成的证书testcrt.crt,打开该证书可
以看到颁发者字段为上面生成的CA的信息,主题字段为在步骤3中输入的信息
注意事项
       在上述过程中,如果出现类似openssl目录不正确的错误的话,原因可能是由于没有安装openssl造成的,这个可以通过按照openssl提供的INSTALL.W32文件中的如下命令来安装:
       nmake -f ms/ntdll.mak install
本人在刚开始没有执行此命令时就出现一些类似什么文件找不到的错误,执行此语句后就不出错了。

你可能感兴趣的:(Openssl生成CA及签发证书方法)