Methods Summary |
---|
public javax.security.auth.x500.X500Principal | getCertificateIssuer()
if (!isIndirect)
{
return null;
}
byte[] ext = getExtensionValue(X509Extensions.CertificateIssuer.getId());
if (ext == null)
{
return previousCertificateIssuer;
}
try
{
GeneralName[] names = GeneralNames.getInstance(
X509ExtensionUtil.fromExtensionValue(ext)).getNames();
for (int i = 0; i < names.length; i++)
{
if (names[i].getTagNo() == GeneralName.directoryName)
{
return new X500Principal(names[i].getName().getDERObject().getDEREncoded());
}
}
throw new RuntimeException(
"Cannot extract directory name from certificate issuer CRL entry extension");
}
catch (IOException e)
{
throw new RuntimeException(
"Cannot extract certificate issuer CRL entry extension "
+ e);
}
|
public java.util.Set | getCriticalExtensionOIDs()
return getExtensionOIDs(true);
|
public byte[] | getEncoded()
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
DEROutputStream dOut = new DEROutputStream(bOut);
try
{
dOut.writeObject(c);
return bOut.toByteArray();
}
catch (IOException e)
{
throw new CRLException(e.toString());
}
|
private java.util.Set | getExtensionOIDs(boolean critical)
X509Extensions extensions = c.getExtensions();
if (extensions != null)
{
Set set = new HashSet();
Enumeration e = extensions.oids();
while (e.hasMoreElements())
{
DERObjectIdentifier oid = (DERObjectIdentifier) e.nextElement();
X509Extension ext = extensions.getExtension(oid);
if (critical == ext.isCritical())
{
set.add(oid.getId());
}
}
return set;
}
return null;
|
public byte[] | getExtensionValue(java.lang.String oid)
X509Extensions exts = c.getExtensions();
if (exts != null)
{
X509Extension ext = exts.getExtension(new DERObjectIdentifier(oid));
if (ext != null)
{
try
{
return ext.getValue().getEncoded();
}
catch (Exception e)
{
throw new RuntimeException("error encoding " + e.toString());
}
}
}
return null;
|
public java.util.Set | getNonCriticalExtensionOIDs()
return getExtensionOIDs(false);
|
public java.util.Date | getRevocationDate()
return c.getRevocationDate().getDate();
|
public java.math.BigInteger | getSerialNumber()
return c.getUserCertificate().getValue();
|
public boolean | hasExtensions()
return c.getExtensions() != null;
|
public boolean | hasUnsupportedCriticalExtension()Will return true if any extensions are present and marked as critical as
we currently dont handle any extensions!
Set extns = getCriticalExtensionOIDs();
if (extns != null && !extns.isEmpty())
{
return true;
}
return false;
|
public java.lang.String | toString()
StringBuffer buf = new StringBuffer();
String nl = System.getProperty("line.separator");
buf.append(" userCertificate: ").append(this.getSerialNumber()).append(nl);
buf.append(" revocationDate: ").append(this.getRevocationDate()).append(nl);
X509Extensions extensions = c.getExtensions();
if (extensions != null)
{
Enumeration e = extensions.oids();
if (e.hasMoreElements())
{
buf.append(" crlEntryExtensions:").append(nl);
while (e.hasMoreElements())
{
DERObjectIdentifier oid = (DERObjectIdentifier)e.nextElement();
X509Extension ext = extensions.getExtension(oid);
buf.append(ext);
}
}
}
return buf.toString();
|