找回密码
 立即注册
首页 业界区 业界 Ubuntu安装notary

Ubuntu安装notary

砂歹汤 昨天 19:32
客户端

源码安装:

  • 安装 go 和 git:
  1. sudo apt-get update
  2. sudo apt-get install golang-go git
复制代码

  • 克隆 Notary 仓库并编译:
  1. git clone https://github.com/theupdateframework/notary.git
  2. cd notary
  3. make binaries
复制代码
此时会在 bin/ 目录下生成相关可执行文件,接下来将生成的 notary 主程序移动到系统的 PATH(如 /usr/local/bin),以方便全局调用:
  1. sudo mv bin/notary /usr/local/bin/
  2. sudo chmod +x /usr/local/bin/notary
复制代码
服务端

启动服务端,进入 Notary 仓库目录,执行 docker-compose up 启动容器,主要包含了三个容器:

  • Server
  • Signer
  • Mysql
    1.png

配置notary 采用本地的 server

生成自签证书

创建 openssl-san.cnf 文件
如果需要其他 IP 可访问,则在 IP. 1 后新添一行 IP. 2。
  1. [ req ]
  2. default_bits       = 2048
  3. distinguished_name = req_distinguished_name
  4. x509_extensions    = v3_req
  5. prompt             = no
  6. [ req_distinguished_name ]
  7. CN = notary.local
  8. [ v3_req ]
  9. subjectAltName = @alt_names
  10. [ alt_names ]
  11. DNS.1 = notary-server
  12. DNS.2 = notary-signer
  13. DNS.3 = localhost
  14. DNS.4 = notaryserver
  15. DNS.5 = notarysigner
  16. IP.1  = 127.0.0.1
  17. IP.2  = 10.211.55.2
复制代码
使用 openssl-san.cnf 文件创建证书
  1. openssl req -new -x509 \
  2.     -keyout notary-server.key \
  3.     -out notary-server.crt \
  4.     -days 3650 \
  5.     -nodes \
  6.     -config openssl-san.cnf
复制代码
执行后,会生成 notary-server.crt 和 notary-server.key 文件。
配置客户端


  • 把 notary-server.crt 复制到 ~/.notary 目录下,改名为 root-ca.crt
  • 在 ~/.notary 目录下创建文件 config.json(已经有了则覆盖),填写如下配置
  1. {
  2.         "remote_server": {
  3.                 "url": "https://localhost:4443",
  4.                 "root_ca": "root-ca.crt"
  5.         }
  6. }
复制代码
配置服务端


  • 进入 Notary 仓库目录下的 fixtures 目录
  • 我们需要修改 notary-server.crt,notary-server.key,notary-signer.crt,notary=signer.key 和 root-ca.crt,所以首先执行下面的命令备份原来的文件
  1. mkdir bck
  2. mv notary-server.* notary-signer.* root-ca.crt ./bck
复制代码

  • 把之前用 openssl 生成的自签证书 notary-server.crt,notary-server.key 移动到 fixtures 目录
  • notary-signer.crt,notary-signer.key 和 root-ca.crt 和 server 的证书都一致,所以直接复制即可
  1. cp ./notary-server.crt ./root-ca.crt
  2. cp ./notary-server.crt ./notary-signer.crt
  3. cp ./notary-server.key ./notary-signer.key
复制代码

  • 执行 docker-compose up --build -d,重新生成镜像,把生成的证书打包到镜像中
连接到 Mysql 容器

Docker-compose 部署时,元文件和密钥默认存放在 mysql 容器中,如果需要用 navicat 等工具连接,需要设置一下端口映射。
打开 Notary 仓库目录下的 docker-compose.yml,添加端口映射
2.png

之后用 navicat 连接即可,账号: root;密码为空。
补充说明


  • 如果证书报错,通过下面两个命令检查证书信息,重点查看 X509v3 extensions 字段是否有 IP Address:127.0.0.1
    3.png

  1. # 打印证书文件信息
  2. openssl x509 -in <crt文件路径> -noout -text
  3. # 打印服务端证书文件信息
  4. openssl s_client -connect localhost:4443 -showcerts | openssl x509 -noout -text
复制代码

  • 记得需要重启生成镜像,不然新证书无法生效。
  • 默认配置文件位置:

    • DockerCompose: docker-compose.yml
    • Server:fixtures/server-config.json
    • Signer:fixtures/signer-config.json


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册