Example usage for org.bouncycastle.asn1.x509 GeneralName getName

List of usage examples for org.bouncycastle.asn1.x509 GeneralName getName

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x509 GeneralName getName.

Prototype

public ASN1Encodable getName() 

Source Link

Usage

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509DirectoryName.java

License:Open Source License

/**
 * Create a new instance from a Bouncy Castle general name.
 *
 * @param name the Bouncy Castle general name.
 *//*from   ww  w.ja v a 2 s . com*/
public X509DirectoryName(GeneralName name) {
    super(X500Name.getInstance(name.getName()));

    if (name.getTagNo() != GeneralName.directoryName) {
        throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo());
    }
}

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509DnsName.java

License:Open Source License

/**
 * Create a new instance from a Bouncy Castle general name.
 *
 * @param name the Bouncy Castle general name.
 *///from   ww w.  j a  va 2  s.c o m
public X509DnsName(GeneralName name) {
    if (name.getTagNo() != GeneralName.dNSName) {
        throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo());
    }

    this.domain = DERIA5String.getInstance(name.getName()).getString();
}

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509IpAddress.java

License:Open Source License

/**
 * Construct a IP address general name from an ip address.
 *
 * @param ipAddress the ip address./*  w w  w  . j  av a 2 s. com*/
 */
public X509IpAddress(String ipAddress) {
    GeneralName name = new GeneralName(GeneralName.iPAddress, ipAddress);
    this.ipAddress = DEROctetString.getInstance(name.getName()).getOctets();
}

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509IpAddress.java

License:Open Source License

/**
 * Create a new instance from a Bouncy Castle general name.
 *
 * @param name the Bouncy Castle general name.
 *///from ww  w .ja  v  a 2  s.  c  om
public X509IpAddress(GeneralName name) {
    if (name.getTagNo() != GeneralName.iPAddress) {
        throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo());
    }
    this.ipAddress = DEROctetString.getInstance(name.getName()).getOctets();
}

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509Rfc822Name.java

License:Open Source License

/**
 * Create a new instance from a Bouncy Castle general name.
 *
 * @param name the Bouncy Castle general name.
 *///from  w  ww .  j  a  v  a2 s.c  o  m
public X509Rfc822Name(GeneralName name) {
    this(DERIA5String.getInstance(name.getName()).getString());

    if (name.getTagNo() != GeneralName.rfc822Name) {
        throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo());
    }
}

From source file:org.xwiki.crypto.pkix.params.x509certificate.extension.X509URI.java

License:Open Source License

/**
 * Create a new instance from a Bouncy Castle general name.
 *
 * @param name the Bouncy Castle general name.
 *///from  w w  w. j  a  va  2s .c  o m
public X509URI(GeneralName name) {
    this(DERIA5String.getInstance(name.getName()).getString());

    if (name.getTagNo() != GeneralName.uniformResourceIdentifier) {
        throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo());
    }
}

From source file:se.tillvaxtverket.tsltrust.weblogic.content.CertificateInformation.java

License:Open Source License

private void addCertificateExtensionInfo(AaaCertificate cert, boolean unfold) {
    InfoTableSection section = certElements.addNewSection(tm, "Extensions", unfold);
    section.setSectionHeadingClasses(CERT_INFO);
    InfoTableElements extElements = section.getElements();
    extFact.clear();//  w w  w  . ja  v  a 2  s  . c o m

    List<ExtensionInfo> extList = cert.getExtensionInfoList();
    if (extList == null) {
        return;
    }

    section.setFoldedElement(
            "Extension summary (out of " + String.valueOf(extList.size()) + " total Extensions)");
    section.setKeepFoldableElement(true);

    for (ExtensionInfo rawExt : extList) {
        //Basic Constraints
        if (rawExt.getExtensionType().equals(SupportedExtension.basicConstraints)) {
            BasicConstraints bc = BasicConstraints.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            // set property
            extFact.add("cA", String.valueOf(bc.isCA()));
            extFact.addExtension(extElements);
        }
        //Key Usage
        if (rawExt.getExtensionType().equals(SupportedExtension.keyUsage)) {
            KeyUsage ku = KeyUsage.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            extFact.add("Usage", DisplayCert.getKeyUsageText(ku));
            extFact.addExtension(extElements);
        }

        //QcStatements
        if (rawExt.getExtensionType().equals(SupportedExtension.qCStatements)) {
            QCStatementsExt qc = QCStatementsExt.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            // set property
            if (qc.isQcCompliance()) {
                extFact.add("Qualified", "true");
            }
            if (qc.isQcSscd()) {
                extFact.add("QSSCD", "true");
            }
            extFact.addExtension(extElements);
        }

        //            //EKU
        if (rawExt.getExtensionType().equals(SupportedExtension.extendedKeyUsage)) {
            ExtendedKeyUsage eku = ExtendedKeyUsage.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            // set property
            KeyPurposeId[] keyPurposeIDs = eku.getUsages();
            for (KeyPurposeId oid : keyPurposeIDs) {
                extFact.add(OidName.getName(oid.getId()), oid.getId());
            }
            extFact.addExtension(extElements);
        }

        //            //CertificatePolicies
        if (rawExt.getExtensionType().equals(SupportedExtension.certificatePolicies)) {
            CertificatePolicies cp = CertificatePolicies.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            // set property
            PolicyInformation[] policyInformation = cp.getPolicyInformation();
            for (PolicyInformation pi : policyInformation) {
                ASN1ObjectIdentifier oid = pi.getPolicyIdentifier();
                extFact.add("Policy", OidName.getName(oid.getId()));
            }
            extFact.addExtension(extElements);
        }

        //            //SubjectAlterantive Name
        //            /**
        //             *    GeneralName ::= CHOICE {
        //             *    otherName                       [0]     OtherName,
        //             *    rfc822Name                      [1]     IA5String,
        //             *    dNSName                         [2]     IA5String,
        //             *    x400Address                     [3]     ORAddress,
        //             *    directoryName                   [4]     Name,
        //             *    ediPartyName                    [5]     EDIPartyName,
        //             *    uniformResourceIdentifier       [6]     IA5String,
        //             *    iPAddress                       [7]     OCTET STRING,
        //             *    registeredID                    [8]     OBJECT IDENTIFIER }
        //             */
        if (rawExt.getExtensionType().equals(SupportedExtension.subjectAlternativeName)) {
            GeneralNames san = GeneralNames.getInstance(rawExt.getExtDataASN1());
            extFact.add(getExtNameAndOID(rawExt), EXT_ATTR);
            // set property
            String[] nameType = new String[] { "otherName", "rfc822Name", "dNSName", "x400Address",
                    "directoryName", "ediPartyName", "uniformResourceIdentifier", "iPAddress", "registeredID" };
            GeneralName[] generalNames = san.getNames();
            for (GeneralName name : generalNames) {
                int type = name.getTagNo();
                if (type == 1 || type == 2 || type == 6 || type == 7) {
                    extFact.add(nameType[type], name.getName().toString());
                }
            }
            extFact.addExtension(extElements);
        }
    }
}

