Example usage for org.bouncycastle.asn1.x509 Extension qCStatements

List of usage examples for org.bouncycastle.asn1.x509 Extension qCStatements

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x509 Extension qCStatements.

Prototype

ASN1ObjectIdentifier qCStatements

To view the source code for org.bouncycastle.asn1.x509 Extension qCStatements.

Click Source Link

Document

QCStatements

Usage

From source file:se.tillvaxtverket.tsltrust.common.utils.general.CertificateUtils.java

License:Open Source License

public static short getSdiType(AaaCertificate cert) {
    boolean qualified = false;
    boolean rootCert = false;
    boolean eeCert = false;

    // CA test// w  w w. jav  a  2s  . c o  m
    if (cert.getBasicConstraints() == -1) {
        eeCert = true;
    }

    // root test
    if (cert.getIssuerX500Principal().equals(cert.getSubjectX500Principal())) {
        rootCert = true;
    }

    // qc test
    Map<String, ExtensionInfo> extensionsMap = cert.getExtensionsMap();
    if (extensionsMap.containsKey(Extension.qCStatements.getId())) {
        try {
            QCStatementsExt qcStatements = QCStatementsExt
                    .getInstance(extensionsMap.get(Extension.qCStatements.getId()).getExtDataASN1());
            qualified = qcStatements.isQcCompliance();
        } catch (Exception e) {
        }
    }

    // return result
    short type = 0;
    if (!eeCert) {
        type = 1;
    }
    if (rootCert) {
        type = 2;
    }
    if (qualified) {
        type += 3;
    }
    return type;
}