(五)VMware Harbor 部署之SSL
转自:https://www.cnblogs.com/Rcsec/p/8479728.html
1 .签名证书与自签名证书
签名证书:由权威颁发机构颁发给服务器或者个人用于证明自己身份的东西。
自签名证书:由服务器自己颁发给自己,用于证明自己身份的东西,非权威颁发机构发布。
2. openssl简介
openssl 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
3. KEY与CSR的区别
Key通常用来存放一个公钥或者私钥,并非X.509证书,编码同样的,可能是PEM,也可能是DER。证书自身拥有一个密钥对(即一个公钥和一个私钥),由公钥(Public Key)与私钥(Private Key)是通过一种算法得到,公钥是密钥对中公开的部分,私钥则是非公开的部分。一般公钥和密钥的关系为:1,公钥和私钥成对出现、2,公开的密钥叫公钥,只有自己知道的叫私钥、3,用公钥加密的数据只有对应的私钥可以解密、4,用私钥加密的数据只有对应的公钥可以解密、5,如果可以用公钥解密,则必然是对应的私钥加的密、6,如果可以用私钥解密,则必然是对应的公钥加的密。
CSR文件必须在申请和购买SSL证书之前创建。也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请 者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
4. 证书配置之生成根证书
创建证书存放目录:
mkdir -p /data/cert && cd /data/cert
4.1创建自己的CA证书(不使用第三方权威机构的CA来认证,自己充当CA的角色)
openssl genrsa -out ca.key #生成根证书私钥(无加密)

4.2生成自签名证书(使用已有私钥ca.key自行签发根证书)
openssl req -x509 -new -nodes -key ca.key -days -out ca.crt -subj "/CN=Harbor-ca" req 产生证书签发申请命令
-x509 签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
-new 生成证书请求
-key 指定私钥文件
-nodes 表示私钥不加密
-out 输出
-subj 指定用户信息
-days 有效期
5 .证书配置之生成服务器端证书
5.1生成服务器端私钥和CSR签名请求
openssl req -newkey rsa: -nodes -sha256 -keyout server.key -out server.csr

注意:一路回车。。。
5.2签发服务器证书
echo subjectAltName = IP:192.168.3.135 > extfile.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days -extfile extfile.cnf -out server.crt
x509 签发X.509格式证书命令。
-req 表示证书输入请求。
-days 表示有效天数
-extensions 表示按OpenSSL配置文件v3_req项添加扩展。
-CA 表示CA证书,这里为ca.crt
-CAkey 表示CA证书密钥,这里为ca.key
-CAcreateserial表示创建CA证书序列号
-extfile 指定文件

6. 修改hardor的配置文件hardor.yml
更新主机名和协议
#set主机名
hostname = 192.168.88.128
#set ui_url_protocol
ui_url_protocol = https
7. 设置docker证书
# 如果如下目录不存在,请创建,如果有域名请按此格式依次创建
mkdir -p /etc/docker/certs.d/192.168.3.135
# mkdir -p /etc/docker/certs.d/[IP2]
# mkdir -p /etc/docker/certs.d/[example1.com]
# 如果端口为443,则不需要指定。如果为自定义端口,请指定端口
# /etc/docker/certs.d/yourdomain.com:port # 将ca根证书依次复制到上述创建的目录中
cp ca.crt /etc/docker/certs.d/192.168.3.135/
8. 为Harbor生成配置文件
#首先重启下docker
systemctl restart docker
#为Harbor生成配置文件
./prepare
9.完成启动Harbor
docker-compose up -d

10.登陆Harbor
(五)VMware Harbor 部署之SSL的更多相关文章
- harbor部署之SSL
harbor部署之SSL 1 签名证书与自签名证书 签名证书:由权威颁发机构颁发给服务器或者个人用于证明自己身份的东西. 自签名证书:由服务器自己颁发给自己,用于证明自己身份的东西,非权威颁发机构发布 ...
- 三、harbor部署之SSL
1 签名证书与自签名证书 签名证书:由权威颁发机构颁发给服务器或者个人用于证明自己身份的东西. 自签名证书:由服务器自己颁发给自己,用于证明自己身份的东西,非权威颁发机构发布. 2 openssl简介 ...
- docker 镜像仓库 Harbor 部署 以及 跨数据复制
docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...
- Docker镜像仓库Harbor部署
一.Harbor组件 组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录 ...
- (十九)VMware Harbor 详细介绍
一 . 简介 Harbor是VMware公司开源的企业级DockerRegistry项目,项目地址为https://github.com/vmware/harbor.其目标是帮助用户迅速搭建一个企业级 ...
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- 企业级Docker私有仓库之Harbor部署(http)
部署环境 Centos7.3 x64 docker-ce-17.06.0 docker-compose-1.15.0 Python-2.7.5(系统默认) Docker及Docker-compose安 ...
- 企业级docker仓库Harbor部署
1.安装环境下载离线安装包地址https://github.com/vmware/harbor/releases/yum install -y dockerpip install -i https:/ ...
随机推荐
- 初识btrace
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1 btrace简介 BTrace是一个非常不错的java诊断工具.BTrace 中的B表示bytecode ...
- 201621123016《Java程序设计》第1周学习总结
1. 本周学习总结 本周的学习内容:java的发展历史,java程序设计环境,java简单语法. java与c++一样是一门面向对象的程序设计语言(相比于c++它是一门更彻底的面向对象的程序设计语言) ...
- Spring中配置Dbutils
<!--配置QueryRunner--> <bean id="runner" class="org.apache.commons.dbutils.Que ...
- AtCoder Beginner Contest 087 D People on a Line(DFS)
题意 给出n个点,m组关系L,R,D,L在R的左边距离D,判断是否存在n个人的位置满足m组关系 分析 Consider the following directed graph G: There ar ...
- Lightoj 1094 【DFS】
题意: 给你一颗n-1条边的树,求某两点的最长路 思路: 随便找个根,然后我们从根往下搜,对于每个结点会出现多个子节点或者一个子节点或者没有结点, 多个子节点的话,就以他为中间点,在子节点中找两条最长 ...
- C#中的yield return
4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块.迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句. yield return语句产生迭代的 ...
- css-float浮动详细
前言 pc端的页面为了保持良好的兼容性,一般会使用css2部分就支持的浮动(float)和定位(postion)来布局.浮动行为怪异,但有迹可循.以下下是在css揭秘一书中总结的浮动内幕. 包含块:浮 ...
- C - Heavy Transportation
//改版dijkstra #include <iostream> #include <algorithm> #define Faster ios::sync_with_stdi ...
- 当前View的坐标相对其他View的位置坐标
// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect - (CGRect)convertRect:(CGRect)rect toView:(UIView *) ...
- python基本的数据类型
一.python的基本数据类型 int => 整数,主要用来进行数学运算 str ==> 字符串 可以用来保存少量数据并进行相应操作 bool ==> 判断真假,True,False ...