diff options
-rw-r--r-- | spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java index 9d9262785..0814c90d6 100644 --- a/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java @@ -33,14 +33,24 @@ public class IssuerAndSerial { * @param serial The serial number of the certificate. */ public IssuerAndSerial(Principal issuer, BigInteger serial) { - RFC2253NameParser parser = new RFC2253NameParser(issuer.getName()); - - try { - this.issuerDN = ((Name) parser.parse()).getRFC2253String(); - } catch (RFC2253NameParserException e) { - this.issuerDN = issuer.getName(); + String issuerDN = null; + if (issuer instanceof Name) { + try { + issuerDN = ((Name)issuer).getRFC2253String(); + } catch (RFC2253NameParserException e) { + // do nothing + } + } + if (issuerDN == null) { + RFC2253NameParser parser = new RFC2253NameParser(issuer.getName()); + try { + issuerDN = ((Name)parser.parse()).getRFC2253String(); + } catch (RFC2253NameParserException e) { + issuerDN = issuer.getName(); + } } this.serial = serial; + this.issuerDN = issuerDN; } /** |