日暮清林 发布的文章

前言

折腾了半天,设置了 HTTP_PROXY 也不行,最后发现必须小写。

教程

设置环境变量即可。(变量名需全小写)

对于 cmd.exe

set http_proxy=http://example.com:1080
set https_proxy=http://example.com:1080
​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍‌​‌​‌​​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌​​‌​​​​‍‌​​​‌​​​‍‌​​​‌‌​​‍‌‌​‌‌‌‌‌‍​‌‌​​​‌‌‌‌‌​‌​​‍‌‌​‌‌‌‌‌‍‌​​‌‌​​​‍‌​​‌​​​​‍‌‌​‌‌‌‌‌‍‌​​‌‌​​​‍‌​​‌‌​‌​‍‌​​​‌​‌‌‍‌‌​‌‌‌‌‌‍​​​​‌​​‌​‌‌​‌‌​‍​‌​‌​‌‌‌​​​​​‌​‍​‌‌​​​‌​​​‌‌​‌‌‍​‌‌​​​​‌​​​​​​​‍​​​‌​‌​‌‌​‌​‌‌‌‍‌‌​‌‌‌‌‌‍‌​‌‌​‌‌‌‍‌​‌​‌​‌‌‍‌​‌​‌​‌‌‍‌​‌​‌‌‌‌‍‌‌​‌‌‌‌‌‍​‌‌​​​‌​​​‌‌‌​​‍​​​‌​‌‌‌‌‌‌‌​​‌‍​​​​​​​​‌‌‌‌​‌‌‌‍​‌‌​‌​​​‌​‌​​​​‌‍‌‌​‌‌‌‌‌‍‌​‌‌‌​​​‍‌​‌‌​​​​‍‌​‌​‌‌‌‌‍‌​‌​‌‌​‌‍‌​‌‌​​​​‍‌​‌​​‌‌‌‍‌​‌​​‌‌​‍​​​​​​​​‌‌‌‌​‌‌​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌​​​‌​‌​‍‌​​​‌‌​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​​​‍‌‌​‌​​‌​‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌‌​‌​​‌​‍‌​​​‌‌‌‌‍‌​​​‌‌​‌‍‌​​‌​​​​‍‌​​​​‌‌‌‍‌​​​​‌‌​‍‌‌​‌​​‌​‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌​​‌​​​​‍‌​​​‌​​​‍‌​​​‌‌​​‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​‌​‌‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌​‌​‍‌​​​‌‌​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​​​‍‌‌​‌​​‌​‍‌​​‌‌​​​‍‌​​‌​​​​‍‌‌​‌​​‌​‍‌​​‌‌​​​‍‌​​‌‌​‌​‍‌​​​‌​‌‌‍‌‌​‌​​‌​‍‌​​‌‌‌​​‍‌​​‌​​​​‍‌​​‌​​‌​‍‌​​‌​​‌​‍‌​​‌‌‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

对于 powershell.exe/pwsh.exe:

$env:http_proxy="http://example.com:1080"
$env:https_proxy="http://example.com:1080"

网上冲浪时发现一篇针对开发时代理环境设置的很好的文章,补充到这里:
https://keqingrong.cn/blog/2021-02-19-proxy-and-pac/

