zoukankan      html  css  js  c++  java
  • 基于EJBCA系统建立的OCSP服务

    基于EJBCA安装独立的OCSP服务器

    环境:
    centos 7
    jdk 1.8
    wildfly 10
    ant 1.10.7
    ejbca社区版 6.15.2.5
    mysql 5.6
    mysql连接包:mysql-connector-java-5.1.34-bin.jar,名字太长我修改成了mysql-java-client.jar。

    1.为了方便,先创建一个用户和密码都是ejbca的mysql用户,再建立一个名为ejbca的数据库,其他也可以但是要对应的修改一些文件。

    2.解压ejbca源码包,去${ejbca_home}/conf/ 目录下面修改对应的属性文件
    //一下属性对应的属性值都是我本地的,需要对应的改成自己的。
    ejbca.properties.sample ---> ejbca.properties(部署项目的路径以及cli工具的使用)
    修改属性:
    appserver.home=/opt/wildfly-10.0.0.Final(中间件的路径)
    appserver.type=jboss(中间件类型)
    database.properties.sample --->database.properties(数据库连接)
    database.name=mysql
    database.url=jdbc:mysql://192.168.44.150:3306/ejbca
    database.driver=com.mysql.jdbc.Driver
    database.username=ejbca
    database.password=ejbca
    ocsp.properties.sample ----->ocsp.properties(ocsp的简单配置)
    ocsp.contextroot=/status (配置上下文)
    ocsp.defaultresponder=CN=ManagementCA,O=EJBCA Sample,C=SE(默认的响应器,但是我们是外部的响应器,这个配不配都无所谓)

    上面这些基础的配置完毕。

    先运行wildfly,然后去wildfly管理后台设置一个数据源。第一次进入后台需要添加用户。添加完之后进入后台看到如下:

    添加一个名为EjbcaDS的数据源。

    运行${wildfly_home}/bin/jboss-cli.sh -c 连接上客户端

    运行下面两个命令,具体不翻译了,在官网截出来的:https://doc.primekey.com/ejbca6152/ejbca-installations/ejbca-main-installation/application-servers/wildfly-10-jboss-eap-7-0

    /subsystem=remoting/http-connector=http-remoting-connector:remove
    /subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")
    /socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4447")
    /subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting)
    :reload
    
    
    /subsystem=logging/logger=org.ejbca:add
    /subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)
    /subsystem=logging/logger=org.cesecore:add
    /subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)
    

      

    运行完毕之后,编译ejbca。
    在${ejbca_home}目录下运行 ant clean deployear,编译并把对应的包放到wildfly中间件当中。
    完整无错后,相当于运行一个简陋的ejbca实例了。

     3.创建CryptoToken

    tips:需要你先有个可以签OCSP证书的CA证书,扩展项要求按照下图来封装此证书。如果使用ejbca来申请证书的话,克隆一个OCSPSIGN的模板就行。

    在${ejbca_home}/bin目录下运行ejbca.sh这个shell文件可以看到可用参数

    #创建名称为OCSPCryptoToken的软令牌,硬令牌需要密码机
    ./ejbca.sh cryptotoken create --token OCSPCryptoToken --type SoftCryptoToken --pin foo123 --autoactivate TRUE --exportkey TRUE
    #在对应的token上创建密钥对
    ./ejbca.sh cryptotoken generatekey --token OCSPCryptoToken --alias ocspsignkey --keyspec 2048
    #创建keybinding
    ./ejbca.sh keybind create --name OCSP_CA_KeyBinding --type OcspKeyBinding --sigalg SHA256WithRSA --token  OCSPCryptoToken --status DISABLED --alias ocspsignkey --cert null -nonexistingisgood=false -includecertchain=true
    #创建csr申请OCSP签名证书
    ./ejbca.sh keybind gencsr OCSP_CA_KeyBinding csr.pem
    #导入证书
    ./ejbca.sh keybind import OCSP_CA_KeyBinding /opt/ocsp/signer_cert.cer
    #激活keybinding状态
    ./ejbca.sh keybind setstatus OCSP_CA_KeyBinding ACTIVE
    

      

    拿到csr文件去申请证书,申请到的证书需要导入CertificateData,因为是验证证书链,所以CA的证书也要在CertificateData这个表。

    可以使用openssl命令自签一个client_ca.cer的证书,然后拿上面csr.pem去client_ca.cer签发一个证书cc1.cer,然后分别导入这两个证书到CertificateData这个数据库表。

    (本例子使用的证书是用ejbca实例生成的)

    以下是验证的图。

    以上是记录配置基于EJBCA的OCSP服务,中间还有很多OCSP属性暂时还不了解。记录以下配置过程。

  • 相关阅读:
    Redhat 8 nfs网络共享
    Cisco ASA NAT (1) 静态配置和端口映射
    DISM命令行工具修复Windows 10映像
    開啟windows 7 ,10 的熱點功能(無線熱點)
    symantec SMG 抓包
    在 MacBook 上安装 Ubuntu
    springboot整合的MongoDB(一){博主新人入坑,不对的地方还望大哥指出}
    feign接口无法传递参数 (初学者)
    low cache rba恢复到on disk rba
    控制文件被删除的测试
  • 原文地址:https://www.cnblogs.com/davenzeng/p/12457100.html
Copyright © 2011-2022 走看看