https自建证书访问

这里所采用的是tomcat本地免安装服务器、浏览器,android进行访问https。
1.服务器端的配置
在tomcat根目录下conf目录下server.xml 找到以下标识的取消注释进行修改

<!--Define a SSL HTTP/1.1 Connector on port 8443 注释的内容 

  <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               connectionTimeout="20000" 
               redirectPort="8443" 
               keystoreFile="D:/ssl/xxx.jks"
               keystorePass="123456"
               truststoreFile="D:/ssl/xxx.jks"
               truststorePass="123456"
               clientAuth="false" sslProtocol="TLS" />

参数说明

connectionTimeout  :添加超时时间
keystoreFile :签名文件
truststoreFile :信任文件
clientAuth: 是否开启双向验证

2.签名、证书的生成
服务器签名文件

keytool -genkey -alias server -keyalg RSA -keystore server.jks -validity 3600 -keypass 123456 -storepass 123456 -ext san=ip:192.168.18.171

客户端签名文件

keytool -genkeypair -alias client -keyalg RSA -validity 1000 -keypass 123456 -storepass 123456 -keystore client.jks

导出自建证书
服务端

keytool -export -alias server -file server.cer -keystore server.jks -storepass 123456

客户端

keytool -export -alias client -file client.cer -keystore client.jks -storepass 123456

证书交换:

(将客户端证书导入服务端keystore中,再将服务端证书导入客户端keystore中, 一个keystore可以导入多个证书,生成证书列表)
生成客户端信任证书库(由服务器端证书生成的证书库):

keytool -import -v -alias server -file D:\ssl\server.cer -keystore D:\ssl\truststore.jks -storepass 123456

将客户端证书导入到服务器证书库(使得服务器信任客户端证书):

keytool -import -v -alias client -file D:\ssl\client.cer -keystore D:\ssl\server.jks -storepass 123456

查看证书库中全部证书:

查看证书库中全部证书:
keytool -list -keystore D:\ssl\server.jks -storepass 123456

在android 客户端中jks不能使用只能使用bks文件,需要借助工具进行转换。
运用Portecle工具进行转换证书(将client.jks和truststore.jks转换为bks文件):

转换tools--change keystore type--bks

tomcat SSL证书安装:
数安时代 tomcat SSL配置

数安时代 在线生成CSR

