You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -78,8 +78,11 @@ You do not need to download and build the source to use the SDK but if you want
78
78
79
79
Note: This number cannot be greater than Maximum Total Connections and every connection created here also counts into Maximum Total Connections.
80
80
-`connectionRequestTimeoutMs` Time taken in milliseconds to get connection request from the pool. If it times out, it will throw error as Timeout waiting for connection from pool
81
-
-`connectionTimeoutMs` Specifies the number of milliseconds to wait while a connection is being established.
82
-
-`socketTimeoutMs` Specifies the time waiting for data – after establishing the connection; maximum time of inactivity between two data packets. Recommanded valut is 130000 (in ms).
81
+
-`connectionTimeoutMs` Specifies the number of milliseconds to wait while a connection is being established. With 6.2.11 release onwards, this property can be used for basic
82
+
apache http client and JDK provided HttpUrlConnection implementation as well while keeping the backward compatibility with 'timeout' property.
83
+
-`socketTimeoutMs` Specifies the time waiting for data – after establishing the connection; maximum time of inactivity between two data packets.
84
+
With 6.2.11 release onwards, this property can be used for basic apache http client and JDK provided HttpUrlConnection implementation as well while keeping the
85
+
backward compatibility with 'timeout' property.
83
86
-`evictThreadSleepTimeMs` Specifies time duration in milliseconds between "sweeps" by the "idle connection" evictor thread.
84
87
This thread will check if any idle/expired/stale connections are available in pool and evict it.
85
88
-`maxKeepAliveTimeMs` Specifies the time duration in milliseconds that a connection can be idle before it is evicted from the pool.
CyberSource supports Message Level Encryption (MLE) for Simple Order API. Message level encryption conforms to the SOAP Security 1.0 specification published by the OASIS standards group.
187
190
191
+
## Meta Key support
192
+
Meta Key is a key generated by an entity that can be used to authenticate on behalf of other entities provided that the entity which holds key is a parent entity or associated as a partner.
193
+
194
+
SOAPI Java SDK supports meta key by default. Additional details regarding cybs.properties.
195
+
196
+
merchantID= <comment/remove this line>
197
+
keysDirectory=<Directory where P12 is present>
198
+
keyAlias=<Refers to the portfolio>
199
+
keyPassword=<Password of p12>
200
+
targetAPIVersion=<latest API version, refer here https://ics2ws.ic3.com/commerce/1.x/transactionProcessor>
201
+
keyFilename= <metakey downloaded from portfolio MID>
202
+
203
+
Auth sample payload:
204
+
205
+
merchantID=<meta_2232323> <Refers to the Child transactional MID>
206
+
ccAuthService_run=true
207
+
merchantReferenceCode=MRC-14344
208
+
billTo_firstName=John
209
+
188
210
### Authentication Details
189
211
Message level encryption authenticates using the same mechanism as signed SOAP messages. The signature creation involves utilizing the merchants private key which combined with a hash of the message to be signed, can be validated with the merchants certificate and the message which was signed.
190
212
The merchant certificate is included in the SOAP message for both signature and message level encryption. Message level encryption, encrypts a temporary message key for a specific recipient. This is done by encrypting the temporary message key with the recipient’s public certificate. Therefore only the party holding the private key (CyberSource) can decrypt the temporary message key. The merchant sending the request must be a valid merchant for the environment which the message is being processed in. After validating the merchant and retrieving the CyberSource copy of the merchant certificate from our database, these additional authentication steps are performed:
@@ -213,22 +235,30 @@ Retry Pattern allows to retry sending a failed request and it will only work wit
213
235
The XML Security project is aimed at providing implementation of security standards for XML,supports XML-Signature Syntax and Processing,XML Encryption Syntax and Processing, and supports XML Digital Signature APIs.
214
236
4. org.apache.commons:commons-lang3:3.4
215
237
Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.
216
-
5. commons-httpclient:commons-httpclient:3.1
217
-
Provides a framework by which new request types (methods) or HTTP extensions can be created easily.
218
-
6. commons-logging:commons-logging:jar:1.1.1
238
+
5. commons-logging:commons-logging:jar:1.1.1
219
239
This is getting downloaded as compile time dependency of wss4j:1.6.19.Apache Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems.
220
-
7. org.slf4j:slf4j-api:1.7.21 and org.slf4j:slf4j-jcl:1.7.21
240
+
6. org.slf4j:slf4j-api:1.7.21 and org.slf4j:slf4j-jcl:1.7.21
221
241
slf4j-api is getting used as a dependency for wss4j. Modified to latest version.
222
-
8. junit:junit:4.12
242
+
7. junit:junit:4.13.1
223
243
JUnit is a unit testing framework for Java.
224
-
9. org.mockito:mockito-all:1.10.19
244
+
8. org.mockito:mockito-all:1.10.19
225
245
Mock objects library for java
226
-
10. org.apache.httpcomponents:httpclient:4.5.11
246
+
9. org.apache.httpcomponents:httpclient:4.5.13
227
247
Provides reusable components for client-side authentication, HTTP state management, and HTTP connection management. It is used for poolinghttpclientconnectionmanager feature.
228
-
248
+
10. org.apache.httpcomponents:httpcore:4.4.13
249
+
Provides low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint.
3)Upgrading org.apache.httpcomponents:httpclient:4.5.11 to org.apache.httpcomponents:httpclient:4.5.13 because of CVE-2020-13956 vulnerability.
258
+
4)ReadMe changes for meta key support.
259
+
5)Http request retry is added in case of HttpPoolingClient when 'javax.net.ssl.SSLException:Connection reset' exception is thrown(specific to jdk8u251 & + version refer this https://bugs.openjdk.java.net/browse/JDK-8214339)
260
+
6)Separate out connection and socket timeout prop. Right now both are set via timeout property in case of jdk HttpUrlConnectiona and Apache basic http client.
0 commit comments