河北邯郸少年一路走好,愿法律严惩三位未成年杀人凶手,愿社会公正得到维护,愿中国法治进程得到推动。

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌​​‌‌​‌​​‌‌​​‍​‌​‌‌​​‌‌‌​‌​​​‍​‌‌​‌‌‌‌​‌​‌​​​​‍​‌‌​‌‌‌‌​​​​​‌‌‌‍​‌‌‌​‌‌‌​‌​‌​‌​​‍​‌​​‌​​​‌​​‌‌​​‍​‌​​​‌‌‌‌‌​‌‌‌​‍​‌​​​​‌‌​​​‌​‌‌‍​‌​‌‌​​​​‌​‌‌‌​‍​‌​​‌‌‌​​​​‌‌‌‌‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍‌‌​‌​​‌​‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​​‌‌​​‍‌​​​‌​‌‌‍‌​​‌‌‌‌​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​​‌​​​‌‍‌​​​‌​‌‌‍‌​‌​​​‌‌‍‌​‌​‌‌​​‍‌​​​‌​‌‌‍‌​​‌‌‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​‌​‌​​​‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌​​‌​‌‌‌‍‌‌​‌​​‌​‍‌​‌​‌​‌‌‍‌​​‌​‌‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​‌‌‌​‌‌‍‌​​‌‌​‌​‍‌​​‌‌‌‌​‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​‌​‌‌​​‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​‌‌​‌‌‍‌​​‌‌​‌​‍‌​​‌​​​‌‍‌​​​‌​‌‌‍‌‌​‌​​‌​‍‌​‌​‌​​​‍‌​​‌​‌‌‌‍‌​​‌​​​​‍‌‌​‌​​‌​‍‌​‌‌​​‌‌‍‌​​‌​‌‌​‍‌​​​‌​​‌‍‌​​‌‌​‌​‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​‌‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​‌‌​‌‌‌‍‌​​‌‌‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌​​‌‌‌‌​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​‌‌​‌‌‌‍‌​​‌‌​‌​‍‌​​‌‌‌​‌‍‌​​‌‌​‌​‍‌​​‌​‌‌​‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

受害者的代理律师臧梵清在微博上对澎湃新闻的采访做出了回答,他一同陪孩子父亲看完整个尸检的过程 大致有几句关键话我转述一下:“惨无人道,令人发指;孩子的脸部伤口大概有10处, 应该是顿挫器或者刀类造成的。 其中一只眼睛已经全部耷拉下来; 脖子更是七八处伤口。胸部肚子很多伤痕,开腔后更是看到肝脏后部的破裂和出血 这大概是凶手其中有人在后面对其施暴造成的。脸部早已血肉模糊,孩子的其中一只手的虎口断裂,猜想应该是三人行凶期间,受害者用手挡住脸部造成的。真是不打死孩子不住手啊!”

三位未成年人杀人凶手有组织有预谋,坑杀无辜少年,此不重判,天理难容!

更新:2024年4月8日,河北省人民检察院宣布此案已经河北省邯郸市肥乡区人民检察院逐级层报最高人民检察院后,被最高人民检察院依法核准追诉。

前言

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌​​​‌‌‌‌‌‌‌​​‌‍‌‌​‌‌‌‌‌‍‌​‌​‌​‌​‍‌​‌​‌‌​​‍‌​‌‌‌‌​‌‍‌‌​‌‌‌‌‌‍​‌‌‌​‌​​​‌​​​​​‌‍​‌​​‌‌​‌‌‌‌‌​​​‍​‌‌‌​​​​​​‌​​​​‌‍​​‌‌‌​​​‌​‌‌​‌​‍​‌​‌‌​‌‌‌​​‌‌‌‌‍‌‌​‌‌‌‌‌‍‌​‌​‌​​​‍‌​‌​‌‌​​‍‌​‌‌​​‌‌‍‌‌​​‌‌​‌‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍‌‌​‌​​‌​‍‌‌​​‌‌‌​‍‌‌​​‌​​​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌​​‌‌‌​​‍‌​​‌​​​​‍‌​​‌​​​‌‍‌​​‌​​​‌‍‌​​‌‌​‌​‍‌​​‌‌‌​​‍‌​​​‌​‌‌‍‌‌​‌​​‌​‍‌​​‌‌​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌‌‌​​‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌‌​‌​​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​​‌‌​​‍‌​​‌​​‌‌‍‌‌​​‌‌​‌‍‌‌​‌​​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌‌‌‌​‍‌‌​‌​​‌​‍‌​​​‌​‌​‍‌​​​‌‌​​‍‌​​‌‌‌​‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

需要确保 WSL 子系统(发行版)运行的是 WSL 2.

