protected X509CertSelector doConversion( X500Name issuer, BigInteger serialNumber, byte[] subjectKeyIdentifier) { X509CertSelector selector = new X509CertSelector(); if (issuer != null) { try { selector.setIssuer(issuer.getEncoded()); } catch (IOException e) { throw new IllegalArgumentException("unable to convert issuer: " + e.getMessage()); } } if (serialNumber != null) { selector.setSerialNumber(serialNumber); } if (subjectKeyIdentifier != null) { try { selector.setSubjectKeyIdentifier(new DEROctetString(subjectKeyIdentifier).getEncoded()); } catch (IOException e) { throw new IllegalArgumentException("unable to convert issuer: " + e.getMessage()); } } return selector; }