# dynv6dnscert
**Repository Path**: shujtool/dynv6dnscert
## Basic Information
- **Project Name**: dynv6dnscert
- **Description**: dynv6 DNS验证签发证书,并自动续签。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-04-10
- **Last Updated**: 2025-04-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 证书签发
## README
dynv6 DNS验证签发证书
# 安装openssl
Ubuntu & Debian:
```plain
sudo apt update
sudo apt install openssl
```
CentOS:
```bash
yum install openssl
```
OpenWrt:
```plain
opkg update
opkg install openssl
```
# acme安装
```bash
# 使用安装包安装
tar zxvf acme.sh-master.tar.gz
cd acme.sh-master
./acme.sh --install -m <你的邮箱>
```
也可以使用以下2种方法:
```bash
curl https://get.acme.sh | sh
acme.sh --register-account -m <你的邮箱>
```
```bash
#国内
git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m <你的邮箱>
```
### 创建 一个 bash 的 alias, 方便你的使用
```bash
alias acme.sh=~/.acme.sh/acme.sh
```
# 使用openssl创建密钥对
> dynv6支持的密钥算法仅为:ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, and ecdsa-sha2-nistp521 。需注意部分云服务商的系统可能不兼容此类密钥算法,部署前建议验证目标平台支持性。但实际应用中,由于多数VPS服务商默认提供固定IP地址,无需依赖API动态更新证书的特性,可直接通过常规密钥认证方式完成安全连接配置。
### 创建.ssh文件夹
```bash
mkdir -p ~/.ssh && cd ~/.ssh
```
### 创建ed25519算法证书
```bash
ssh-keygen -t ed25519 -f dynv6_ed25519 -C "<你的邮箱>"
```
```bash
[root@shuj .ssh]# ll ~/.ssh/
总用量 12
-rw------- 1 root root 411 4月 9 10:08 dynv6_ed25519 #私钥
-rw-r--r-- 1 root root 99 4月 9 10:08 dynv6_ed25519.pub #公钥
```
## 上传公钥到dynv6
[注册账号](https://gitee.com/link?target=https%3A%2F%2Fdynv6.com%2Fusers%2Fsign_in)
[创建域名](https://gitee.com/link?target=https%3A%2F%2Fdynv6.com%2Fzones)
[创建HTTP TOKENS](https://dynv6.com/keys)
点击 `HTTP TOKENS `添加 -->选择你创建的(Zone)域名 --> 点击`Generate HTTP Token`创建
[上传公钥内容(SSH Public Keys)](https://dynv6.com/keys#ssh-keys)
查看公钥内容,查到什么就上传什么不用删减
```bash
cat ~/.ssh/dynv6_ed25519.pub
```
点击 `Add SSH Public Key `添加 --> 上传公钥内容 -->选择你创建的(Zone)域名 --> 点击`Add SSH Public Key`创建
# 执行申请证书
```bash
export KEY="/root/.ssh/dynv6_ed25519"
```
```bash
export DYNV6_TOKEN="<从dns服务商获取的httptoken>"
```
```bash
acme.sh --issue --dns dns_dynv6 -d <你的域名>
```
最终结果如下
```bash
-----END CERTIFICATE-----
[2025年 04月 09日 星期三 10:20:46 CST] Your cert is in: /root/.acme.sh/xx.dynv6.net_ecc/xx.dynv6.net.cer
[2025年 04月 09日 星期三 10:20:46 CST] Your cert key is in: /root/.acme.sh/xx.dynv6.net_ecc/xx.dynv6.net.key
[2025年 04月 09日 星期三 10:20:46 CST] The intermediate CA cert is in: /root/.acme.sh/xx.dynv6.net_ecc/ca.cer
[2025年 04月 09日 星期三 10:20:46 CST] And the full-chain cert is in: /root/.acme.sh/xx.dynv6.net_ecc/fullchain.cer
```
```bash
[Wed Apr 9 10:39:55 AM CST 2025] Your cert is in: /root/.acme.sh/xx.dynv6.net_ecc/xx.dynv6.net.cer
[Wed Apr 9 10:39:55 AM CST 2025] Your cert key is in: /root/.acme.sh/xx.dynv6.net_ecc/xx.dynv6.net.key
[Wed Apr 9 10:39:55 AM CST 2025] The intermediate CA cert is in: /root/.acme.sh/xx.dynv6.net_ecc/ca.cer
[Wed Apr 9 10:39:55 AM CST 2025] And the full-chain cert is in: /root/.acme.sh/xx.dynv6.net_ecc/fullchain.cer
```
给证书赋予权限
```bash
chmod 644 /root/.acme.sh/xx.dynv6.net_ecc/*
chmod 755 /root/.acme.sh/xx.dynv6.net_ecc
```
## 查看ACME支持的厂商列表
[https://github.com/acmesh-official/acme.sh/wiki/dnsapi](https://github.com/acmesh-official/acme.sh/wiki/dnsapi)