教程

  1. Windows 上安装 usbipd-win 软件。前往官方页面下载最新版本: usbipd-win
  2. 重启 WSL 2 子系统。对于 usbipd-win 4.0 及更新版本,需要在 WSL 2 中使用下列命令:
    sudo mount -t drvfs -o "ro,umask=222" "C:\Program Files\usbipd-win\WSL" "/var/run/usbipd-win"
  3. 在 Windows 上运行命令: usbipd list 寻找要连接到 WSL 2 的 USB 设备,并记录 BUSID
  4. 根据上面获取的 BUSID,使用命令: usbipd bind --busid <BUSID> 共享该 USB 设备,来允许连接到 WSL 2。
  5. 将设备连接到 WSL 2:
    usbipd attach --wsl --busid <BUSID>

前言

Google 于几年前提出了“证书透明度”概念,用于确保互联网签发的每一个 SSL 证书都被记录,有效防止 CA 秘密签发证书用于中间人攻击。证书透明度策略要求所有 SSL 证书在使用时,必须有有效的证书透明度时间戳信息,该信息可以作为 X509 扩展签名证书时间戳列表(SignedCertificateTimestampList)嵌入证书,也可以作为独立的数据由 Web 服务器在客户端访问网站时分发。而 SCT 信息则需要证书透明度日志接受证书后签发。本文介绍仅介绍证书透明度日志服务器的部署,对 SCT 签发流程和证书透明度另文讲解。本文使用 Google 官方提供的由 Go 语言实现的证书透明度日志进行部署。官方仓库:certificate-transparency-go
本文也不对其组件进行介绍,对于使用到的文件,为尽可能保证文章消息准确,均提供官方链接(如有)。
请注意,本文需要您有一定的 Docker 基础,熟悉 Docker 的存储和、网络架构

教程

证书透明度日志由两部分组成,核心数据服务:Trillian,证书透明度日志服务:CTFE。我们先进行 Trillian 的部署。

准备 docker-compose.yml 文件

Google 在其仓库中提供了模板文件,我们需要对其进行一些处理。docker-compose.yaml

因为 Trillian 要求使用兼容 MySQL 的数据库系统,在本文中我们使用外部 MariaDB 数据库,所以我们移除编排文件中自带的 MySQL 数据库服务并删除子服务对其依赖。

删除 services 标签中的 db 标签及其全部内容,随后删除 services 标签中其他服务的 depends_on 标签中的所有 db 条目,对于删除后没有其他条目的服务,直接删除整个 depends_on 标签。

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌‌‌​‌​​​​‌‌‌‌‌​‍​‌‌​​​‌‌​​‌‌​​‌‍​‌‌​‌‌‌‌‌‌‌‌​​​​‍​​‌‌​​‌‌‌‌‌​​​‌‍​‌​​​​‌​‌​‌‌​​‌‍​​‌‌​‌​​​​‌‌​‌​‍​‌​​​​​​​‌​‌​​​‍​​‌‌​​​‌‌‌‌​​‌​‍​‌​‌‌​‌​‌​‌‌‌‌​‍​‌​‌​​‌‌​​‌​‌‌‌‍​‌‌​‌‌‌‌​​​‌​‌‌‌‍​​​​​​​‌​​​‌‌​‌‍​​‌‌‌​​‌‌‌‌‌​​​‍​‌​‌‌​​‌​‌​‌​​​‍​​​​​​​​‌‌‌‌​‌‌‌‍‌​‌‌‌​‌‌‍‌​​‌​​​​‍‌​​‌‌‌​​‍‌​​‌​‌​​‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍​​​​​​​​‌‌‌‌​‌‌​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍‌‌​‌​​‌​‍‌‌​​‌‌‌​‍‌‌​​‌‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​‌‌​‌‌‍‌​​‌​‌‌​‍‌​​‌‌​​​‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌‌​‌​​‌​‍‌​​​‌‌​​‍‌​​‌‌​‌​‍‌​​‌‌‌​​‍‌​​​‌​‌​‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌​​​​‌‌​‍‌​‌​​​‌‌‍‌​​‌‌‌​​‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍‌​​​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌‌​​‌‍‌​​‌​‌‌​‍‌​​‌‌‌​​‍‌​​‌‌‌‌​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌​‌‌‍‌​​​‌‌​‌‍‌​​‌‌‌‌​‍‌​​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌‌‌‌‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌​‌​‍‌​​‌​​​‌‍‌​​‌‌‌​​‍‌​​​​‌‌​‍‌‌​‌​​‌​‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​‌‌​​​‍‌‌​‌​​‌​‍‌​​​‌‌​​‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍‌‌​‌​​‌​‍‌​​‌‌​‌‌‍‌​​‌‌​‌​‍‌​​​‌‌‌‌‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​​​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​​‌​​​‌‍‌​​​‌​‌‌‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌​​‌​‌‌‌‍‌‌​‌​​‌​‍‌​​‌‌​‌‌‍‌​​‌​​​​‍‌​​‌‌‌​​‍‌​​‌​‌​​‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