From source file:se.tillvaxtverket.ttsigvalws.ttwssigvalidation.pdf.PdfBoxSigUtil.java

License:Open Source License

/**
 * Parse a Time-Stamp TsInfo byte array//ww  w .  jav a 2 s  . co  m
 *
 * @param tsToken The bytes of a tsInfo object
 * @return A data object holding essential time stamp information
 */
public static TimeStampData getTimeStampData(byte[] tsToken) {
    TimeStampData tsData = new TimeStampData();
    tsData.setTimeStampToken(tsToken);
    try {

        ASN1InputStream din = new ASN1InputStream(new ByteArrayInputStream(tsToken));
        ASN1Sequence tsTokenSeq = ASN1Sequence.getInstance(din.readObject());

        // Get version
        int seqIdx = 0;
        int version = ASN1Integer.getInstance(tsTokenSeq.getObjectAt(seqIdx++)).getPositiveValue().intValue();
        tsData.setVersion(version);

        //Get Policy
        String policy = ASN1ObjectIdentifier.getInstance(tsTokenSeq.getObjectAt(seqIdx++)).getId();
        tsData.setPolicy(policy);

        //Get Message Imprint data (hash algo and hash value
        ASN1Sequence messageImprintSeq = ASN1Sequence.getInstance(tsTokenSeq.getObjectAt(seqIdx++));
        AlgorithmIdentifier miAi = AlgorithmIdentifier.getInstance(messageImprintSeq.getObjectAt(0));
        byte[] miOctets = DEROctetString.getInstance(messageImprintSeq.getObjectAt(1)).getOctets();
        tsData.setImprintHashAlgo(DigestAlgorithm.getDigestAlgoFromOid(miAi.getAlgorithm().getId()));
        tsData.setImprintDigest(miOctets);

        //Serial number
        tsData.setSerialNumber(ASN1Integer.getInstance(tsTokenSeq.getObjectAt(seqIdx++)).getValue());

        // Time
        Date tsTime = ASN1GeneralizedTime.getInstance(tsTokenSeq.getObjectAt(seqIdx++)).getDate();
        tsData.setTime(tsTime);

        // Skip until next tagged token
        while (tsTokenSeq.size() > seqIdx && !(tsTokenSeq.getObjectAt(seqIdx) instanceof ASN1TaggedObject)) {
            seqIdx++;
        }

        // Get TSA name
        GeneralName tsaName = GeneralName.getInstance(tsTokenSeq.getObjectAt(seqIdx));
        try {
            ASN1Sequence genNameSeq = ASN1Sequence.getInstance(tsaName.getName());
            ASN1TaggedObject taggedGenNameOjb = ASN1TaggedObject.getInstance(genNameSeq.getObjectAt(0));
            if (taggedGenNameOjb.getTagNo() == 4) {
                ASN1Sequence nameSeq = ASN1Sequence.getInstance(taggedGenNameOjb.getObject());
                Map<SubjectDnAttribute, String> subjectAttributes = getSubjectAttributes(nameSeq);
                tsData.setIssuerDnMap(subjectAttributes);
            }

        } catch (Exception e) {
        }

    } catch (IOException | ParseException ex) {
        Logger.getLogger(PdfBoxSigUtil.class.getName()).warning(ex.getMessage());
    }

    return tsData;

}

From source file:support.revocation.RevocationInfo.java

License:Apache License

/**
 * @return the URI for the given name if the name represents a URI,
 * otherwise <code>null</code>
 * @param name/*ww  w  .  j a  va 2 s  .c  om*/
 */
private static String urlFromGeneralName(GeneralName name) {
    if (name.getTagNo() == GeneralName.uniformResourceIdentifier)
        return ((ASN1String) name.getName()).getString();
    return null;
}