001/* 002 * Copyright 2015-2024 the original author or authors 003 * 004 * This software is licensed under the Apache License, Version 2.0, 005 * the GNU Lesser General Public License version 2 or later ("LGPL") 006 * and the WTFPL. 007 * You may choose either license to govern your use of this software only 008 * upon the condition that you accept all of the terms of either 009 * the Apache License 2.0, the LGPL 2.1+ or the WTFPL. 010 */ 011package org.minidns.record; 012 013import org.minidns.constants.DnssecConstants.DigestAlgorithm; 014import org.minidns.constants.DnssecConstants.SignatureAlgorithm; 015import org.minidns.record.Record.TYPE; 016 017import java.io.DataInputStream; 018import java.io.IOException; 019/** 020 * DS (Delegation Signer) record payload. 021 * 022 * @see <a href="https://tools.ietf.org/html/rfc4034#section-5">RFC 4034 ยง 5</a> 023 */ 024public class DS extends DelegatingDnssecRR { 025 026 public static DS parse(DataInputStream dis, int length) throws IOException { 027 SharedData parsedData = DelegatingDnssecRR.parseSharedData(dis, length); 028 return new DS(parsedData.keyTag, parsedData.algorithm, parsedData.digestType, parsedData.digest); 029 } 030 031 public DS(int keyTag, byte algorithm, byte digestType, byte[] digest) { 032 super(keyTag, algorithm, digestType, digest); 033 } 034 035 public DS(int keyTag, SignatureAlgorithm algorithm, byte digestType, byte[] digest) { 036 super(keyTag, algorithm, digestType, digest); 037 } 038 039 public DS(int keyTag, SignatureAlgorithm algorithm, DigestAlgorithm digestType, byte[] digest) { 040 super(keyTag, algorithm, digestType, digest); 041 } 042 043 @Override 044 public TYPE getType() { 045 return TYPE.DS; 046 } 047 048}