|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.xbill.DNS.TSIG
public class TSIG
Transaction signature handling. This class generates and verifies TSIG records on messages, which provide transaction security.
TSIGRecord
Nested Class Summary | |
---|---|
static class |
TSIG.StreamVerifier
|
Field Summary | |
---|---|
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_SHA256
The domain name representing the HMAC-SHA256 algorithm. |
Constructor Summary | |
---|---|
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,
String name,
String key)
Creates a new TSIG object, which can be used to sign or verify a message. |
|
TSIG(String name,
String key)
Creates a new TSIG object with the hmac-md5 algorithm, which can be used to sign or verify a message. |
|
TSIG(String algorithm,
String name,
String key)
Creates a new TSIG object, which can be used to sign or verify a message. |
Method Summary | |
---|---|
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(String str)
Creates a new TSIG object with the hmac-md5 algorithm, 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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Name HMAC_MD5
public static final Name HMAC
public static final Name HMAC_SHA1
public static final Name HMAC_SHA256
public static final short FUDGE
Constructor Detail |
---|
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, String name, String key)
name
- The name of the shared key.key
- The shared key's data represented as a base64 encoded string.
IllegalArgumentException
- The key name is an invalid name
IllegalArgumentException
- The key data is improperly encodedpublic TSIG(String algorithm, String name, String key)
name
- The name of the shared key. The legal values are "hmac-md5",
"hmac-sha1", and "hmac-sha256".key
- The shared key's data represented as a base64 encoded string.
IllegalArgumentException
- The key name is an invalid name
IllegalArgumentException
- The key data is improperly encodedpublic TSIG(String name, String key)
name
- The name of the shared keykey
- The shared key's data, represented as a base64 encoded string.
IllegalArgumentException
- The key name is an invalid name
IllegalArgumentException
- The key data is improperly encodedMethod Detail |
---|
public static TSIG fromString(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".
IllegalArgumentException
- The string does not contain both a name
and secret.
IllegalArgumentException
- The key name is an invalid name
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 request
public 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 request
Rcode
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 request
Rcode
public int recordLength()
TSIGRecord
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |