问题标签 [dnssec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
329 浏览

c - Why ECDSA public key generated by OpenSSL doesn't match DNSKEY generated by DNS server?

I am trying to get public key from known private key for DNSSEC algorithm 13 (ECDSAP256SHA256). I used this example: https://stackoverflow.com/a/17062076/3090865

Which modified for my key looks this:

Trying:

This is what I have inside DNS server (PowerDNS):

Getting DNSKEY record:

And it absolutely doesn't match the key I got with OpenSSL. Why?

0 投票
1 回答
1118 浏览

c - 如何使用 OpenSSL 为 DNSSEC 生成 ECDSA 私钥和公钥?

我正在尝试为 DNSSEC 算法 13 创建私钥和公钥:

测试:

(Perl 行只是将十六进制表示法转换为二进制,然后再转换为 base64。)

但是,如果我将此私钥设置为 DNS 服务器(它只接受私钥并即时生成公钥),它会返回与 OpenSSL 返回的公钥不匹配的公钥

所以,我得到了A97cCGOlwwJA+lnNl4VHBW5Hiy79yZ3dWXbOf6LaLMRbE51vDD/d/DjI CLTJBRSGW9dmpOdp6iU4rTcs52wqSQ==which doesn't match BAPe3AhjpcMCQPpZzZeFRwVuR4su/cmd3Vl2zn+i2izEWxOdbww/3fw4yAi0yQUUhlvXZqTnaeol OK03LOdsKkk=

为什么会这样?

0 投票
2 回答
462 浏览

php - 使用 openssl 使用 PHP 验证 RRSIG

我正在尝试进行RRSIG验证,我正在尝试在 PHP 中使用 openssl 库。但是我在将公钥传递给openssl_verify函数时遇到了问题。

这是一个基本代码,使用 Net/DNS2 库通过 DNSSEC 选项进行 DNS 查询。并获取 DNSKEY 和 RRSIG。

我收到此错误消息,

使用时:

所以我尝试添加 BEGIN/END 标头

并收到此错误消息,

所以看来我给函数提供了错误的格式,我还在谷歌搜索,但欢迎任何帮助。

最终,我喜欢使用以下方法验证签名:

0 投票
2 回答
3524 浏览

dns - 如何列出所有 DNS 记录,包括 DANE TLSA

我想列出所有/任何 DNS 记录,包括 DANE TLSA。

我得到了所有记录,包括 DNSSEC 等,但没有关于 DANE 的记录。为什么?

我得到了 DANE TLSA 记录。

我已经阅读了有人想要查询所有子域的问题 如何列出所有 DNS 记录? 并且我知道这只有通过区域转移才有可能。

但是'_443._tcp.' 不是一个真正的子域,是吗?我以为这只是一个 SRV 记录。那么如何查询包括 DANE TLSA 在内的任何内容?

0 投票
0 回答
3696 浏览

linux - managed-keys-zone ./IN: No DNSKEY RRSIGs found for '.': 成功

我在 centos vps 中运行 bind9 并开始实现 dnssec 所以我已经为我的域签署了 zonefiles 但以下输出每小时都会显示在日志文件中

我的named.conf 文件包含相关信息。我禁用了 dnssec-validation,因为 bind 会引发大量错误:

我的问题是这些消息是什么意思,有什么我可以做的,所以它不会出现在日志文件中吗?谷歌并没有太大帮助。

我的 example.com 和 sub.example.com 等域已正确签名,并且在 zonefile 内的密钥中有签名,那么我该如何处理根区域?


已解决:原来我的 dns 转发器正在过滤 dnssec 查询。此外,vps 的时区设置错误。一旦我更正了时区设置并将我的 dns 转发器更改为支持 dnssec 的服务器,一切都完美无缺。

0 投票
1 回答
299 浏览

php - 构建 DNSKEY RR 的 RDATA 部分

我正在为计费系统完成域注册器插件(在这种情况下还管理域配置),最后一点与实现 DNSSEC 支持有关。

计费系统正在向我的 PHP 插件发送以下 SAMPLE DNSSEC 相关数据:

RFC 4034具有以下内容:

同一协议的附录 B:

注册域名的注册表需要4 个必填字段

  1. 钥匙标签
  2. 算法(被认为等于插件输入中的 keyAlg)
  3. 摘要类型(我相信它在插件输入中称为 digestAlg)
  4. 摘要(可能与摘要相同)

其他可选字段是:标志、协议、算法、公钥(在插件中是“密钥”...)

现在这就是我迷路的地方......如何在 PHP 中实现上述 C 函数?

  1. 如何构造作为key字符数组的“DNSKEY RDATA”?(我猜测标志八位字节是默认值,比如 0、256 或 257 还不确定),然后协议八位字节是示例中的 keyAlg 值 5,然后是始终为 3 的算法八位字节,最后 - 关键八位字节是关键. 猜对了吗??)
  2. char key[] 数组 RDATA 是二进制数组吗?还是ASCII字符?(意思是,一旦构建,我不必先将其转换为二进制位?)
  3. 算法的目的是什么& 0xFFFF?什么是 php 等价物?我倾向于认为它几乎相同,因为 PHP 在语法上是基于 C 的......但是如果没有正确的输入/输出示例,将很难确保我正确理解它......
