Letsencrypt acme.sh 支持了 ACME v2

2018-01-06 13:16:58 +08:00
 neilp

不知道 acme.sh 是什么的请移步至: https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

简单的讲就是 可以全自动从 letsencrypt 申请免费证书的 shell 脚本. 几乎无依赖, 不挑系统, 跨平台 Linux, unix, mac, 路由器, 和 Windows. 还有 30 多种 dns api 自动集成等等... 当然这些都不是今天要说的重点.

今天的重点是, acme.sh 刚刚支持了最新的 ACME v2 协议.

尝试最新的 v2 branch, 可以同时无差别兼容 v1 和 v2.

  1. 安装 v2 branch
export BRANCH=2
curl https://get.acme.sh | sh
  1. 使用时只需要带上 v2 的服务器地址.
acme.sh  --server https://acme-staging-v02.api.letsencrypt.org/directory  --issue -d test.acme.sh --standalone

这个用法看起来比较长, 稍后会优化这个, 暂时先用这个吧.

  1. v2 野卡支持: 目前正在进行中, 主要是 命令行接口的适配, 稍后呈上.

这个 branch 2 在 letsencrypt 官方正式发布 v2 之前不会合并进 master, 目前供尝鲜, 慎用.

如何恢复到 master:

export BRANCH=master
curl https://get.acme.sh | sh
5526 次点击
所在节点    问与答
9 条回复
xiaoz
2018-01-06 16:11:20 +08:00
v2 可以直接签发野卡了?
alect
2018-01-06 16:22:30 +08:00
前排支持大佬
imxieke
2018-01-06 21:33:35 +08:00
请问楼主现在可以使用么?
我试了几次 不行 单个域名没毛病 通配符就报错

```
~/.acme.sh/acme.sh --server https://acme-staging-v02.api.letsencrypt.org/directory --issue -d xxx.com -d *.xxx.org --standalone --debug 2
Error, can not get domain token *.xxx.com
```
neilp
2018-01-06 21:37:26 +08:00
@imxieke 通配符不能使用 standalone 模式. 只能使用 dns
alect
2018-01-06 21:57:27 +08:00
<pre><code>
-----BEGIN CERTIFICATE-----
MIIFBDCCA+ygAwIBAgITAPqcEVCwT8N1e/OrezyS3FwLajANBgkqhkiG9w0BAQsF
ADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xODAxMDYx
MjUzMThaFw0xODA0MDYxMjUzMThaMBcxFTATBgNVBAMTDGhleGllc2hlLmNvbTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJtMR3DEPZ8XvMQnrLGF8yx
Ex39ucXg5Nc2M7n/r4Hg1iCaiow83pICTTmGu8E23UXUl50hc+yNxznM06+VVd7Z
MDsUzet0IBibJBagSUo7ycu8Fie6LEdH1JYQ+wXW1nhr5vtxh4OrH5nLsblgZYMQ
PkKt9CODQcpRMUyjCMqHZ/wRRm6stssaKCdITqOVCiOK0am7OxjLTddGqsQAinIU
WZl6W27V/0jH5TlHe88VX7tWF3fPLZpmNpyK2/AzrLD3Cge1ch5XAtfQioeLt+fZ
CQnY23EqNrsY8XIoCz7fp/9kKerjEd544Q6kL4FStwNUPFQtu53O4C/2kL7Xws0C
AwEAAaOCAjwwggI4MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD
AQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUm7+PDGCcfGy7GAG2
EZTahdMogR0wHwYDVR0jBBgwFoAUwMwDRrlYIMxccnDz4S7LIKb1aDowdwYIKwYB
BQUHAQEEazBpMDIGCCsGAQUFBzABhiZodHRwOi8vb2NzcC5zdGctaW50LXgxLmxl
dHNlbmNyeXB0Lm9yZzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3RnLWludC14
MS5sZXRzZW5jcnlwdC5vcmcvMD8GA1UdEQQ4MDaCDiouaGV4aWVzaGUuY29tggsq
Lnh4c2hlLmNvbYIMaGV4aWVzaGUuY29tggl4eHNoZS5jb20wgf4GA1UdIASB9jCB
8zAIBgZngQwBAgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIBFhpodHRw
Oi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtUaGlzIENl
cnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlpbmcgUGFy
dGllcyBhbmQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRpZmljYXRl
IFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9yZXBvc2l0
b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAW20qVWNeJ+kV8T/MGp+Y54lsJuQHZv8w
8neQcBbzB9dnd/dtox2v13CcXKhtcc3xkmYTx2SBbeILsk8Rc230bVil0SgSIwHi
aopfgp8S8qsACzB1+TuzhuGlnL6aolFnOKWty00hGRcBddFXTjBMRCWCXvSGNeDp
ZmrhugCUdU7iGqTuk36lGKDAbByWObHOIC2ekEtb4cFFOwwxA6G2Fhj851pivATg
NOM1VLF+nXq3NyGJ2mr5FbKx1lQCdTbP5OHf5PXMbWYuI5cpd+WUk6ql6mpPN8aa
5IHXqmWU8tcPKfGbCKU3aNt3yut2hED0mB6BufkoIsxBTrr95ymszQ==
-----END CERTIFICATE-----
</code></pre>
imxieke
2018-01-06 22:02:13 +08:00
@neilp #4 感谢楼主 签发完成
下面为 cloudflare 的步骤 供参考
请参考楼主的 --server 域名

@Livid 我今天第一次发链接

>请不要在每一个回复中都包括外链,这看起来像是在 spamming

```
export CF_Key=""
export CF_Email=""

~/.acme.sh/acme.sh \
--server https acme-staging-v02.api.letsencrypt org /directory \
--issue \
-d \
-d \* com \
--dns dns_cf \
--debug 2
```
chinni
2018-01-06 22:12:29 +08:00
之前测试了下 dns 模式 手动添加记录的 都可以认证域名成功 但是签证书说 curl 错误号 3 非法数据格式。
但是用 CF 的 api 自动 dns 的可以签出证书 然而证书是 Fake Root。 所以大家安心等 2.28 号正式版发布就好了。。。。
neilp
2018-01-06 22:17:29 +08:00
@chinni dns 手动模式刚刚修复了在 v2 下的一个 bug, 请尝试最新的 code, 应该可以了.

目前签发的 v2 证书都是 Fake 的, 正式版还没有上线.
Xrong
2018-01-06 22:48:59 +08:00
好期待 LE 的野卡正式上线。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/420565

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX