public class TSIG extends Object
TSIGRecord
Modifier and Type | Class and Description |
---|---|
static class |
TSIG.StreamGenerator
A utility class for generating signed message responses.
|
static class |
TSIG.StreamVerifier
A utility class for verifying multiple message responses.
|
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.
use
HMAC_MD5 |
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)
Convert an algorithm String to its equivalent Name.
|
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)
Deprecated.
Returns java algorithm name, will be made private in 4.0
|
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[] messageBytes,
TSIGRecord requestTSIG)
Verifies a TSIG record on an incoming message.
|
int |
verify(Message m,
byte[] messageBytes,
TSIGRecord requestTSIG,
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
HMAC_MD5
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)
algorithm
- The RFC8945 algorithm name of the shared key. The legal values are:
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 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 encodedpublic static Name algorithmToName(String alg)
alg
- String containing name of algorithm.IllegalArgumentException
- The algorithm is null or invalid.@Deprecated public static String nameToAlgorithm(Name name)
name
- Name object@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)
Use TSIG.StreamVerifier
to validate multiple messages in a stream.
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[] messageBytes, TSIGRecord requestTSIG)
Use TSIG.StreamVerifier
to validate multiple messages in a stream.
m
- The message to verifymessageBytes
- 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).requestTSIG
- If this message is a response, the TSIG from the requestRcode
public int verify(Message m, byte[] messageBytes, TSIGRecord requestTSIG, boolean fullSignature)
Use TSIG.StreamVerifier
to validate multiple messages in a stream.
m
- The message to verifymessageBytes
- 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).requestTSIG
- 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 © 2023 dnsjava.org. All rights reserved.