0 投票
0 回答
323 浏览

dns - 如何使用 CAA 查找返回 SERVFAIL 和 REFUSED 代码?

根据 RFC 6884,我正在开发 SSL 证书颁发的 CAA(认证机构授权)记录的验证。

我想知道如何检查 CAA 测试套件 ( https://caatestsuite.com/ )中存在的 FQDN 15、16、18 和 19 。当我将 Lookup(String domain, int Type.CAA) 用于 servfail、拒绝,甚至过期和 missing.caatessuite-dnssec.com 域时,它返回一个空的 CAA 记录列表。此外,它在我的控制台中显示一条错误消息,其中包含 NXDOMAIN Rcode,而不是 (pe) SERVFAIL Rcode。

我不知道如何解决这个问题,因为当它返回一个空的 CAA 记录列表时,这意味着所有 CA 都可以为给定域颁发证书。

我将不胜感激,希望您能理解我的观点。谢谢你们。

0 投票
0 回答
174 浏览

dns - 为什么 Google 和 CloudFlare DNS-over-HTTPS 不支持为 DNSSEC 返回 DS RRSIG?

这些 API 会返回执行 DNSSEC 验证所需的所有其他字段,并且来自 Google 和 CloudFlare 的 API 协议格式完全相同,但它们都特别省略了 DS RRSIG 字段。

为什么会这样?我想我们只是在进行 DNS 查找,但是通过 HTTPS,那么为什么要特别省略这个字段呢?

我们已经尝试联系,但没有多少运气能够深入了解它。

0 投票
1 回答
97 浏览

dns - 联合王国 使用 DNSSEC 进行 dns 区域验证

长时间的听众,第一次来电。

我正在编写一个包含 DNSSEC 验证的 DNS 解析器,并且在对受影响的 RFC 进行了几次通读后,我注意到了一些我无法真正理解的东西。

在解析uk.(特别是co.uk.)TLD 中的域期间,我遇到了 DNSSEC 验证触发的无限循环。为了简单起见,我们假设该进程已经缓存了所有根区域,所以让我们从那里开始:

  • co.uk. IN NS在其中一个注册的uk.名称服务器上执行查询

    /li>
  • 在任何事情之前(例如将响应元素视为有效),应该进行 DNSSEC 验证;所以我们很自然地对 RRSIG 签名的 DNSKEY 执行查询(我们注意到这co.uk.是记录的签名者)
  • 为了获得区域的 DNSKEY,co.uk.我们需要知道该区域的 NS 权威(提醒,我们已经拥有该信息,但尚未设法验证它),因此我们co.uk. IN NS向父区域 ( uk.)发起查询名称服务器,我们又回到了起点。

我确定这是一个设计缺陷,但无法真正理解是什么。从逻辑上讲(这里触发循环的关键步骤是)在验证之前不应该考虑使用 RR,并且从逻辑上讲,子区域委派记录也不应该使用子区域的 DNSKEY 进行签名,我认为甚至如果父区域也对子区域具有权威性。

请帮助并提前感谢您

0 投票
1 回答
2129 浏览

python - DNSSEC 使用 dnspython 错误:AttributeError: 'NS' object has no attribute 'is_absolute'

我有一个用于 ( com) 区域的 DNS 服务器。我在 Ubuntu 中使用 BIND 9.10.3。我想使用 DNSSEC 对该服务器进行 DNS 查询。我已经创建了 ZSK 和 KSK,并且我有一个名为forward.com.signed.

文件内容如下:(注意:我将forward.com.signed签名剪成一行以使帖子简短):

我使用dnspython库使用以下客户端 python 脚本:

但我得到了这个错误:

客户端的完整代码来自此答案:

我无法确定问题所在。你能帮我吗?