Example usage for javax.security.auth.x500 X500Principal X500Principal

List of usage examples for javax.security.auth.x500 X500Principal X500Principal

Introduction

In this page you can find the example usage for javax.security.auth.x500 X500Principal X500Principal.

Prototype

public X500Principal(InputStream is) 

Source Link

Document

Creates an X500Principal from an InputStream containing the distinguished name in ASN.1 DER encoded form.

Usage

From source file:MainClass.java

public static PKCS10CertificationRequest generateRequest(KeyPair pair) throws Exception {
    return new PKCS10CertificationRequest("SHA256withRSA", new X500Principal("CN=Requested Test Certificate"),
            pair.getPublic(), null, pair.getPrivate());
}

From source file:Main.java

private static boolean isDebugCertificateCheck(final Context context) {
    final X500Principal DEBUG_CERTIFICATE_DN = new X500Principal("CN=Android Debug,O=Android,C=US");
    boolean debuggable = false;

    try {/*from w ww  .ja v a2  s  .  c  o m*/
        Signature[] signatures = getSignatures(context);

        for (int i = 0; i < signatures.length; i++) {
            X509Certificate certificate = generateX509CertificateFromSignature(signatures[i]);
            debuggable = certificate.getSubjectX500Principal().equals(DEBUG_CERTIFICATE_DN);
            if (debuggable) {
                break;
            }
        }
    } catch (PackageManager.NameNotFoundException e) {
        // package not found - debuggable = false
    } catch (CertificateException e) {
        // certificate factory non-instantiable - debuggable = false
    }
    return debuggable;
}

From source file:Main.java

@SuppressLint("NewApi")
public static KeyPair generateRsaPairWithGenerator(Context ctx, String alais)
        throws InvalidAlgorithmParameterException, NoSuchProviderException, NoSuchAlgorithmException {
    Calendar notBefore = Calendar.getInstance();
    Calendar notAfter = Calendar.getInstance();
    notAfter.add(1, Calendar.YEAR);
    KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(ctx).setAlias(alais)
            .setSubject(new X500Principal(String.format("CN=%s, OU=%s", alais, ctx.getPackageName())))
            .setSerialNumber(BigInteger.ONE).setStartDate(notBefore.getTime()).setEndDate(notAfter.getTime())
            .build();// w  w w. j  a  v a 2  s.c o m

    KeyPairGenerator kpGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
    kpGenerator.initialize(spec);
    KeyPair kp = kpGenerator.generateKeyPair();

    return kp;
}

From source file:Main.java

public static String convertLegacyToRFC2253(String dn) {
    int i = dn.toLowerCase().indexOf(" e=");
    if (i < 0)
        i = dn.toLowerCase().indexOf(",e=");
    if (i > 0) {
        dn = dn.substring(0, ++i) + "EMAILADDRESS" + dn.substring(++i);
    }//from  ww w  . j a  va  2  s .co m
    return new X500Principal(dn).getName(X500Principal.RFC2253);
}

From source file:MainClass.java

public static X509Certificate generateV3Certificate(KeyPair pair)
        throws InvalidKeyException, NoSuchProviderException, SignatureException {
    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

    X509V3CertificateGenerator certGen = new X509V3CertificateGenerator();

    certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
    certGen.setIssuerDN(new X500Principal("CN=Test Certificate"));
    certGen.setNotBefore(new Date(System.currentTimeMillis() - 10000));
    certGen.setNotAfter(new Date(System.currentTimeMillis() + 10000));
    certGen.setSubjectDN(new X500Principal("CN=Test Certificate"));
    certGen.setPublicKey(pair.getPublic());
    certGen.setSignatureAlgorithm("SHA256WithRSAEncryption");

    certGen.addExtension(X509Extensions.BasicConstraints, true, new BasicConstraints(false));
    certGen.addExtension(X509Extensions.KeyUsage, true,
            new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyEncipherment));
    certGen.addExtension(X509Extensions.ExtendedKeyUsage, true,
            new ExtendedKeyUsage(KeyPurposeId.id_kp_serverAuth));

    certGen.addExtension(X509Extensions.SubjectAlternativeName, false,
            new GeneralNames(new GeneralName(GeneralName.rfc822Name, "test@test.test")));

    return certGen.generateX509Certificate(pair.getPrivate(), "BC");
}

From source file:MainClass.java

public static PKCS10CertificationRequest generateRequest(KeyPair pair) throws Exception {
    GeneralNames subjectAltName = new GeneralNames(new GeneralName(GeneralName.rfc822Name, "test@test.test"));
    Vector oids = new Vector();
    Vector values = new Vector();

    oids.add(X509Extensions.SubjectAlternativeName);
    values.add(new X509Extension(false, new DEROctetString(subjectAltName)));

    X509Extensions extensions = new X509Extensions(oids, values);

    Attribute attribute = new Attribute(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest,
            new DERSet(extensions));

    return new PKCS10CertificationRequest("SHA256withRSA", new X500Principal("CN=Requested Test Certificate"),
            pair.getPublic(), new DERSet(attribute), pair.getPrivate());
}

From source file:Main.java

private static boolean isDebugCertificateCheck(final Context context) {
    final X500Principal DEBUG_CERTIFICATE_DN = new X500Principal("CN=Android Debug,O=Android,C=US");
    boolean debuggable = false;

    try {/* ww w.j ava 2  s  .  com*/
        Signature[] signatures = getSignatures(context);

        for (int i = 0; i < signatures.length; i++) {
            X509Certificate certificate = generateX509CertificateFromSignature(signatures[i]);
            debuggable = certificate.getSubjectX500Principal().equals(DEBUG_CERTIFICATE_DN);
            if (debuggable) {
                return true;
            }
        }
    } catch (PackageManager.NameNotFoundException e) {
        // package not found - debuggable = false
    } catch (CertificateException e) {
        // certificate factory non-instantiable - debuggable = false
    }
    return false;
}

From source file:MainClass.java

public static X509Certificate generateV1Certificate(KeyPair pair)
        throws InvalidKeyException, NoSuchProviderException, SignatureException {
    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
    X509V1CertificateGenerator certGen = new X509V1CertificateGenerator();

    certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
    certGen.setIssuerDN(new X500Principal("CN=Test Certificate"));
    certGen.setNotBefore(new Date(System.currentTimeMillis() - 10000));
    certGen.setNotAfter(new Date(System.currentTimeMillis() + 10000));
    certGen.setSubjectDN(new X500Principal("CN=Test Certificate"));
    certGen.setPublicKey(pair.getPublic());
    certGen.setSignatureAlgorithm("SHA256WithRSAEncryption");

    return certGen.generateX509Certificate(pair.getPrivate(), "BC");
}

From source file:org.apache.cxf.sts.claims.LdapUtils.java

public static boolean isDN(String user) {
    try {//from ww w.j  a  v  a2  s  .  co  m
        new X500Principal(user);
        return true;
        //Principal contains a DN -> ldap.lookup
    } catch (Exception ex) {
        //Principal does not contain a DN -> ldap.search
        return false;
    }
}

From source file:test.unit.be.fedict.eid.dss.SignatureVerificationServiceBeanTest.java

@Test
public void testExtractSerialNumberFromDN() throws Exception {
    String dn = "SERIALNUMBER=71715100070, GIVENNAME=Alice Geldigekaart2266, SURNAME=SPECIMEN, CN=Alice SPECIMEN (Authentication), C=BE";
    X500Principal principal = new X500Principal(dn);
    LOG.debug("principal: " + principal);
}