Open GoogleCodeExporter opened 9 years ago
Here is a patch:
Index: src/main/java/be/fedict/eid/tsl/TrustService.java
===================================================================
--- src/main/java/be/fedict/eid/tsl/TrustService.java (revision 42)
+++ src/main/java/be/fedict/eid/tsl/TrustService.java (working copy)
@@ -281,17 +281,21 @@
.getServiceInformation();
DigitalIdentityListType digitalIdentityList = tspServiceInformation
.getServiceDigitalIdentity();
- List<DigitalIdentityType> digitalIdentities =
digitalIdentityList
- .getDigitalId();
- DigitalIdentityType digitalIdentity = digitalIdentities.get(0);
- byte[] x509CertificateData =
digitalIdentity.getX509Certificate();
try {
- CertificateFactory certificateFactory =
CertificateFactory
- .getInstance("X.509");
- X509Certificate certificate = (X509Certificate)
certificateFactory
- .generateCertificate(new
ByteArrayInputStream(
- x509CertificateData));
- return certificate;
+ final CertificateFactory certificateFactory =
CertificateFactory.getInstance("X.509");
+ for ( final DigitalIdentityType digitalIdentity :
digitalIdentityList.getDigitalId() ) {
+ byte[] x509CertificateData =
digitalIdentity.getX509Certificate();
+ if ( x509CertificateData != null ) {
+ try {
+ X509Certificate certificate =
(X509Certificate) certificateFactory
+
.generateCertificate(new
ByteArrayInputStream(x509CertificateData));
+ return certificate;
+ } catch (CertificateException e) {
+ throw new
RuntimeException("X509
error: " + e.getMessage(), e);
+ }
+ }
+ }
+ throw new RuntimeException("No X509Certificate identity
specified");
} catch (CertificateException e) {
throw new RuntimeException("X509 error: " + e.getMessage(),
e);
}
Original comment by jan.dvo...@mathan.cz
on 5 Dec 2009 at 10:26
Ok, so this one has been solved.
Original comment by jan.dvo...@mathan.cz
on 15 Dec 2009 at 4:22
Original issue reported on code.google.com by
jan.dvo...@mathan.cz
on 3 Dec 2009 at 6:04Attachments: