- All Known Implementing Classes:
SMB1SigningDigest,Smb2SigningDigest
public interface SMBSigningDigest
Interface for SMB message signing and verification operations.
Provides cryptographic signing capabilities for SMB protocol messages to ensure
message integrity and authenticity using MAC (Message Authentication Code) algorithms.
- Author:
- mbechler
-
Method Summary
Modifier and TypeMethodDescriptionvoidsign(byte[] data, int offset, int length, CommonServerMessageBlock request, CommonServerMessageBlock response) Performs MAC signing of the SMB.booleanverify(byte[] data, int offset, int length, int extraPad, CommonServerMessageBlock msg) Performs MAC signature verification.
-
Method Details
-
sign
void sign(byte[] data, int offset, int length, CommonServerMessageBlock request, CommonServerMessageBlock response) Performs MAC signing of the SMB. This is done as follows. The signature field of the SMB is overwritten with the sequence number; The MD5 digest of the MAC signing key + the entire SMB is taken; The first 8 bytes of this are placed in the signature field.- Parameters:
data- The data.offset- The starting offset at which the SMB header begins.length- The length of the SMB data starting at offset.request- request messageresponse- response message
-
verify
Performs MAC signature verification. This calculates the signature of the SMB and compares it to the signature field on the SMB itself.- Parameters:
data- The data.offset- The starting offset at which the SMB header begins.length- The length of the data to verifyextraPad- extra padding to include in signaturemsg- The message to verify- Returns:
- whether verification was unsuccessful
-