随后修改每个服务中的数据库连接信息,如用户名、密码、数据库名、地址、端口等,这些信息需要保证和后续初始化数据库时使用的内容相符。数据库连接信息在各服务的 command 标签内的 "--mysql_uri= 项的值。官方默认为 test:zaphod@tcp(db:3306)/test,格式为:用户名:密码@tcp(地址:端口)/数据库名。

随后根据实际情况,配置各个服务的网络模式、使用的 Docker 网络,确保可以访问数据库地址,端口可以被外部访问。

处理并保存编排文件后,我们需要初始化数据库。

初始化数据库

Google 在其仓库中提供了 SQL 文件,我们将其导入数据库即可。storage.sql

使用命令导入(mariadb 可换成 mysql):
mariadb -u root -p<PASSWORD_FOR_ROOT> -D<DATABASE_NAME> < ./storage.sql

需要将<PASSWORD_FOR_ROOT>换成数据库 root 用户的密码(和-p之间无空格),DATABASE_NAME 换成数据库名字。

初始化 Docker 存储卷

我们需要创建一个 Docker 存储卷用于持久化存储透明度日志服务器所需要的一些文件。
自行创建一个名为 ctfe_config 的卷,并设置本地挂载点便于访问。

部署 Trillian

进入编排文件所在目录后,使用 docker compose up 命令启动。由于编排文件中 ctfe 服务设置了 profiles: ["frontend"],因此 ctfe 服务不会启动,这将允许我们在完成证书透明度日志必须的设置后再启动。

部署 CTFE

进入 Docker 存储卷 ctfe_config 的挂载点。我们需要准备下面几项:

  1. 证书透明度日志的加密私钥和公钥(派生自私钥)
  2. 证书透明度日志的配置文件
  3. 证书透明度日志的信任根清单(由日志自行决定)

生成私钥和公钥

使用命令:

openssl ecparam -name prime256v1 > keyparam.pem
openssl ecparam -in keyparam.pem -genkey -noout >> privkey.pem
openssl ec -in privkey.pem -pubout -out pubkey.pem

随后自行获取公私钥的 DER 格式的 GREP Hex 值(例如:\x00\x01\x02),分别替换配置文件中 private_key 标签和 public_key 标签中的 der 标签的值为私钥 GREP Hex 的值和公钥 DER 格式的 GREP Hex 值。

处理配置文件

Google 在其仓库中提供了模板文件,我们需要对其进行一些处理。
配置文件需要下列几项提前获取的内容:

  1. log_id:Trillian 中 TREE 的 ID。
  2. prefix:自行决定的纯英文+数字的日志前缀/名字。
  3. roots_pem_file:日志接受的根证书清单。

我们首先获取第一项。
创建一个 Trillian 树,用于证书记录。首先使用命令安装 createtree 工具:

go install github.com/google/trillian/cmd/createtree@latest

随后使用命令:

createtree --admin_server=:8080

