• (五)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 2048   #生成根证书私钥(无加密)   

    4.2生成自签名证书(使用已有私钥ca.key自行签发根证书)

    openssl req -x509 -new -nodes -key ca.key -days 10000 -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:4096 -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 365 -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

  • 相关阅读:
    ApacheCN 所有教程/文档集已备份到 Coding
    固态硬盘寿命天梯榜 2021.7
    一个垃圾佬的自我修养(一)工作站篇
    Java 向上转型
    记一次chromedriver与浏览器版本不匹配导致的问题(mac版本)
    关于C# 里面的axWindowsMediaPlayer的使用
    WCHAR的相关操作 范例 , 同时也是产生创建Sqlserver语句新表的 Sql
    C++ Win32 sokcet2.0版本 TCP 服务器
    C++ WIN 32 socket 2.0版本 TCP客户端
    数据库和传感器糅合 数据部分程序 正常运行
  • 原文地址:https://www.cnblogs.com/shix0909/p/11082737.html
Copyright © 2020-2023  润新知