当前位置: 首页 > news >正文

Ubuntu安装notary

客户端

源码安装:

  1. 安装 go 和 git:
sudo apt-get update
sudo apt-get install golang-go git
  1. 克隆 Notary 仓库并编译:
git clone https://github.com/theupdateframework/notary.git
cd notary
make binaries

此时会在 bin/ 目录下生成相关可执行文件,接下来将生成的 notary 主程序移动到系统的 PATH(如 /usr/local/bin),以方便全局调用:

sudo mv bin/notary /usr/local/bin/
sudo chmod +x /usr/local/bin/notary

服务端

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

  • Server
  • Signer
  • Mysql
    image.png

配置notary 采用本地的 server

生成自签证书

创建 openssl-san.cnf 文件

如果需要其他 IP 可访问,则在 IP. 1 后新添一行 IP. 2。

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
x509_extensions    = v3_req
prompt             = no[ req_distinguished_name ]
CN = notary.local[ v3_req ]
subjectAltName = @alt_names[ alt_names ]
DNS.1 = notary-server
DNS.2 = notary-signer
DNS.3 = localhost
DNS.4 = notaryserver
DNS.5 = notarysigner
IP.1  = 127.0.0.1
IP.2  = 10.211.55.2

使用 openssl-san.cnf 文件创建证书

openssl req -new -x509 \-keyout notary-server.key \-out notary-server.crt \-days 3650 \-nodes \-config openssl-san.cnf

执行后,会生成 notary-server.crtnotary-server.key 文件。

配置客户端

  • notary-server.crt 复制到 ~/.notary 目录下,改名为 root-ca.crt
  • ~/.notary 目录下创建文件 config.json(已经有了则覆盖),填写如下配置
{"remote_server": {"url": "https://localhost:4443","root_ca": "root-ca.crt"}
}

配置服务端

  • 进入 Notary 仓库目录下的 fixtures 目录
  • 我们需要修改 notary-server.crtnotary-server.keynotary-signer.crtnotary=signer.keyroot-ca.crt,所以首先执行下面的命令备份原来的文件
mkdir bck
mv notary-server.* notary-signer.* root-ca.crt ./bck
  • 把之前用 openssl 生成的自签证书 notary-server.crtnotary-server.key 移动到 fixtures 目录
  • notary-signer.crtnotary-signer.keyroot-ca.crt 和 server 的证书都一致,所以直接复制即可
cp ./notary-server.crt ./root-ca.crt
cp ./notary-server.crt ./notary-signer.crt
cp ./notary-server.key ./notary-signer.key
  • 执行 docker-compose up --build -d,重新生成镜像,把生成的证书打包到镜像中

连接到 Mysql 容器

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

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

补充说明

  1. 如果证书报错,通过下面两个命令检查证书信息,重点查看 X509v3 extensions 字段是否有 IP Address:127.0.0.1
    image.png
# 打印证书文件信息
openssl x509 -in <crt文件路径> -noout -text# 打印服务端证书文件信息
openssl s_client -connect localhost:4443 -showcerts | openssl x509 -noout -text
  1. 记得需要重启生成镜像,不然新证书无法生效。
  2. 默认配置文件位置:
    1. DockerCompose: docker-compose.yml
    2. Server:fixtures/server-config.json
    3. Signer:fixtures/signer-config.json
http://www.hskmm.com/?act=detail&tid=311

相关文章:

  • Ubuntu安装containerd
  • 你的错误处理一团糟-是时候修复它了-️
  • TRVCOST - Travelling cost 题解
  • 我重新制作动画系统的思路
  • 第一次作业:自我介绍+软工5问
  • 第一篇练习博客
  • 原型设计实用干货!3款热门AI生成原型图软件横向测评
  • Python Flask框架入门_3.通过token认证验证API的访问权限(数据库版本)
  • 港科 Tower A 宿舍凝水之谜
  • Transformer 模型(能理解“句子顺序”和“上下文”的神经网络架构)
  • 题解:P3546 [POI 2012] PRE-Prefixuffix
  • 自然语言处理(NLP)发展脉络
  • 错误报警:“该 CPU 或当前的库版本不支持数据类型”
  • redis各种数据类型
  • 关于 cnpm 的安装
  • 剖析“YOLO”哈希构造的安全隐患与正确替代方案
  • Charles实战秘籍:弱网模拟、Map Local/Remote、HTTPS抓包详解
  • BOE(京东方)“照亮成长路”公益项目走进富平县 科技赋能教育树立可持续发展新标杆
  • 9月23日周二《AI+企业IP获客联盟峰会》,相约东莞厚街富盈酒店
  • 第一次作业 自我介绍+软工5问
  • 深度学习调参新思路:Hyperband早停机制提升搜索效率
  • K8S Ingress 和 Service的作用?
  • Nginx 配置详解:从基础到进阶
  • Nginx 基础
  • 零成本搭建企业系统:五款免费低代码平台推荐
  • 软件工程第一次作业-自我介绍
  • 通过pip的配置文件,来永久设置国内源‌
  • 软工第一次作业
  • .NET 单文件程序详解:从原理到实践 - C#混淆加密大师解包打包单文件程序
  • 用夏普比例和卡玛比率评估基金的性价比