dsrecord.java

来自「DNS Java 是java实现的DNS」· Java 代码 · 共 129 行

JAVA
129
字号
// Copyright (c) 2002-2004 Brian Wellington (bwelling@xbill.org)package org.xbill.DNS;import java.io.*;import org.xbill.DNS.utils.*;/** * DS - contains a Delegation Signer record, which acts as a * placeholder for KEY records in the parent zone. * @see DNSSEC * * @author David Blacka * @author Brian Wellington */public class DSRecord extends Record {public static final byte SHA1_DIGEST_ID = 1;private int footprint;private int alg;private int digestid;private byte [] digest;DSRecord() {}RecordgetObject() {	return new DSRecord();}/** * Creates a DS Record from the given data * @param footprint The original KEY record's footprint (keyid). * @param alg The original key algorithm. * @param digestid The digest id code. * @param digest A hash of the original key. */publicDSRecord(Name name, int dclass, long ttl, int footprint, int alg,	 int digestid, byte []  digest){	super(name, Type.DS, dclass, ttl);	this.footprint = checkU16("footprint", footprint);	this.alg = checkU8("alg", alg);	this.digestid = checkU8("digestid", digestid);	this.digest = digest;}voidrrFromWire(DNSInput in) throws IOException {	footprint = in.readU16();	alg = in.readU8();	digestid = in.readU8();	digest = in.readByteArray();}voidrdataFromString(Tokenizer st, Name origin) throws IOException {	footprint = st.getUInt16();	alg = st.getUInt8();	digestid = st.getUInt8();	digest = st.getHex();}/** * Converts rdata to a String */StringrrToString() {	StringBuffer sb = new StringBuffer();	sb.append(footprint);	sb.append(" ");	sb.append(alg);	sb.append(" ");	sb.append(digestid);	if (digest != null) {		sb.append(" ");		sb.append(base16.toString(digest));	}	return sb.toString();}	/** * Returns the key's algorithm. */public intgetAlgorithm() {	return alg;}/** *  Returns the key's Digest ID. */public intgetDigestID(){	return digestid;}  /** * Returns the binary hash of the key. */public byte []getDigest() {	return digest;}/** * Returns the key's footprint. */public intgetFootprint() {	return footprint;}voidrrToWire(DNSOutput out, Compression c, boolean canonical) {	out.writeU16(footprint);	out.writeU8(alg);	out.writeU8(digestid);	if (digest != null)		out.writeByteArray(digest);}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?