1

ここKjqmt7v.crtからダウンロードしたトラスト アンカー ( ) に対してルート キー署名キー (KSK) を検証しようとしています。モジュールを使用してルート KSK を取得しています。Net::DNS

現在、両方が同じであることを確認する方法について非常に混乱しています。.crtファイルをKeysetオブジェクトに変換しようとしましたが、エラーになります。

これは私のコードです。

#!/usr/bin/perl
use strict;
use warnings; 
use Net::DNS::Keyset;
my $keyset = Net::DNS::Keyset->new('Kjqmt7v.crt');
$keyset->print;

これがエラーです

 We expected a match RDATA
0��0���0   *�H��  0K10 U 
this Should not happen
 at a.pl line 5

私は非常に混乱しているため、開始方法がわからないため、適切なコードを提供できません。私を正しい方向に向けることは非常に役に立ちます。

ルート DNS サーバーから取得している KSK に対してトラスト アンカーを検証する方法が必要です。それを行う他の方法がある場合は、私を更新してください。

4

1 に答える 1

1

IANA が提供するファイルの内容を誤解しているようです。公開ルート キー自体を除いて、実際には DNSSEC データではありません。Kjqmt7v.crtたとえば、このファイルは DER 形式の X.509 証明書です (したがって、このファイルがNet::DNS::Keyset詰まるのも不思議ではありません)。これを (openssl x509コマンドなどで) 確認すると、ルート KSK の DS レコードのテキスト表現が DN フィールドに含まれていることがわかります。したがって、その証明書を検証すると、DS が本物であることがわかり、それを使用して DNSKEY を検証できます。

同じ URL で利用できるもう 1 つの代替手段は、おそらくほとんどの人にとって使いやすいものですが、PGP 署名が分離された XML 形式の KSK の DS です。署名を確認し、XML ファイル内のデータを使用して、お気に入りのプログラミング言語で適切な DS レコードを作成します。これを使用して、KSK DNSKEY レコードを確認できます。

于 2016-04-09T06:34:48.407 に答える