在输出的日志中即有纯数字的 log id。随后修改配置文件中 log_id 的值。

接下来我们进行第二项。证书透明度日志的前缀/名字是区分每一个日志和 TREE 的重要部分。其只接受英文字母和数字。
如:apple/hello2024等。起一个名字,并修改配置文件中 prefix 的值。

最后进行第三项。使用命令:

sudo apt-get install -qy ca-certificates
sudo update-ca-certificates
cat /etc/ssl/certs/* > ca-roots.pem

随后修改配置文件中 roots_pem_file 的值为 /ctfe-config/ca-roots.pem

启动证书透明度日志

上述步骤后,我们可以发现 Trillian 的两个服务早已启动,现在只剩下 CTFE 服务了。输入命令:

docker compose --profile frontend up

即可启动。如果出现错误则服务会持续重启。

验证日志

安装并使用 ctclient 验证日志,请替换 <LOG_PREFIX> 为你先前设置的值。

go install github.com/google/certificate-transparency-go/client/ctclient@latest
ctclient get-sth --log_uri http://localhost:8080/<LOG_PREFIX>

小广告

本人正在运行 TrusAuth 可信服务,使用自研系统,保证高可用性,同时确保各级 CA 密钥绝对安全。如果有需要欢迎联系。
了解详情可访问官网:TrusAuth Trusted PKI Service

前言

目前国内基本上没有可以公开购买的智能卡产品(大多是国外的),Windows 系统提供了一个基于虚拟化的安全性的“虚拟智能卡”。
此功能要求计算机有 TPM 2.0 安全模块。

教程

  1. 创建虚拟智能卡
    tpmvscmgr.exe create /name StoreVSC /pin default /adminkey random /generate
​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍‌​‌​‌​​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌​​‌​​​​‍‌​​​‌​​​‍‌​​​‌‌​​‍‌‌​‌‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​‌‌‌​‍‌‌​‌‌‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌​​​​‌​​​​​‌​‌‍​‌‌‌‌​​‌‌​‌​​‌​‌‍​​‌‌‌​‌​​‌​​​​​‍​​‌‌​​‌‌​​​​‌​‌‍​‌‌‌‌‌‌‌​​​​​​‌​‍​‌​‌‌​​‌​​‌‌‌‌​‍​‌‌​​​​​​‌​​​‌​‍​​‌‌‌​‌​‌​‌‌​‌‌‍​​​​‌‌​​​‌‌‌‌‌​‍​‌‌​‌​‌‌​‌​‌‌​‌​‍​‌​​‌​​​‌‌‌​‌‌​‍​‌​‌‌‌​‌​​‌​‌‌‌‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌​​‌‌‌​​‍‌​​​‌‌​‌‍‌​​‌‌​‌​‍‌​​‌‌‌‌​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​​‌‌​‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌‌​‌​​‌​‍‌​​​‌‌​​‍‌​​‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​‌‌‍‌​​‌‌‌​​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌‌​‌​​‌​‍‌​​​‌‌‌‌‍‌​​​‌‌​‌‍‌​​‌​​​​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌​​‌‌‌​​‍‌​​​‌​‌‌‍‌‌​‌​​‌​‍‌​​​‌​‌‌‍‌​​‌​‌‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌‌​​‍‌​​‌‌‌‌​‍‌​​‌‌​​‌‍‌​​‌‌​‌​‍‌​​​‌​‌‌‍‌​​​​‌‌​‍‌‌​‌​​‌​‍‌​​‌​​​​‍‌​​‌‌​​‌‍‌‌​‌​​‌​‍‌​​​‌‌‌‌‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​​‌​​‌‍‌​​‌‌‌‌​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​‌​‌​​‍‌​​‌‌​‌​‍‌​​​​‌‌​‍‌‌​‌​​‌​‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​​‌‌​‌‌‍‌​​‌​​​​‍‌​​​‌​​​‍‌​​​‌‌​​‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

(默认 PIN:12345678)