public class TSIG extends Object
TSIGRecord
Modifier and Type | Class and Description |
---|---|
static class |
TSIG.StreamVerifier |
Modifier and Type | Field and Description |
---|---|
static Duration |
FUDGE
The default fudge value for outgoing packets.
|
static Name |
GSS_TSIG
The domain name representing the gss-tsig algorithm.
|
static Name |
HMAC
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(Mac mac,
Name name)
Deprecated.
Use one of the constructors that specifies an algorithm and key.
|
TSIG(Name name,
byte[] key)
Deprecated.
Use
TSIG(Name, Name, SecretKey) to explicitly specify an algorithm. |
TSIG(Name algorithm,
Name name,
byte[] keyBytes)
Creates a new TSIG key, which can be used to sign or verify a message.
|
TSIG(Name algorithm,
Name name,
SecretKey key)
Creates a new TSIG key, which can be used to sign or verify a message.
|
TSIG(Name algorithm,
Name name,
SecretKey key,
Clock clock)
Creates a new TSIG key, which can be used to sign or verify a message.
|
TSIG(Name algorithm,
Name name,
String key)
Creates a new TSIG object, 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)
Deprecated.
Use
TSIG(Name, String, String) to explicitly specify an algorithm. |
TSIG(String algorithm,
String name,
String key)
Creates a new TSIG object, which can be used to sign or verify a message.
|
Modifier and Type | Method and Description |
---|---|
static Name |
algorithmToName(String alg) |
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,
int error,
TSIGRecord old,
boolean fullSignature)
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 |
apply(Message m,
TSIGRecord old,
boolean fullSignature)
Generates a TSIG record with a specific error for a message and adds it to the message.
|
void |
applyStream(Message m,
TSIGRecord old,
boolean fullSignature)
Deprecated.
|
static TSIG |
fromString(String str)
Deprecated.
Use an explicit constructor
|
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.
|
TSIGRecord |
generate(Message m,
byte[] b,
int error,
TSIGRecord old,
boolean fullSignature)
Generates a TSIG record with a specific error for a message that has been rendered.
|
static String |
nameToAlgorithm(Name name) |
int |
recordLength()
Returns the maximum length of a TSIG record generated by this key.
|
byte |
verify(Message m,
byte[] b,
int length,
TSIGRecord old)
Deprecated.
|
int |
verify(Message m,
byte[] b,
TSIGRecord old)
Verifies a TSIG record on an incoming message.
|
int |
verify(Message m,
byte[] b,
TSIGRecord old,
boolean fullSignature)
Verifies a TSIG record on an incoming message.
|
public static final Name GSS_TSIG
public static final Name HMAC_MD5
@Deprecated 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 Duration FUDGE
public TSIG(Name algorithm, Name 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 nameIllegalArgumentException
- The key data is improperly encodedNullPointerException
- key is nullpublic TSIG(Name algorithm, Name name, byte[] keyBytes)
algorithm
- The algorithm of the shared key.name
- The name of the shared key.keyBytes
- The shared key's data.public TSIG(Name algorithm, Name name, SecretKey key)
algorithm
- The algorithm of the shared key.name
- The name of the shared key.key
- The shared key.public TSIG(Name algorithm, Name name, SecretKey key, Clock clock)
algorithm
- The algorithm of the shared key.name
- The name of the shared key.key
- The shared key.@Deprecated public TSIG(Mac mac, Name name)
mac
- The JCE HMAC objectname
- The name of the key@Deprecated public TSIG(Name name, byte[] key)
TSIG(Name, Name, SecretKey)
to explicitly specify an algorithm.HMAC_MD5
algorithm, which can be used to sign or
verify a message.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 nameIllegalArgumentException
- The key data is improperly encodedpublic TSIG(String algorithm, String name, 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.IllegalArgumentException
- The key name is an invalid nameIllegalArgumentException
- The key data is improperly encoded@Deprecated public TSIG(String name, String key)
TSIG(Name, String, String)
to explicitly specify an algorithm.HMAC_MD5
algorithm, which can be used to sign or
verify a message.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 nameIllegalArgumentException
- The key data is improperly encoded@Deprecated 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 no algorithm is specified, the default of HMAC_MD5
is used.IllegalArgumentException
- The string does not contain both a name and secret.IllegalArgumentException
- The key name is an invalid nameIllegalArgumentException
- 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 TSIGRecord generate(Message m, byte[] b, int error, TSIGRecord old, boolean fullSignature)
m
- The messageb
- The rendered messageerror
- The errorold
- If this message is a response, the TSIG from the requestfullSignature
- true
if this TSIGRecord
is the to be added to the first of
many messages in a TCP connection and all TSIG variables (rfc2845, 3.4.2.) should be
included in the signature. false
for subsequent messages with reduced TSIG
variables set (rfc2845, 4.4.).public void apply(Message m, TSIGRecord old)
m
- The messageold
- 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, boolean fullSignature)
m
- The messageold
- If this message is a response, the TSIG from the requestfullSignature
- true
if this message is the first of many in a TCP connection and
all TSIG variables (rfc2845, 3.4.2.) should be included in the signature. false
for
subsequent messages with reduced TSIG variables set (rfc2845, 4.4.).public void apply(Message m, int error, TSIGRecord old, boolean fullSignature)
m
- The messageerror
- The errorold
- If this message is a response, the TSIG from the requestfullSignature
- true
if this message is the first of many in a TCP connection and
all TSIG variables (rfc2845, 3.4.2.) should be included in the signature. false
for
subsequent messages with reduced TSIG variables set (rfc2845, 4.4.).@Deprecated public void applyStream(Message m, TSIGRecord old, boolean fullSignature)
apply(Message, TSIGRecord, boolean)
m
- The messageold
- If this message is a response, the TSIG from the requestfullSignature
- true
if this message is the first of many in a TCP connection and
all TSIG variables (rfc2845, 3.4.2.) should be included in the signature. false
for
subsequent messages with reduced TSIG variables set (rfc2845, 4.4.).@Deprecated public byte verify(Message m, byte[] b, int length, TSIGRecord old)
verify(Message, byte[], TSIGRecord)
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
- unusedold
- If this message is a response, the TSIG from the requestRcode
public int verify(Message m, byte[] b, TSIGRecord old)
m
- The message to verifyb
- 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).old
- If this message is a response, the TSIG from the requestRcode
public int verify(Message m, byte[] b, TSIGRecord old, boolean fullSignature)
m
- The message to verifyb
- 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).old
- If this message is a response, the TSIG from the requestfullSignature
- true
if this message is the first of many in a TCP connection and
all TSIG variables (rfc2845, 3.4.2.) should be included in the signature. false
for
subsequent messages with reduced TSIG variables set (rfc2845, 4.4.).Rcode
public int recordLength()
TSIGRecord
Copyright © 2021 dnsjava.org. All rights reserved.