Skip to content

Commit 074a0a8

Browse files
author
Tomasz Gruszewski
committed
gh #8 solution for tls configuration with sslcontext param for soap based endpoints
1 parent 9a550ed commit 074a0a8

15 files changed

Lines changed: 36 additions & 13 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Mobile ID Java client (v1.5.2)
1+
# Mobile ID Java client (v1.5.3)
22

33
Swisscom Mobile ID is a cost-efficient, managed authentication service from Swisscom. The customer-facing API is
44
based on open standard ETSI 102 2041. The library from this repository is a reference implementation for
@@ -104,6 +104,7 @@ tls.setKeyStoreKeyPassword("secret");
104104
tls.setKeyStoreCertificateAlias("mid-cert");
105105
tls.setTrustStoreFile("truststore.jks");
106106
tls.setTrustStorePassword("secret");
107+
tls.setSslContext("SSLv3");
107108

108109
HttpConfiguration http = config.getHttp();
109110
http.setConnectionTimeoutInMs(20 * 1000);

docs/configure-the-client.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ tls.setKeyStoreKeyPassword("secret");
9999
tls.setKeyStoreCertificateAlias("mid-cert");
100100
tls.setTrustStoreFile("truststore.jks");
101101
tls.setTrustStorePassword("secret");
102+
tls.setSslContext("SSLv3");
102103

103104
HttpConfiguration http = config.getHttp();
104105
http.setConnectionTimeoutInMs(20 * 1000);

docs/use-the-client-programmatically.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ tls.setKeyStoreKeyPassword("secret");
7070
tls.setKeyStoreCertificateAlias("mid-cert");
7171
tls.setTrustStoreFile("truststore.jks");
7272
tls.setTrustStorePassword("secret");
73+
tls.setSslContext("SSLv3");
7374

7475
HttpConfiguration http = config.getHttp();
7576
http.setConnectionTimeoutInMs(20 * 1000);

docs/version-history.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Version history
22

3+
# v1.5.3
4+
Add support for sslContext configuration for mid-java-client-soap via sslContext property in TlsConfiguration instance.
5+
36
# v1.5.2
47
Update most of the libraries to their latest versions. Fix two vulnerabilities reported by Dependabot for the Jackson Databind libraries.
58

mid-java-client-core/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<groupId>ch.mobileid.mid-java-client</groupId>
88
<artifactId>mid-java-client-parent</artifactId>
9-
<version>1.5.2</version>
9+
<version>1.5.3</version>
1010
</parent>
1111

1212
<artifactId>mid-java-client-core</artifactId>
13-
<version>1.5.2</version>
13+
<version>1.5.3</version>
1414
<name>mid-java-client-core</name>
1515
<description>MobileID Java Client - Core Functionality</description>
1616
<packaging>jar</packaging>

mid-java-client-core/src/main/java/ch/swisscom/mid/client/config/TlsConfiguration.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class TlsConfiguration {
4242

4343
private boolean hostnameVerification = true;
4444

45+
private String sslContext;
4546
// ----------------------------------------------------------------------------------------------------
4647

4748
public String getKeyStoreFile() {
@@ -148,6 +149,14 @@ public void setHostnameVerification(boolean hostnameVerification) {
148149
this.hostnameVerification = hostnameVerification;
149150
}
150151

152+
public String getSslContext() {
153+
return sslContext;
154+
}
155+
156+
public void setSslContext(String sslContext) {
157+
this.sslContext = sslContext;
158+
}
159+
151160
// ----------------------------------------------------------------------------------------------------
152161

153162
public void validateYourself() {

mid-java-client-rest/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<groupId>ch.mobileid.mid-java-client</groupId>
88
<artifactId>mid-java-client-parent</artifactId>
9-
<version>1.5.2</version>
9+
<version>1.5.3</version>
1010
</parent>
1111

1212
<artifactId>mid-java-client-rest</artifactId>
13-
<version>1.5.2</version>
13+
<version>1.5.3</version>
1414
<name>mid-java-client-rest</name>
1515
<description>MobileID Java Client - REST Implementation</description>
1616
<packaging>jar</packaging>

mid-java-client-rest/src/main/java/ch/swisscom/mid/client/rest/model/signresp/ServiceResponse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class ServiceResponse {
1414

1515
@JsonProperty("Description")
1616
private String description;
17+
1718
@JsonProperty("Geofencing")
1819
private Geofencing geofencing;
1920

mid-java-client-soap/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<groupId>ch.mobileid.mid-java-client</groupId>
88
<artifactId>mid-java-client-parent</artifactId>
9-
<version>1.5.2</version>
9+
<version>1.5.3</version>
1010
</parent>
1111

1212
<artifactId>mid-java-client-soap</artifactId>
13-
<version>1.5.2</version>
13+
<version>1.5.3</version>
1414
<name>mid-java-client-soap</name>
1515
<description>MobileID Java Client - SOAP Implementation</description>
1616
<packaging>jar</packaging>

mid-java-client-soap/src/main/java/ch/swisscom/mid/client/soap/MssServiceFactory.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,14 @@ private SSLSocketFactory produceAnSslSocketFactory(ClientConfiguration config) {
187187
logTlsConfiguration(tlsConfig);
188188

189189
try {
190-
SSLContext sslContext = SSLContext.getInstance("SSLv3");
191-
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
190+
SSLContext sslContext;
191+
if (tlsConfig.getSslContext() == null) {
192+
sslContext = SSLContext.getInstance("Default");
193+
} else {
194+
sslContext = SSLContext.getInstance(tlsConfig.getSslContext());
195+
}
192196

197+
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
193198
keyManagerFactory.init(produceAKeyStore(tlsConfig), tlsConfig.getKeyStoreKeyPassword().toCharArray());
194199
KeyManager[] keyManagers = keyManagerFactory.getKeyManagers();
195200

0 commit comments

Comments
 (0)