<think>首先,用户的问题是关于在Harbor中配置自建SSL证书的。我需要基于系统指令和提供的引用内容来构建回答。 关键点: - 使用中文回答。 - 结构清晰,逐步解决问题。 - 确保回答真实可靠,基于提供的引用。 - 在行内数学表达式使用$...$,独立公式用$$...$$,但这里可能没有数学内容,所以可能不需要。 - 生成相关问题。 - 在引用的段落末尾添加引用标识,如[^1]。 提供的引用摘要: - [^1]: 配置Harbor服务器使用自建证书:修改harbor.yml文件,设置hostname、https部分,指定certificate和private_key路径。 - [^2]: 解决SSL证书配置错误:编辑配置文件,设置正确的证书路径。 - [^3]: 配置SSL双向认证:编辑harbor.yml,关闭http,配置https端口和证书。 - [^4]: 添加SSL证书:建议使用https,避免关闭证书校验;自签名证书或公网证书。 用户意图:了解如何在Harbor中配置自建证书。所以,我需要提供一个逐步指南。 回答结构: 1. **介绍**:简要说明配置自建SSL证书的重要性。 2. **步骤**:逐步指导如何配置。 - 准备证书文件。 - 修改Harbor配置文件(harbor.yml)。 - 指定证书路径。 - 重新启动Harbor服务。 3. **验证**:如何验证配置是否成功。 4. **生成相关问题**:在最后添加相关问题。 确保语言清晰、易懂,使用中文。 添加引用:在相关部分末尾添加引用标识。例如,提到修改配置文件时,引用[^1]。 现在,构建回答: - **步骤1:准备证书** - 用户需要生成自建证书,如使用OpenSSL。 - 引用中提到自签名证书或公网证书[^4]。 - **步骤2:修改配置文件** - 编辑harbor.yml文件。 - 设置hostname为Harbor的域名。 - 在https部分,设置certificate和private_key路径。 - 引用[^1]和[^2]。 - **步骤3:重新启动服务** - 运行安装脚本或重启Harbor服务。 - 引用[^2]。 - **步骤4:验证配置** - 访问Harbor UI通过https。 - 检查日志是否有错误。 最后,生成相关问题: 1. 如何为Harbor生成自签名证书? 2. 如何配置Harbor使用公网SSL证书? 3. 如何在Docker客户端信任自签名证书? 确保回答中引用了正确的部分。</think>### 如何在Harbor中配置自建SSL证书 配置自建SSL证书是确保Harbor镜像仓库通信安全的关键步骤,能防止数据劫持和篡改风险。以下是基于最佳实践的逐步指南,操作前请确保已安装Harbor并拥有管理员权限。配置过程涉及修改Harbor配置文件、指定证书路径和重启服务。以下是详细步骤: #### 步骤1: 准备自建证书 - 生成自签名证书或使用公网证书(如Let's Encrypt)。推荐使用OpenSSL工具创建自签名证书: ```bash # 生成私钥 openssl genrsa -out harbor.key 2048 # 生成证书签名请求(CSR) openssl req -new -key harbor.key -out harbor.csr # 生成自签名证书(有效期365天) openssl x509 -req -in harbor.csr -signkey harbor.key -out harbor.crt -days 365 ``` - 将生成的`harbor.crt`(证书文件)和`harbor.key`(私钥文件)保存到Harbor服务器上的安全目录,例如`/opt/harbor/certs/`。确保目录权限正确(如`chmod 600 /opt/harbor/certs/*`)[^4]。 #### 步骤2: 修改Harbor配置文件 - 编辑Harbor的配置文件`harbor.yml`(通常位于Harbor安装目录下,如`/linuxmc/softwares/harbor/`): ```bash vim /path/to/harbor/harbor.yml ``` - 在文件中,更新以下关键部分: - 设置`hostname`为您的Harbor域名(如`harbor.linuxmc.com`)。 - 在`https`部分,指定证书和私钥的绝对路径。 - 关闭HTTP连接以强制使用HTTPS(可选,但推荐)。 - 示例配置: ```yaml hostname: harbor.linuxmc.com https: port: 443 # 默认HTTPS端口,可自定义(如8443) certificate: /opt/harbor/certs/harbor.crt private_key: /opt/harbor/certs/harbor.key http: port: 80 enabled: false # 禁用HTTP,仅使用HTTPS harbor_admin_password: your_secure_password # 确保管理员密码安全 ``` 此配置确保Harbor使用您提供的证书进行加密通信[^1][^2][^3]。 #### 步骤3: 应用配置并重启Harbor服务 - 保存配置文件后,运行Harbor安装脚本以应用更改: ```bash cd /path/to/harbor ./install.sh --with-trivy --with-chartmuseum # 根据您的安装选项调整 ``` 或如果Harbor已运行,重启服务: ```bash docker-compose down -v docker-compose up -d ``` - 检查服务日志确认无错误: ```bash docker-compose logs -f ``` 如果出现类似“SSL certificate configured successfully”的消息,表示配置成功。否则,检查证书路径和文件权限[^2][^3]。 #### 步骤4: 验证配置 - 访问Harbor Web UI:在浏览器中输入`https://harbor.linuxmc.com`(替换为您的域名),应看到安全锁图标(表示HTTPS生效)。 - 测试Docker客户端:确保客户端信任证书。对于自签名证书,需将`harbor.crt`复制到Docker客户端的信任目录(如`/etc/docker/certs.d/harbor.linuxmc.com/`),然后重启Docker服务: ```bash sudo systemctl restart docker docker login harbor.linuxmc.com # 应能成功登录 ``` #### 常见问题解决 - **错误处理**:如果遇到“ERROR:root:Error: The protocol is https but attribute ssl_cert is not set”,请复查`harbor.yml`中的`certificate`和`private_key`路径是否准确,并确保文件存在[^2]。 - **安全建议**:自签名证书适用于测试环境,生产环境建议使用公网证书以避免浏览器警告[^4]。 通过以上步骤,您可顺利完成Harbor的自建SSL证书配置,提升仓库安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值