/n software 3-D Secure Changelog
This document provides high-level information about new features, fixes, and functionality changes between minor versions releases of /n software 3-D Secure. For more details or if you have any questions please contact support@nsoftware.com
Legend:
[FIX] - An issue was fixed.
[NEW] - New feature or functionality added.
[IMPORTANT] - A change which requires attention.
Version: 2.3.9032
Date: September 23, 2024
- [IMPORTANT] Improved network performance and stability.
- [NEW] Added
MessageVersion
property to set the protocol version used by the component. This is the same functionally as theProtocolVersion
configuration setting.
Version: 2.3.8644
Date: August 31, 2023
- [FIX] (Javascript Edition) Fixed "can not parse long64 value" error when calling RequestCardRanges.
Version: 2.3.8637 Date: Aug 24, 2023
- [FIX] Fixed condition check for optional oobAppURL field. This is conditional in 2.3.1 and optional in 2.2.0 and 2.1.0.
Version: 2.3.8584
Date: July 3, 2023
- [NEW] The EMV 3-D Secure 2.3.1 support in the
Server
component has been updated to version 2.3.1.1 of the specification (previously 2.3.1.0).
Version: 2.3.8506
Date: April 16, 2023
- [NEW] Support for 2.3.1 of the EMV 3-D Secure protocol has been added. The minor version has been updated to indicate this (2.3.*). More information on new functionality available in this version of the protocol can be found in the following knowledge base article here.
Version: 2.2.8430
Date: January 30, 2023
- [NEW] A new
CardRangeTempPath
configuration setting added. When set, this will instruct the component to write the PRes data to a temporary file prior to parsing. This can be useful in limiting memory usage of the component, especially when large amounts of ranges are returned. For the most benefit, this can be used in conjunction with theStoreCardRangeData
configuration setting set to False.
Version: 2.2.8075
Date: February 9, 2022
- [FIX] Modified some error messages raised from the component to be more user friendly and informative.
Version: 2.2.8026
Date: December 22, 2021
- [FIX] A validation error will now be returned if the threeDSReqAuthMethod is set to a value listed as "Reserved for EMVCo future use."
- [FIX] Erro packets generated by the component will now only include valid *TransID values.
Version: 2.2.8018
Date: December 14, 2021
- [FIX] (Java Edition) Updated deprecated constructor "java.net.URLDecoder" for newer Java versions.
Version: 2.2.7944
Date: October 1, 2021
- [IMPORTANT] The default threeDSServerRefNumber (
ServeRefNumber
config) used has been updated to the latest one issued to /n software by EMVCo. The value is 3DS_LOA_SER_NSOF_020200_00416 and expires on May 25th, 2023.
Version: 2.0.7860
Date: July 9, 2021
- [FIX] Fixed a bug where the 3DS Server component would attempt to parse packets received in response to "Erro" packets sent to the Directory Server. These returned packets were not valid and should not be returned in production. In the off chance they are, however, they will be safely ignored.
Version: 2.0.7859
Date: July 8, 2021
- [FIX] A change to the way signature algorithms are presented to the server during SSL negotiation (in the Client Hello packet). Some servers seem to require these algorithms to be listed with the most secure algorithms first.
Version: 2.0.7849
Date: June 28, 2021
- [FIX] The
ReqAuthData
andPriorAuthData
configuration settings have been updated to support values up to 20000 characters in length. This change is due to MasterCard desiring expanded character limits on threeDSReqAuthData and threeDSReqPriorAuthData fields (up to 20000 characters), and made after confirmation from EMVCo that it was valid.
Version: 2.0.7800
Date: May 10, 2021
- [NEW] Added new configuration settings to manage custom request fields. By default, when
AddRequestField
is called, the field will be added to an internal collection, used when building the next outgoing request, and "forgotten" by the component. A newPersistCustomRequestFields
configuration setting was added to instruct the component to store these fields internally for use when building subsequent requests. This is false by default, but when set to true these fields will persist. A newClearCustomRequestFields
configuration setting was also added to explicitly instruct the component to clear the internal collection.
Version: 2.0.7788
Date: April 28, 2021
- [FIX] Allow Base64 encoding (instead of the expected Base64URL) when parsing threeDSMethodData passed in to the
CheckResponse
method. This was already supported for other message types (since June 2019, build 7114). Support for Base64 encoding can be turned off using theAllowBase64Response
configuration setting; this is true by default.
Version: 2.0.7758
Date: March 29, 2021
- [FIX] Fixed NullReferenceException in Java edition when parsing a PRes packet using
CheckResponse
method.
Version: 2.0.7753
Date: March 24, 2021
- [NEW] Added
ContinueParsingCardRangesOnError
configuration setting. When set to true (false by default), the component will continue to parse card ranges even after a validation error is encountered in one of the ranges. This allows the valid card ranges to be accessed via the CardRange collection. The component will still send an "Erro" packet to the DS and raise an exception.
Version: 2.0.7662
Date: December 23, 2020
- [FIX] Fixed validation of
CardholderName
field. In the EMVCo specification, this is defined to be limited to only accept a set of Alphanumeric characters listed in EMV Book 4, Appendix B. TheServer
component now performs this validation as expected.
Version: 2.0.7646
Date: December 7, 2020
- [FIX] Fixed the SSL protocol versions explicitly enabled by default. The EMVCo specification defines that SSL connections must use TLS 1.2 (or greater) and a specific set of cipher suites. Prior to this fix, the
Server
component only explicitly limited the cipher suites. The cipher suites in question are only available for TLS 1.2, so this limit was imposed indirectly. This fix explicitly limits the SSL protocol used by the component to TLS 1.2. Note: for TLS 1.3, this can be enabled using theSSLEnabledProtocols
configuration setting.
Version: 2.0.7634
Date: Novermber, 21 2020
- [NEW] Added
ExtractRReqServerTransactionId
configuration setting. This can be used to extract thethreeDSServerTransId
field from the RReq packet without needing to perform outside parsing. This transaction ID can then be used to look up details previously saved (e.g. the protocol version) to configure theServer
component prior to passing the RReq packet to theCheckResponse
method.
Version: 2.0.7593
Date: October, 15 2020
- [NEW] Added
DSStartProtocolVersion
andDSEndProtocolVersion
parameters to theCardRange
event. These parameters expose the individual card range values for these fields.
Version: 2.0.7590
Date: October, 12 2020
- [FIX] Allow a
transStatusReason
value of 14 to be returned in an ARes packet. Previously, this resulted in an error. Note: this field can be checked after theSendAuthRequest
method returns via theTransactionStatusReason
configuration setting.
Version: 2.0.7588
Date: October, 10 2020
- [FIX] Fixed an issue causing error raised by internal components to mistakenly be raised as 3-D Secure protocol level errors.
Version: 2.0.7577
Date: September, 29 2020
- [FIX] The
Server
component was updated to use our latest EMVCo-issuedthreeDSServerRefNumber
value, 3DS_LOA_SER_NSOF_020200_00203.
Version: 2.0.7530
Date: August, 13 2020
- [FIX] Allow masked values in the
startRange
andendRange
fields for incoming card ranges.
Version: 2.0.7466
Date: June, 10 2020
- [FIX] Fixed an issue where the
Server
component tried to transmit an error to the DS when parsing an RReq packet. Instead of transmitting the error directly, the error packet should be generated and sent back in the response. The error packet to return is available in theErrorPacket
property.
Version: 2.0.7453
Date: May, 28 2020
- [FIX] Allow a
transStatus
(TransactionStatus
) of "I" to be returned when thethreeDSRequestorChallengeInd
(RequestorChallengeInd
) is in the DS-reserved range.
Version: 2.0.7440
Date: May, 15 2020
- [FIX] Fixed an issue where the
SendAuthRequest
method would throw a StackOverflowException if theProtocolVersion
configuration setting had inadvertently been set to an empty string. Validation has been added to theProtocolVersion
configuration setting; accepted values are2.1.0
and2.2.0
.
Download Changelog