✅ MDN Errors in AS2 – Overview and Resolution
In AS2 (Applicability Statement 2), an MDN (Message Disposition Notification) is an electronic receipt that acknowledges the successful or failed delivery of a message. When issues occur during AS2 communication, MDN errors are generated, indicating problems with message transmission, validation, or decryption.
🔥 1. What is an MDN in AS2?
- An MDN is a receipt confirmation sent by the receiver to the sender, verifying whether the message was:
- Received successfully
- Decrypted correctly
- Validated without issues
- The MDN contains:
- Disposition: The final status (e.g.,
processed
, failed
, or rejected
).
- MIC (Message Integrity Check): A hash value used to verify message integrity.
- Digital signature: To ensure authenticity.
- MDN types:
- Synchronous MDN: Sent immediately after receiving the message.
- Asynchronous MDN: Sent later (within a specific time window).
🔥 2. Common MDN Error Types and Resolution
Below are the most common MDN errors encountered in AS2 communication, along with their causes and resolutions:
🛑 ❗ 1. MIC Mismatch Error
Error:
MIC mismatch: Received MIC does not match the expected MIC
Cause:
- The Message Integrity Check (MIC) received in the MDN does not match the MIC calculated by the sender.
- This occurs due to:
- Data corruption during transmission.
- Incorrect hashing algorithm (e.g., SHA-1 vs. SHA-256 mismatch).
- Data compression or encoding issues.
Resolution:
✅ Check hashing algorithm consistency:
- Ensure both sender and receiver use the same MIC hashing algorithm (SHA-1, SHA-256, or MD5).
- Go to Trading Partner → AS2 configuration → MIC Algorithm → Verify that both ends use the same hash algorithm.
✅ Check data integrity:
- Verify that the payload data and signature are not modified or corrupted.
- Re-transmit the AS2 message.
✅ Enable content transfer encoding:
- Ensure consistent encoding (e.g., Base64) to prevent corruption.
- In IBM Sterling B2B Integrator, enable Base64 encoding under AS2 settings:
Enable Content-Transfer-Encoding: Base64
.
🛑 ❗ 2. Signature Verification Failed
Error:
Signature verification failed. Invalid signature in the MDN.
Cause:
- The MDN signature does not match the sender’s signature.
- This occurs due to:
- Expired or invalid certificate.
- Incorrect partner certificate mapping.
- Signature algorithm mismatch.
Resolution:
✅ Verify certificates:
- Go to Trading Partner → Certificate Management.
- Verify that the partner’s certificate is valid and not expired.
- Ensure the correct certificate is used for signing and verification.
✅ Certificate mapping consistency:
- Ensure the correct public certificate of the partner is configured in AS2 settings.
- Re-import the valid certificate if necessary.
✅ Update signature algorithms:
- Ensure both sender and receiver use compatible signature algorithms (SHA-1, SHA-256, or SHA-512).
- In Sterling B2B, go to:
- Trading Partner → AS2 Configuration → Signature Algorithm
- Verify the same algorithm is used by both sides.
🛑 ❗ 3. Invalid MDN Format
Error:
Invalid MDN format: Missing fields or malformed MDN response.
Cause:
- The MDN received is incomplete or corrupted.
- Common causes:
- Incorrect MIME formatting.
- Empty MDN or missing content.
- Incorrect AS2 header settings.
Resolution:
✅ Check MDN structure:
- Go to Operations → System Logs → AS2 logs.
- Inspect the MDN headers and body.
- Verify if the MDN contains:
Disposition:
status
Content-Type:
header
MIC:
value
✅ Fix MIME formatting issues:
- Ensure that the partner uses standard MIME formatting.
- Add proper
Content-Disposition
and Content-Transfer-Encoding
headers in the AS2 settings.
✅ Enable proper AS2 headers:
- Verify that the MDN includes:
- Content-Type:
multipart/signed
- Content-Transfer-Encoding:
base64
🛑 ❗ 4. MDN Not Received / Timeout
Error:
MDN not received: Timeout error
Cause:
- The MDN was not received within the expected timeframe.
- This happens due to:
- Asynchronous MDN delays.
- Network issues.
- Partner system issues.
- Incorrect AS2 URL or port.
Resolution:
✅ Verify AS2 URL and port:
- Go to Trading Partner → AS2 Configuration → AS2 URL.
- Confirm that the URL and port are correct.
- Ensure that the AS2 URL is reachable:
telnet <partner_URL> <port>
✅ Check firewall settings:
- Ensure firewall rules allow AS2 communication on the required port (typically
8080
or 8443
).
✅ Extend MDN timeout:
- In IBM Sterling, increase the MDN timeout to allow sufficient time for asynchronous MDNs:
- Trading Partner → AS2 Settings → MDN timeout → 5-10 minutes
✅ Resend the message:
- If the MDN is not received, resend the AS2 message.
🛑 ❗ 5. AS2 Decryption Failure
Error:
Decryption failed: Invalid private key or decryption error
Cause:
- AS2 message decryption failed due to:
- Incorrect private key used for decryption.
- Mismatched encryption algorithm.
- Corrupted or invalid payload.
Resolution:
✅ Verify encryption certificate:
- Go to Trading Partner → AS2 Configuration → Certificate Management.
- Ensure the correct private key is configured for decryption.
- If the decryption key is incorrect, re-import the correct key.
✅ Ensure algorithm compatibility:
- Confirm that both sender and receiver use the same encryption algorithm (AES-256, AES-128, or Triple DES).
✅ Validate encryption settings:
- Check encryption preferences in Sterling:
- AS2 Settings → Encryption Algorithm → AES-256
🛑 ❗ 6. AS2 Compression Error
Error:
Invalid compressed data format
Cause:
- The message was compressed incorrectly or the receiver could not decompress it.
- This happens due to:
- Unsupported compression algorithm.
- Corrupted compressed data.
Resolution:
✅ Disable or update compression:
- If compression causes issues, disable compression temporarily.
- In IBM Sterling, go to:
- Trading Partner → AS2 Configuration → Compression → Disable
- If compression is required:
- Ensure both sender and receiver use compatible compression algorithms (ZLIB, GZIP).
🎯 ✅ Key Takeaway: Resolving MDN Errors in AS2
To resolve MDN errors in IBM Sterling B2B Integrator:
- Check MIC and Signature: Ensure MIC algorithms and certificates match.
- Review AS2 configuration: Verify URL, port, and partner settings.
- Increase MDN timeout: Allow more time for asynchronous MDNs.
- Enable consistent encryption: Use matching algorithms on both ends.
- Check logs and re-transmit: Inspect AS2 logs, identify issues, and resend the message.
- Verify compression settings: Ensure compression compatibility.
✅ By systematically troubleshooting these MDN errors, you can effectively resolve AS2 communication issues.