📄 principalutil.java
字号:
package org.bouncycastle.jce;
import java.io.*;
import java.security.cert.*;
import org.bouncycastle.asn1.*;
import org.bouncycastle.asn1.x509.*;
/**
* a utility class that will extract X509Principal objects from X.509 certificates.
*/
public class PrincipalUtil
{
/**
* return the issuer of the given cert as an X509PrincipalObject.
*/
public static X509Principal getIssuerX509Principal(
X509Certificate cert)
throws CertificateEncodingException
{
try
{
ByteArrayInputStream bIn = new ByteArrayInputStream(
cert.getTBSCertificate());
ASN1InputStream aIn = new ASN1InputStream(bIn);
TBSCertificateStructure tbsCert = new TBSCertificateStructure(
(ASN1Sequence)aIn.readObject());
return new X509Principal(tbsCert.getIssuer());
}
catch (IOException e)
{
throw new CertificateEncodingException(e.toString());
}
}
/**
* return the subject of the given cert as an X509PrincipalObject.
*/
public static X509Principal getSubjectX509Principal(
X509Certificate cert)
throws CertificateEncodingException
{
try
{
ByteArrayInputStream bIn = new ByteArrayInputStream(
cert.getTBSCertificate());
ASN1InputStream aIn = new ASN1InputStream(bIn);
TBSCertificateStructure tbsCert = new TBSCertificateStructure(
(ASN1Sequence)aIn.readObject());
return new X509Principal(tbsCert.getSubject());
}
catch (IOException e)
{
throw new CertificateEncodingException(e.toString());
}
}
/**
* return the issuer of the given CRL as an X509PrincipalObject.
*/
public static X509Principal getIssuerX509Principal(
X509CRL crl)
throws CRLException
{
try
{
ByteArrayInputStream bIn = new ByteArrayInputStream(
crl.getTBSCertList());
ASN1InputStream aIn = new ASN1InputStream(bIn);
TBSCertList tbsCertList = new TBSCertList(
(ASN1Sequence)aIn.readObject());
return new X509Principal(tbsCertList.getIssuer());
}
catch (IOException e)
{
throw new CRLException(e.toString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -