本文整理汇总了Java中org.bouncycastle.asn1.x509.TBSCertificateStructure类的典型用法代码示例。如果您正苦于以下问题:Java TBSCertificateStructure类的具体用法?Java TBSCertificateStructure怎么用?Java TBSCertificateStructure使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
TBSCertificateStructure类属于org.bouncycastle.asn1.x509包,在下文中一共展示了TBSCertificateStructure类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getIssuerX509Principal
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
/**
* return the issuer of the given cert as an X509PrincipalObject.
*/
public static X509Principal getIssuerX509Principal(
X509Certificate cert)
throws CertificateEncodingException
{
try
{
TBSCertificateStructure tbsCert = TBSCertificateStructure.getInstance(
ASN1Primitive.fromByteArray(cert.getTBSCertificate()));
return new X509Principal(X509Name.getInstance(tbsCert.getIssuer()));
}
catch (IOException e)
{
throw new CertificateEncodingException(e.toString());
}
}
示例2: getSubjectX509Principal
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
/**
* return the subject of the given cert as an X509PrincipalObject.
*/
public static X509Principal getSubjectX509Principal(
X509Certificate cert)
throws CertificateEncodingException
{
try
{
TBSCertificateStructure tbsCert = TBSCertificateStructure.getInstance(
ASN1Primitive.fromByteArray(cert.getTBSCertificate()));
return new X509Principal(X509Name.getInstance(tbsCert.getSubject()));
}
catch (IOException e)
{
throw new CertificateEncodingException(e.toString());
}
}
示例3: computeRecipientInfo
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)
throws GeneralSecurityException, IOException
{
ASN1InputStream asn1inputstream =
new ASN1InputStream(new ByteArrayInputStream(x509certificate.getTBSCertificate()));
TBSCertificateStructure tbscertificatestructure =
TBSCertificateStructure.getInstance(asn1inputstream.readObject());
AlgorithmIdentifier algorithmidentifier = tbscertificatestructure.getSubjectPublicKeyInfo().getAlgorithm();
IssuerAndSerialNumber issuerandserialnumber =
new IssuerAndSerialNumber(
tbscertificatestructure.getIssuer(),
tbscertificatestructure.getSerialNumber().getValue());
Cipher cipher = Cipher.getInstance(algorithmidentifier.getAlgorithm().getId());
cipher.init(1, x509certificate);
DEROctetString deroctetstring = new DEROctetString(cipher.doFinal(abyte0));
RecipientIdentifier recipId = new RecipientIdentifier(issuerandserialnumber);
return new KeyTransRecipientInfo( recipId, algorithmidentifier, deroctetstring);
}
示例4: getIssuerX509Principal
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
/**
* 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());
}
}
示例5: getSubjectX509Principal
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
/**
* 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());
}
}
示例6: checkKeyUsage
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected void checkKeyUsage(TBSCertificateStructure issuer,
X509Certificate[] certPath,
int index)
throws ProxyPathValidatorException, IOException {
logger.debug("enter: checkKeyUsage");
boolean[] issuerKeyUsage = getKeyUsage(issuer);
if (issuerKeyUsage != null) {
if (!issuerKeyUsage[5]) {
throw new ProxyPathValidatorException(
ProxyPathValidatorException.FAILURE,
certPath[index],
"KeyUsage extension present but keyCertSign bit not asserted");
}
}
logger.debug("exit: checkKeyUsage");
}
示例7: getCAPathConstraint
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected int getCAPathConstraint(TBSCertificateStructure crt)
throws IOException {
X509Extensions extensions = crt.getExtensions();
if (extensions == null) {
return -1;
}
X509Extension ext =
extensions.getExtension(X509Extensions.BasicConstraints);
if (ext != null) {
BasicConstraints basicExt = BouncyCastleUtil.getBasicConstraints(ext);
if (basicExt.isCA()) {
BigInteger pathLen = basicExt.getPathLenConstraint();
return (pathLen == null) ? Integer.MAX_VALUE : pathLen.intValue();
} else {
return -1;
}
}
return -1;
}
示例8: checkUnsupportedCriticalExtensions
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected void checkUnsupportedCriticalExtensions(TBSCertificateStructure crt, int certType,
X509Certificate checkedProxy) throws ProxyPathValidatorException {
logger.debug("enter: checkUnsupportedCriticalExtensions");
X509Extensions extensions = crt.getExtensions();
if (extensions != null) {
Enumeration e = extensions.oids();
while (e.hasMoreElements()) {
DERObjectIdentifier oid = (DERObjectIdentifier) e.nextElement();
X509Extension ext = extensions.getExtension(oid);
if (ext.isCritical()) {
if (oid.equals(X509Extensions.BasicConstraints) || oid.equals(X509Extensions.KeyUsage)
|| (oid.equals(ProxyCertInfo.OID) && CertUtil.isGsi4Proxy(certType))
|| (oid.equals(ProxyCertInfo.OLD_OID) && CertUtil.isGsi3Proxy(certType))) {
} else {
throw new ProxyPathValidatorException(ProxyPathValidatorException.UNSUPPORTED_EXTENSION,
checkedProxy, "Unsuppored critical exception : " + oid.getId());
}
}
}
}
logger.debug("exit: checkUnsupportedCriticalExtensions");
}
示例9: getCAPathConstraint
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected int getCAPathConstraint(TBSCertificateStructure crt) throws IOException {
X509Extensions extensions = crt.getExtensions();
if (extensions == null) {
return -1;
}
X509Extension ext = extensions.getExtension(X509Extensions.BasicConstraints);
if (ext != null) {
BasicConstraints basicExt = BouncyCastleUtil.getBasicConstraints(ext);
if (basicExt.isCA()) {
BigInteger pathLen = basicExt.getPathLenConstraint();
return (pathLen == null) ? Integer.MAX_VALUE : pathLen.intValue();
} else {
return -1;
}
}
return -1;
}
示例10: getTBSCertificateStructure
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
static TBSCertificateStructure getTBSCertificateStructure(
X509Certificate cert)
{
try
{
return TBSCertificateStructure.getInstance(
ASN1Primitive.fromByteArray(cert.getTBSCertificate()));
}
catch (Exception e)
{
throw new IllegalArgumentException(
"can't extract TBS structure from this cert");
}
}
示例11: checkUnsupportedCriticalExtensions
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected void checkUnsupportedCriticalExtensions(TBSCertificateStructure crt,
int certType,
X509Certificate checkedProxy)
throws ProxyPathValidatorException {
logger.debug("enter: checkUnsupportedCriticalExtensions");
X509Extensions extensions = crt.getExtensions();
if (extensions != null) {
Enumeration e = extensions.oids();
while (e.hasMoreElements()) {
DERObjectIdentifier oid = (DERObjectIdentifier)e.nextElement();
X509Extension ext = extensions.getExtension(oid);
if (ext.isCritical()) {
if (oid.equals(X509Extensions.BasicConstraints) ||
oid.equals(X509Extensions.KeyUsage) ||
(oid.equals(ProxyCertInfo.OID) &&
CertUtil.isGsi4Proxy(certType)) ||
(oid.equals(ProxyCertInfo.OLD_OID) &&
CertUtil.isGsi3Proxy(certType))) {
} else {
throw new ProxyPathValidatorException(
ProxyPathValidatorException
.UNSUPPORTED_EXTENSION,
checkedProxy,
"Unsuppored critical exception : "
+ oid.getId());
}
}
}
}
logger.debug("exit: checkUnsupportedCriticalExtensions");
}
示例12: getProxyCertInfo
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected ProxyCertInfo getProxyCertInfo(TBSCertificateStructure crt)
throws IOException {
X509Extensions extensions = crt.getExtensions();
if (extensions == null) {
return null;
}
X509Extension ext =
extensions.getExtension(ProxyCertInfo.OID);
if (ext == null) {
ext = extensions.getExtension(ProxyCertInfo.OLD_OID);
}
return (ext != null) ? BouncyCastleUtil.getProxyCertInfo(ext) : null;
}
示例13: getKeyUsage
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected boolean[] getKeyUsage(TBSCertificateStructure crt)
throws IOException {
X509Extensions extensions = crt.getExtensions();
if (extensions == null) {
return null;
}
X509Extension ext =
extensions.getExtension(X509Extensions.KeyUsage);
return (ext != null) ? BouncyCastleUtil.getKeyUsage(ext) : null;
}
示例14: checkRestrictedProxy
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected void checkRestrictedProxy(TBSCertificateStructure proxy, X509Certificate[] certPath, int index)
throws ProxyPathValidatorException, IOException {
logger.debug("enter: checkRestrictedProxy");
ProxyCertInfo info = getProxyCertInfo(proxy);
// just a sanity check
if (info == null) {
throw new ProxyPathValidatorException(ProxyPathValidatorException.FAILURE, certPath[index],
"Could not retreive ProxyCertInfo extension");
}
ProxyPolicy policy = info.getProxyPolicy();
// another sanity check
if (policy == null) {
throw new ProxyPathValidatorException(ProxyPathValidatorException.FAILURE, certPath[index],
"Could not retreive ProxyPolicy from ProxyCertInfo extension");
}
String pl = policy.getPolicyLanguage().getId();
ProxyPolicyHandler handler = getProxyPolicyHandler(pl);
if (handler == null) {
throw new ProxyPathValidatorException(ProxyPathValidatorException.UNKNOWN_POLICY, certPath[index],
"Unknown policy: " + pl);
}
handler.validate(info, certPath, index);
logger.debug("exit: checkRestrictedProxy");
}
示例15: checkKeyUsage
import org.bouncycastle.asn1.x509.TBSCertificateStructure; //导入依赖的package包/类
protected void checkKeyUsage(TBSCertificateStructure issuer, X509Certificate[] certPath, int index)
throws ProxyPathValidatorException, IOException {
logger.debug("enter: checkKeyUsage");
boolean[] issuerKeyUsage = getKeyUsage(issuer);
if (issuerKeyUsage != null) {
if (!issuerKeyUsage[5]) {
throw new ProxyPathValidatorException(ProxyPathValidatorException.FAILURE, certPath[index],
"KeyUsage extension present but keyCertSign bit not asserted");
}
}
logger.debug("exit: checkKeyUsage");
}