Uacme

跳转到:导航搜索

一个用纯 C 编写的、依赖项极少的(libcurl 和 GnuTLS、OpenSSL 或 mbedTLS 中的一个)轻量级客户端,用于 RFC8555 ACMEv2 协议。ACMEv2 协议允许证书颁发机构(Let's Encrypt 是一个流行的例子)和申请者自动执行验证和证书签发过程。该协议还提供其他证书管理功能,例如证书撤销。

安装

如果您使用的是 openSUSE Tumbleweed 或 Leap 15.3 或更高版本,可以使用 zypper 安装(无需添加仓库,已包含在标准仓库中)

zypper in uacme

如何使用

如 GitHub 页面所述 (https://github.com/ndilieto/uacme),uacme 是一个极简的工具。事实上,uacme 本身不支持挑战(http/dns 等),因此您应该与钩子程序一起使用。如果您想使用 http 挑战(这可能是最常见的情况),可以使用 /usr/share/uacme/uacme.sh 钩子程序。

例如

 # Create uacme directories
 mkdir /etc/ssl/uacme /etc/ssl/uacme/private 
 # Create new key (using mail address)
 uacme new mail_address@example.org
 # Create acme-challenge directory
 mkdir /srv/www/htdocs/.well-known/acme-challenge
 # Issue (replace "example.org" for your FQDN)
 # (If you want to issue a certificate for multiple FQDNs, specify them separated by spaces)
 uacme -h /usr/share/uacme/uacme.sh issue example.org

就这样。如果“uacme issue”命令没有生成任何内容,则表示成功。

您可以在 "/etc/ssl/uacme/example.org/cert.pem" 找到签发的证书,以及在 "/etc/ssl/uacme/private/example.org/key.pem" 找到相应的私钥。

常见问题解答

  • 如果您想使用其他文档根目录,而不是 /srv/www/htdocs,请使用 "UACME_CHALLENGE_PATH" 环境变量指定它(包括 "/.well-known/acme-challenge")。

外部链接