记一次CA证书的申请、服务器上的部署过程

2024-05-29 16:32

本文主要是介绍记一次CA证书的申请、服务器上的部署过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.简介

最近用dockerliberity服务器上部署了一个应用。由于安全方面的考虑,服务器管理员需要我们启用https连接。这就需要我们去给liberity配置ssl证书。

2.步骤

1.申请CA证书

  1. 申请CA证书需要证书请求文件,需要在Server端生成。可以在server端用openssl命令生成。
    证书请求文件里面包含的是serverpublic key。下面的命令生成了一个xxxx.com.key,这个就是服务器的私钥。xxxx.com.csr就是证书请求文件,里面包含的是与xxxx.com.key配对的公钥。
    openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout xxxx.com.key -out xxxx.com.csr
    
    思考:为什么需要证书请求文件?
    CA机构会用自己的私钥给证书请求文件签一个名,这样我们就得到了CA签名的证书,里面包含了server的公钥。
    浏览器在打开我们的网站的时候,server会将这个经过CA签名的证书发给浏览器,浏览器或操作系统内置了包含CA机构的公钥,用公钥将证书解密,得到server的公钥,用于后面https协商对称加密的秘钥。
  2. csr文件提交到CA机构。提交一些必要的信息之后,CA机构会返回给你CA证书。
    我这里使用的是内网的CA,它最终提供了三种文件格式的证书(crt,der, pkcs7b)。

2.将CA证书和服务器私钥存入p12秘钥库中

由于liberity服务器需要p12秘钥库形式的证书,所以我们需要对证书进行转换。
证书转换的时候,遇到了很多坑。
crtder格式的证书在转换的时候都会出错,出现unable to load certificate的错误。怀疑和CA网站上下载的证书的格式有关系,后面还需要研究下,这些格式之间有什么区别联系。
最终通过先将pkcs7b格式证书转换成pem格式的证书,然后将pem格式的证书转换成p12格式的证书,达到了目的。
pkcs7b格式的证书下载下来,文件后缀名是pem的,但是格式其实不是pem。需要先转成pem
pkcs7格式的cert.pem转成pem格式的certificate.pem

openssl pkcs7 -print_certs -in cert.pem -out certificate.pem

再将pem格式的certificate.pem转成p12格式的certificate.p12,注意需要将服务器的私钥xxxx.com.key一起放在p12中(设置了export密码,这个密码要和server.xml中的password对应):

openssl pkcs12 -export -in certificate.pem -inkey xxxx.com.key -out certificate.p12

3. 配置liberity服务器

liberity服务器的ssl配置和tomcat服务器的配置是很类似的。
参考:https://www.ibm.com/docs/zh/was-liberty/nd?topic=liberty-ssl-configuration-attributes
https://www.openliberty.io/docs/21.0.0.5/reference/feature/transportSecurity-1.0.html

修改server.xml,加入下面的ssl配置:
p12 文件需要放在/output/resources/security/文件夹下,这里是liberity默认的存储key的位置。

    <!-- SSL --><sslDefault sslRef="izuSSLConfig" /><ssl id="izuSSLConfig" keyStoreRef="defaultKeyStore"clientAuthenticationSupported="false" sslProtocol="TLSv1.2"/><keyStore id="defaultKeyStore" location="/output/resources/security/certificate.p12" type="PKCS12" readOnly="true" password="xxxxxx" />

4. certificate过期了,进行替换

证书过期了,需要替换。需要在IBM内网,重新生成证书,然后替换。刚开始的想法是想要重新制作镜像,最后发现可以直接使用docker cp命令替换正在运行的容器里面的证书,然后重启容器即可。

docker cp certificate.p12  镜像名:/output/resources/security/  
docker restart 镜像名

这篇关于记一次CA证书的申请、服务器上的部署过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1014045

相关文章

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存