最新消息:

【数字证书】在腾讯云轻量应用服务器上使用EJBCA搭建自己的CA/PKI系统

VPS教程 晓宇 浏览 评论

一、名词解释和综述

1.1. PKI

  PKI (Public Key Infrastructure) 公钥基础设施,又称为公钥基础架构、公钥基础建设或公钥基础机构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,能够为所有网络应用提供加密和数字签名等密码服务及所必须的密钥和证书管理体系,简单来说 PKI 就是利用公钥理论和技术建立的提供的安全服务设施,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。   一个基础的 PKI 系统包括狭义上的证书颁发机构 (Certificate Authority, CA)、注册管理机构 (Registration Authority, RA) 和相应的 PKI 存储库。CA 用于签发并管理中间证书;RA 可以是 CA 的一部分,其功能包括身份或许可验证、CRL 管理、签发最终证书等;PKI 存储库包括 LDAP 目录服务器和普通数据库,用于对用户申请、证书、密钥、CRL 和日志等信息进行存储、管理并提供查询服务。

1.2. CA

  广义上的 CA 指 PKI 中的 CA 和 RA。CA 是证书的签发机构,它是公钥基础设施的核心。CA 是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。   本文涉及到的 CA 有时指狭义上的 CA,有时指 CA 和 RA 组成的整体,他们的区别不影响阅读理解和实践操作。

1.3. EJBCA

  EJBCA 是一款历史悠久且至今仍在活跃维护和开发的基于 JavaEE 平台的 PKI 实现软件,能够在 Windows 和 Linux 各大发行版上独立运行或集成在 WildFly 和 JBoss EAP 等基于JavaEE的应用服务器上。EJBCA 提供了强大高效的 CA 及 RA 一体化功能,支持硬件安全模块 (Hardware Security Module, HSM)、集群和动态扩展,除了适合于供 CA/PKI 方案研究之外,它还完全能够胜任企业级应用场景乃至于承载公共 CA 的 PKI 体系。

  本文旨在使用腾讯云轻量应用服务器通过将 EJBCA 集成至 JBoss EAP 以搭建一个自有 CA/PKI 系统并实践签发各类数字证书。

二、准备操作

2.1. 服务器准备

  由于 JBoss EAP 是一个基于 JavaEE 的服务器程序,因此占用的内存会比较大,故建议选用 2GB 或更高内存的机器用作生产环境(图中红色方框内的套餐)。这里笔者选用的是腾讯云轻量应用服务器通用型套餐2C4G8M。

  系统建议选用 Ubuntu 或 Debian,CentOS 7 的软件包过于陈旧可能会对部署和运行产生影响,笔者选用的是 Ubuntu 20.04 LTS。

2.2. 软件包准备

2.2.1. 包安装相关组件和依赖

  依次执行以下命令:

apt update apt install wget default-jdk-headless ant ant-optional unzip -y apt install openjdk-8-jdk -y

2.2.2. 调整 Java 环境为 OpenJDK 8

  依次执行以下命令:

update-alternatives --config java update-alternatives --config javac

  修改为 OpenJDK 8。

  编辑 /etc/profile ,将以下内容附加到末尾并保存:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=$JAVA_HOME/jre export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

  执行 source /etc/profile 以应用配置,并执行 java -version 和 javac -version 以检查和确认 Java 环境已经调整为 OpenJDK 8。

2.2.3. 软件包下载

  由于 JBoss EAP 7.3.0 + EJBCA 7.4.3 组合在笔者尝试五次后依旧部署失败,故本文将以 JBoss EAP 6.4.0 (April 15, 2015) + EJBCA 6.15.2.6 (April 6, 2020) (两者均为 6 系列的最后一个版本)作为演示。   JBoss EAP 6.4.0 下载地址: https://developers.redhat.com/content-gateway/file/jboss-eap-6.4.0.GA-installer.jar (需要登录 RedHat 账号后下载至本地再上传至服务器)   EJBCA 6.15.2.6 下载地址: https://sourceforge.net/projects/ejbca/files/ejbca6/ejbca_6_15_2_6/ejbca_ce_6_15_2_6.zip (需要下载至本地再上传至服务器)

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)
  • 验证码 点击我更换图片

网友最新评论