OpenCA搭建
前言:
OpenCA是OpenCA开源组织使用Perl对OpenSSL进行二次开发而成的一套完善的PKI免费软件,主要由四部分组成:CA、RA、PUB和NODE。简而言之,PUB是对外提供服务的接口,用户可以通过PUB界面提交自己的注册、查询请求等;RA主要负责处理经由PUB提交过来的用户请求,判决是否批准这些请求;CA则是根据RA批准的请求来签发证书;NODE负责RA和CA间的数据传输。
一、准备工作
搭建平台:CentOS7(mini install)
前期软件安装:gcc gcc-c++ openssl-devel perl perl-devel perl-DBI perl-DBD-MySQL perl-Net-SSLeay expat-devel
安装包:openssl(1.0.2k) httpd(编译安装时,需要依赖apr、apr-util、pcre) mysql(使用的是mysql-cluster版) openca-tools openca-base
二、安装
1、安装openssl(1.0.2k)
./config shared --prefix=/usr/local/openssl
make && make install
2、安装httpd
(1)安装apr(1.5.2)
./configure --prefix=/usr/local/apr
make && make install
(2)安装apr-util(1.5.4)
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
(3)安装pcre(8.4.2)
./configure --prefix=/usr/local/pcre
make && make install
(4)安装httpd(2.4.34)
./configure --prefix=/usr/local/apache2 --enable-ssl --enable-cgid --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-ssl=/usr/local/openssl
make && make install
3、安装mysql
这里采用的是mysql-cluster,可以离线安装,不过需要修改/etc/my.cnf,如下图:

将文件解压到/usr/local/mysql,并cd /usr/lcoal/mysql
./bin/mysqld --initialize(记住给出的临时密码) --> support-files/mysql.server start(启动MySQL) --> ./bin/mysql -uroot -p(输入临时密码登录)
登录MySQL后:SET password=PASSWORD('openca');-->CREATE DATABASE openca;-->GRANT all ON openca.* TO 'root'@"%" IDENTIFIED BY 'openca';-->FLUSH PRIVILEGES;-->exit
4、安装openca-tools
./configure --prefix=/usr/local/openca-tools
make && make install
5、安装openca-base
创建openca组:groupadd openca;添加openca用户:useradd -g openca openca
./configure --prefix=/usr/local/openca-base --with-openssl-prefix=/usr/local/openssl/ --with-db-type=mysql --with-db-host=localhost --with-db-port=3306 --with-httpd-fs-prefix=/usr/local/apache2 --with-htdocs-fs-prefix=/usr/local/apache2/htdocs/pki --with-httpd-user=daemon --with-httpd-group=daemon --with-openca-user=openca --with-openca-group=openca --with-openca-tools-prefix=/usr/local/openca-tools
make
make install-offline(安装CA)
make install-online(安装RA)
cd /usr/local/openca-base/etc/openca && ./configure_etc.sh
chown -R daemon:daemon /usr/local/openca-base/etc
chown -R daemon:daemon /usr/local/openca-base/var
修改目录下的config.xml,将db_user改为“root”
三、测试
启动MySQL:/usr/local/mysql/support-files/mysql.server start
启动httpd:/usr/local/apache2/bin/apachectl start
启动openca:/usr/local/openca-base/etc/init.d/openca start
浏览器中输入:http://IP:PROT/pki,如果出现下图(在安装openca-base时只执行了make install-offline),恭喜恭喜

OpenCA搭建的更多相关文章
- Linux 加密安全和私有CA的搭建方法
常用安全技术 3A: 认证:身份确认 授权:权限分配 审计:监控做了什么 安全通信 加密算法和协议 对称加密: 非对称加密 单向加密:哈希(hash)加密 认证协议 对称加密: 加密和解密使用的是同一 ...
- Online Judge(OJ)搭建(第一版)
搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- 【分享】标准springMVC+mybatis项目maven搭建最精简教程
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...
- 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题
千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
随机推荐
- IDEA 安装破解
打开IntelliJ IDEA的官网. https://www.jetbrains.com/idea/download/#section=windows 开始安装吧!傻瓜式安装,不多说 激活 ...
- [Algo] 280. Sort With 2 Stacks
Given an array that is initially stored in one stack, sort it with one additional stacks (total 2 st ...
- 17.3.15---C语言详解FILE文件操作
FILE 是 C语言文件结构定义, 打开文件和文件操作要用到这类结构.可以看成变量类型,用于变量声明.这个是一种数据结构类型,用来表示一个文件的相关信息,如果定义了一个文件指针,就用这个指针来指向某个 ...
- HDU-1828 Picture(扫描线 求矩形并的周长)
http://acm.hdu.edu.cn/showproblem.php?pid=1828 Time Limit: 6000/2000 MS (Java/Others) Memory Limi ...
- 一、Shell脚本高级编程实战第一部
Shell脚本语言是实现linux系统自动化管理的重要且必要的工具,几乎每一个合格的linux系统管理员或者高级运维工程师都要熟练shell脚本语言的编写,只有这样才能提升工作效率,解决工作中的重复劳 ...
- 二十、linux文件系统讲解
1.分区和文件系统的关系: 为什么需要格式化呢?这是因为分区文件系统在没有格式化前,操作系统是无法识别系统分区的格式的,就没办法组织文件目录属性和权限等内容,把分区格式化成操作系统支持的某个文件系统后 ...
- window 彻底删除mysql
1. 运行regedit.exe,找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL 文件夹,将其删除: 2. 找到HKEY_LOCAL_ ...
- numpy矩阵运算--矩阵乘法
1)元素对应相乘,使用 multiply 函数或 * 运算符来实现 a = np.array([2,2,2])b = np.array([3,3,3]) c1 = a*a c1 array([4, 4 ...
- derby数据库
derby数据库 https://www.cnblogs.com/zuzZ/p/8107915.html Derby数据库的使用 https://www.cnblogs.com/wkfvawl/p/1 ...
- discount the possibility|pessimistic|bankrupt|
Nor can we discount the possibility that some factor in the diet itself has harmful effects. ADJ-GRA ...