org.xbill.DNS
public class TSIG extends java.lang.Object
TSIGRecord
Modifier and Type | Class and Description |
---|---|
static class |
TSIG.StreamVerifier |
Modifier and Type | Field and Description |
---|---|
static short |
FUDGE
The default fudge value for outgoing packets.
|
static Name |
HMAC
The domain name representing the HMAC-MD5 algorithm (deprecated).
|
static Name |
HMAC_MD5
The domain name representing the HMAC-MD5 algorithm.
|
static Name |
HMAC_SHA1
The domain name representing the HMAC-SHA1 algorithm.
|
static Name |
HMAC_SHA224
The domain name representing the HMAC-SHA224 algorithm.
|
static Name |
HMAC_SHA256
The domain name representing the HMAC-SHA256 algorithm.
|
static Name |
HMAC_SHA384
The domain name representing the HMAC-SHA384 algorithm.
|
static Name |
HMAC_SHA512
The domain name representing the HMAC-SHA512 algorithm.
|
Constructor and Description |
---|
TSIG(Name name,
byte[] key)
Creates a new TSIG key with the hmac-md5 algorithm, which can be used to
sign or verify a message.
|
TSIG(Name algorithm,
Name name,
byte[] key)
Creates a new TSIG key, which can be used to sign or verify a message.
|
TSIG(Name algorithm,
java.lang.String name,
java.lang.String key)
Creates a new TSIG object, which can be used to sign or verify a message.
|
TSIG(java.lang.String name,
java.lang.String key)
Creates a new TSIG object with the hmac-md5 algorithm, which can be used to
sign or verify a message.
|
TSIG(java.lang.String algorithm,
java.lang.String name,
java.lang.String key)
Creates a new TSIG object, which can be used to sign or verify a message.
|
Modifier and Type | Method and Description |
---|---|
void |
apply(Message m,
int error,
TSIGRecord old)
Generates a TSIG record with a specific error for a message and adds it
to the message.
|
void |
apply(Message m,
TSIGRecord old)
Generates a TSIG record for a message and adds it to the message
|
void |
applyStream(Message m,
TSIGRecord old,
boolean first)
Generates a TSIG record for a message and adds it to the message
|
static TSIG |
fromString(java.lang.String str)
Creates a new TSIG object, which can be used to sign or verify a message.
|
TSIGRecord |
generate(Message m,
byte[] b,
int error,
TSIGRecord old)
Generates a TSIG record with a specific error for a message that has
been rendered.
|
int |
recordLength()
Returns the maximum length of a TSIG record generated by this key.
|
byte |
verify(Message m,
byte[] b,
int length,
TSIGRecord old)
Verifies a TSIG record on an incoming message.
|
int |
verify(Message m,
byte[] b,
TSIGRecord old)
Verifies a TSIG record on an incoming message.
|
public static final Name HMAC_MD5
public static final Name HMAC
public static final Name HMAC_SHA1
public static final Name HMAC_SHA224
public static final Name HMAC_SHA256
public static final Name HMAC_SHA384
public static final Name HMAC_SHA512
public static final short FUDGE
public TSIG(Name algorithm, Name name, byte[] key)
algorithm
- The algorithm of the shared key.name
- The name of the shared key.key
- The shared key's data.public TSIG(Name name, byte[] key)
name
- The name of the shared key.key
- The shared key's data.public TSIG(Name algorithm, java.lang.String name, java.lang.String key)
name
- The name of the shared key.key
- The shared key's data represented as a base64 encoded string.java.lang.IllegalArgumentException
- The key name is an invalid namejava.lang.IllegalArgumentException
- The key data is improperly encodedpublic TSIG(java.lang.String algorithm, java.lang.String name, java.lang.String key)
name
- The name of the shared key.algorithm
- The algorithm of the shared key. The legal values are
"hmac-md5", "hmac-sha1", "hmac-sha224", "hmac-sha256", "hmac-sha384", and
"hmac-sha512".key
- The shared key's data represented as a base64 encoded string.java.lang.IllegalArgumentException
- The key name is an invalid namejava.lang.IllegalArgumentException
- The key data is improperly encodedpublic TSIG(java.lang.String name, java.lang.String key)
name
- The name of the shared keykey
- The shared key's data, represented as a base64 encoded string.java.lang.IllegalArgumentException
- The key name is an invalid namejava.lang.IllegalArgumentException
- The key data is improperly encodedpublic static TSIG fromString(java.lang.String str)
str
- The TSIG key, in the form name:secret, name/secret,
alg:name:secret, or alg/name/secret. If an algorithm is specified, it must
be "hmac-md5", "hmac-sha1", or "hmac-sha256".java.lang.IllegalArgumentException
- The string does not contain both a name
and secret.java.lang.IllegalArgumentException
- The key name is an invalid namejava.lang.IllegalArgumentException
- The key data is improperly encodedpublic TSIGRecord generate(Message m, byte[] b, int error, TSIGRecord old)
m
- The messageb
- The rendered messageerror
- The errorold
- If this message is a response, the TSIG from the requestpublic void apply(Message m, int error, TSIGRecord old)
m
- The messageerror
- The errorold
- If this message is a response, the TSIG from the requestpublic void apply(Message m, TSIGRecord old)
m
- The messageold
- If this message is a response, the TSIG from the requestpublic void applyStream(Message m, TSIGRecord old, boolean first)
m
- The messageold
- If this message is a response, the TSIG from the requestpublic byte verify(Message m, byte[] b, int length, TSIGRecord old)
m
- The messageb
- An array containing the message in unparsed form. This is
necessary since TSIG signs the message in wire format, and we can't
recreate the exact wire format (with the same name compression).length
- The length of the message in the array.old
- If this message is a response, the TSIG from the requestRcode
public int verify(Message m, byte[] b, TSIGRecord old)
m
- The messageb
- The message in unparsed form. This is necessary since TSIG
signs the message in wire format, and we can't recreate the exact wire
format (with the same name compression).old
- If this message is a response, the TSIG from the requestRcode
public int recordLength()
TSIGRecord