SLB配置自己生成的SSL证书--双向认证

2023-10-30 12:59

本文主要是介绍SLB配置自己生成的SSL证书--双向认证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SLB配置自己生成的SSL证书--双向认证

因为公司业务的服务器只提供接口给移动端使用,不需要浏览器访问,而且要求使用双向认证,移动端要预埋证书,这就涉及到证书过期之后必须更新才能访问服务器的问题。使用第三方机构的服务器证书,有效期就1-2年,过期不得不更换,而移动端又不能确保用户及时更新,安全性什么的要求也高。总之,业务的需求决定了最终没有购买第三方机构的服务器证书,而是使用了openssl自己生成的证书。

之前是把证书直接配置在后端服务器上,但考虑到后续业务的扩展以及高可用的要求,还是应该要做负载均衡,所以就尝试在阿里云的SLB服务上做配置。

1.生成证书

首先生成证书,这里我是写了一个build_cert.sh脚本和配置来生成CA证书,以及服务端和客户端证书的,具体编写可以参考这篇文章:https://blog.csdn.net/ustccw/article/details/76691248

我这里生成测试证书使用的域名是:slb.test.mosiliang.top

接着在linux系统终端执行脚本build_cert.sh,就生成了ca.cert,ca.key,client.cert,client.key,server.cert,server.key等后续需要的文件。

2.上传证书

这些证书文件生成之后还不能直接使用,需要做一些格式转换。我这里使用openssl到脚本所在路径下执行如下指令:

openssl pkcs12 -export -in rsa/server.cert -inkey rsa/server.key -out server.pkcs12 -name server -CAfile rsa/ca.cert -caname root -chain

输入密码(随意写,但要记住,因为后续还要用到,我这里是:1523480205018),得到server.pkcs12服务器证书。

但是SLB里要求的证书格式是pem格式,所以要做PKCS#12 到 PEM 的转换:

openssl pkcs12 -in server.pkcs12 -nokeys -out server.pem

接下来上传证书到SLB做配置,先是上传服务器证书,这里要选择第三方签发证书,如下图:
在这里插入图片描述

接着下一步选择文件上传,就是server.pem文件,但是这里生成的文件直接上传会提示格式错误,按照里面的样例格式说明(如下图),

在这里插入图片描述

打开server.pem文件发现这里生成时多了一些额外的信息,我们只要把BEGIN CERTIFICATE和END CERTIFICATE的两部分单独拷贝到上传证书的输入框那里就可以了。

接着是服务端私钥的上传,也就是前面生成的server.key文件,这里直接上传也会提示格式不对,对比格式样例,我这里是收尾行少了个"RSA",即按照格式,只要把BEGIN PRIVATE KEY改成BEGIN RSA PRIVATE KEY,END PRIVATE KEY改成END RSA PRIVATE KEY就可以了。

上传服务器证书之后就可以选择证书了。另外,因为要实现双向认证,所以还要启用双向认证并上传CA根证书,如下图:

这篇关于SLB配置自己生成的SSL证书--双向认证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt