gpt4 book ai didi

java - 带有 DSA 私钥的 dnssec-keygen 输出文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:39 25 4
gpt4 key购买 nike

我已经尝试破解这个问题好几天了,但似乎没有成功。

基本上我得到了一个 .private 文件,它是以下命令的结果:

dnssec-keygen -C -a DSA -b 1024 -n HOST -T KEY Hostmame

该文件采用某种格式(出于安全原因我删除了这些值)

Private-key-format: v1.2
Algorithm: 3 (DSA)
Prime(p): $value
Subprime(q): $value
Base(g): $value
Private_value(x): $value
Public_value(y): $value

所以我的问题是有人知道如何读取此文件并从中获取 PrivateKey 对象来签署消息以发送到安全的 DNS 服务器吗?

我已经尝试了几件事,但我似乎没有得到正确的值解码......

尝试过的事情:github上这个链接的readDSAPrivateKey方法:https://github.com/bitsai/courses/blob/master/Network%20Security/A3/Honoroff-Tsai/src/DNSSEC.java

还尝试过这个:

ObjectInputStream keyIn = new ObjectInputStream(new FileInputStream(args[3]));
PrivateKey privkey = (PrivateKey) keyIn.readObject();
keyIn.close();

任何帮助或指出将不胜感激...

最佳答案

似乎这些值是用 Base64 编码进行编码的。

正确的解码方法是这样的:

byte[] data = base64.fromString(val);
if (line.startsWith("Prime(p): ")){
p = new BigInteger(1, data);
}

正如这里提到的: https://github.com/dblacka/jdnssec-tools/blob/master/src/com/verisignlabs/dnssec/security/DnsKeyConverter.java

关于java - 带有 DSA 私钥的 dnssec-keygen 输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com