當前位置: 首頁>>代碼示例>>Java>>正文


Java Certificate.getEncoded方法代碼示例

本文整理匯總了Java中java.security.cert.Certificate.getEncoded方法的典型用法代碼示例。如果您正苦於以下問題:Java Certificate.getEncoded方法的具體用法?Java Certificate.getEncoded怎麽用?Java Certificate.getEncoded使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.security.cert.Certificate的用法示例。


在下文中一共展示了Certificate.getEncoded方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getFingerprint

import java.security.cert.Certificate; //導入方法依賴的package包/類
public static String getFingerprint(Certificate certificate)
{
    if (certificate == null)
    {
        return "NO VALID CERTIFICATE FOUND";
    }
    try
    {
        MessageDigest md = MessageDigest.getInstance("SHA-1");
        byte[] der = certificate.getEncoded();
        md.update(der);
        byte[] digest = md.digest();
        return hexify(digest);
    }
    catch (Exception e)
    {
        return null;
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:20,代碼來源:CertificateHelper.java

示例2: encodeCertificate

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void encodeCertificate(
    Certificate         cert,
    DataOutputStream    dOut)
    throws IOException
{
    try
    {
        byte[]      cEnc = cert.getEncoded();

        dOut.writeUTF(cert.getType());
        dOut.writeInt(cEnc.length);
        dOut.write(cEnc);
    }
    catch (CertificateEncodingException ex)
    {
        throw new IOException(ex.toString());
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:19,代碼來源:BcKeyStoreSpi.java

示例3: writeCertArray

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void writeCertArray(Writer writer, Certificate[] certificates) throws IOException {
  if (certificates == null) {
    writer.write("-1\n");
    return;
  }
  try {
    writer.write(Integer.toString(certificates.length) + '\n');
    for (Certificate certificate : certificates) {
      byte[] bytes = certificate.getEncoded();
      String line = Base64.encode(bytes);
      writer.write(line + '\n');
    }
  } catch (CertificateEncodingException e) {
    throw new IOException(e.getMessage());
  }
}
 
開發者ID:aabognah,項目名稱:LoRaWAN-Smart-Parking,代碼行數:17,代碼來源:HttpResponseCache.java

示例4: createSignatureSerializableObjects

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void createSignatureSerializableObjects(Set<Certificate> certs) {
	for(Certificate cert : certs) {
		try {
			SignatureSerializableObject sso = new SignatureSerializableObject(cert.getEncoded());
			certificates.add(sso);
		}catch(Exception ex) {
			LoggerHelper.logEvent(MyLevel.EXCEPTION_ANALYSIS, ex.getMessage());
			ex.printStackTrace();
			System.exit(0);
		}
	}
}
 
開發者ID:srasthofer,項目名稱:FuzzDroid,代碼行數:13,代碼來源:AntiIntegrityCheckFuzzyAnalysis.java

示例5: writeCert

import java.security.cert.Certificate; //導入方法依賴的package包/類
private static void writeCert(DataOutputStream dout, Certificate cert)
    throws IOException, CertificateException
{
    dout.writeUTF(cert.getType());
    byte[] b = cert.getEncoded();
    dout.writeInt(b.length);
    dout.write(b);
}
 
開發者ID:uhuru-mobile,項目名稱:mobile-store,代碼行數:9,代碼來源:JKS.java

示例6: equals

import java.security.cert.Certificate; //導入方法依賴的package包/類
public boolean equals(
    Object o)
{
    if (o == this)
    {
        return true;
    }

    if (!(o instanceof Certificate))
    {
        return false;
    }

    Certificate other = (Certificate)o;

    try
    {
        byte[] b1 = this.getEncoded();
        byte[] b2 = other.getEncoded();

        return Arrays.areEqual(b1, b2);
    }
    catch (CertificateEncodingException e)
    {
        return false;
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:28,代碼來源:X509CertificateObject.java

示例7: addCertificateToKeychain

import java.security.cert.Certificate; //導入方法依賴的package包/類
private long addCertificateToKeychain(String alias, Certificate cert) {
    byte[] certblob = null;
    long returnValue = 0;

    try {
        certblob = cert.getEncoded();
        returnValue = _addItemToKeychain(alias, true, certblob, null);
    } catch (Exception e) {
        e.printStackTrace();
    }

    return returnValue;
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:14,代碼來源:KeychainStore.java

示例8: getCertFingerPrint

import java.security.cert.Certificate; //導入方法依賴的package包/類
/**
 * Gets the requested finger print of the certificate.
 */
private String getCertFingerPrint(String mdAlg, Certificate cert)
    throws Exception
{
    byte[] encCertInfo = cert.getEncoded();
    MessageDigest md = MessageDigest.getInstance(mdAlg);
    byte[] digest = md.digest(encCertInfo);
    return toHexString(digest);
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:12,代碼來源:Main.java

示例9: resolveX509Certificate

import java.security.cert.Certificate; //導入方法依賴的package包/類
private PrivateKey resolveX509Certificate(
    XMLX509Certificate x509Cert
) throws XMLSecurityException, KeyStoreException {
    log.log(java.util.logging.Level.FINE, "Can I resolve X509Certificate?");
    byte[] x509CertBytes = x509Cert.getCertificateBytes();

    Enumeration<String> aliases = keyStore.aliases();
    while (aliases.hasMoreElements()) {
        String alias = aliases.nextElement();
        if (keyStore.isKeyEntry(alias)) {

            Certificate cert = keyStore.getCertificate(alias);
            if (cert instanceof X509Certificate) {
                byte[] certBytes = null;

                try {
                    certBytes = cert.getEncoded();
                } catch (CertificateEncodingException e1) {
                }

                if (certBytes != null && Arrays.equals(certBytes, x509CertBytes)) {
                    log.log(java.util.logging.Level.FINE, "match !!! ");

                    try {
                        Key key = keyStore.getKey(alias, password);
                        if (key instanceof PrivateKey) {
                            return (PrivateKey) key;
                        }
                    }
                    catch (Exception e) {
                        log.log(java.util.logging.Level.FINE, "Cannot recover the key", e);
                        // Keep searching
                    }
                }
            }
        }
    }

    return null;
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:41,代碼來源:PrivateKeyResolver.java

示例10: main

import java.security.cert.Certificate; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
    int n = 500000;
    String ks = System.getProperty("test.src", ".")
            + "/../../ssl/etc/keystore";
    String pass = "passphrase";
    String alias = "dummy";

    KeyStore keyStore = KeyStore.getInstance("JKS");
    keyStore.load(new FileInputStream(ks), pass.toCharArray());
    Certificate signerCert = keyStore.getCertificate(alias);
    byte[] encoded = signerCert.getEncoded();
    X509CertImpl signerCertImpl = new X509CertImpl(encoded);
    X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
            X509CertImpl.NAME + "." + X509CertImpl.INFO);
    X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "."
            + X509CertInfo.DN_NAME);

    Date date = new Date();
    PrivateKey privateKey = (PrivateKey)
            keyStore.getKey(alias, pass.toCharArray());
    String sigAlgName = signerCertImpl.getSigAlgOID();

    X509CRLEntry[] badCerts = new X509CRLEntry[n];
    CRLExtensions ext = new CRLExtensions();
    ext.set("Reason", new CRLReasonCodeExtension(1));
    for (int i = 0; i < n; i++) {
        badCerts[i] = new X509CRLEntryImpl(
                BigInteger.valueOf(i), date, ext);
    }
    X509CRLImpl crl = new X509CRLImpl(owner, date, date, badCerts);
    crl.sign(privateKey, sigAlgName);
    byte[] data = crl.getEncodedInternal();

    // Make sure the CRL is big enough
    if ((data[1]&0xff) != 0x84) {
        throw new Exception("The file should be big enough?");
    }

    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    cf.generateCRL(new ByteArrayInputStream(data));
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:42,代碼來源:BigCRL.java

示例11: getSslSocketFactory

import java.security.cert.Certificate; //導入方法依賴的package包/類
/**
 * @param context   上下文
 * @param bksFileId "XXX.bks"文件(文件位置res/raw/XXX.bks)
 * @param password  The certificate's password.
 * @return SSLParams
 */
public static SSLParams getSslSocketFactory(Context context, @RawRes int bksFileId, String password, String alias) {
    if (context == null) {
        throw new NullPointerException("context == null");
    }
    if (TextUtils.isEmpty(password) || TextUtils.isEmpty(alias)) {
        throw new NullPointerException("password == null or alias == null!");
    }
    SSLParams sslParams = new SSLParams();
    try {
        // 創建一個BKS類型的KeyStore,存儲我們信任的證書
        KeyStore clientKeyStore = KeyStore.getInstance("BKS");
        clientKeyStore.load(context.getResources().openRawResource(bksFileId), password.toCharArray());
        //通過alias直接從密鑰庫中讀取證書
        Certificate rootCA = clientKeyStore.getCertificate(alias);
        // Turn it to X509 format.
        InputStream certInput = new ByteArrayInputStream(rootCA.getEncoded());
        X509Certificate serverCert = (X509Certificate) CertificateFactory.getInstance("X.509").generateCertificate(certInput);
        //關閉流
        CloseUtils.closeIO(certInput);

        TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
        //用我們之前的keyStore實例初始化TrustManagerFactory,這樣trustManagerFactory就會信任keyStore中的證書
        trustManagerFactory.init(clientKeyStore);

        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyManagerFactory.init(clientKeyStore, password.toCharArray());

        X509TrustManager x509TrustManager = new SafeTrustManager(serverCert);

        //創建TLS類型的SSLContext對象,that uses our TrustManager
        SSLContext sslContext = SSLContext.getInstance("TLS");

        //用上麵得到的trustManagers初始化SSLContext,這樣sslContext就會信任keyStore中的證書
        sslContext.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), new SecureRandom());

        //Android 4.X 對TLS1.1、TLS1.2的支持
        sslParams.sSLSocketFactory = new Tls12SocketFactory(sslContext.getSocketFactory());
        sslParams.trustManager = x509TrustManager;
        return sslParams;
    } catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException | UnrecoverableKeyException | IOException | CertificateException e) {
        throw new AssertionError(e);
    }
}
 
開發者ID:guiying712,項目名稱:AndroidModulePattern,代碼行數:50,代碼來源:HttpsUtils.java

示例12: doGenCRL

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void doGenCRL(PrintStream out)
        throws Exception {
    if (ids == null) {
        throw new Exception("Must provide -id when -gencrl");
    }
    Certificate signerCert = keyStore.getCertificate(alias);
    byte[] encoded = signerCert.getEncoded();
    X509CertImpl signerCertImpl = new X509CertImpl(encoded);
    X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
            X509CertImpl.NAME + "." + X509CertImpl.INFO);
    X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
                                                  X509CertInfo.DN_NAME);

    Date firstDate = getStartDate(startDate);
    Date lastDate = (Date) firstDate.clone();
    lastDate.setTime(lastDate.getTime() + validity*1000*24*60*60);
    CertificateValidity interval = new CertificateValidity(firstDate,
                                                           lastDate);


    PrivateKey privateKey =
            (PrivateKey)recoverKey(alias, storePass, keyPass).fst;
    if (sigAlgName == null) {
        sigAlgName = getCompatibleSigAlgName(privateKey.getAlgorithm());
    }

    X509CRLEntry[] badCerts = new X509CRLEntry[ids.size()];
    for (int i=0; i<ids.size(); i++) {
        String id = ids.get(i);
        int d = id.indexOf(':');
        if (d >= 0) {
            CRLExtensions ext = new CRLExtensions();
            ext.set("Reason", new CRLReasonCodeExtension(Integer.parseInt(id.substring(d+1))));
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(id.substring(0, d)),
                    firstDate, ext);
        } else {
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(ids.get(i)), firstDate);
        }
    }
    X509CRLImpl crl = new X509CRLImpl(owner, firstDate, lastDate, badCerts);
    crl.sign(privateKey, sigAlgName);
    if (rfc) {
        out.println("-----BEGIN X509 CRL-----");
        out.println(Base64.getMimeEncoder().encodeToString(crl.getEncodedInternal()));
        out.println("-----END X509 CRL-----");
    } else {
        out.write(crl.getEncodedInternal());
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:50,代碼來源:Main.java

示例13: doGenCRL

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void doGenCRL(PrintStream out)
        throws Exception {
    if (ids == null) {
        throw new Exception("Must provide -id when -gencrl");
    }
    Certificate signerCert = keyStore.getCertificate(alias);
    byte[] encoded = signerCert.getEncoded();
    X509CertImpl signerCertImpl = new X509CertImpl(encoded);
    X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
            X509CertImpl.NAME + "." + X509CertImpl.INFO);
    X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
                                                  X509CertInfo.DN_NAME);

    Date firstDate = getStartDate(startDate);
    Date lastDate = (Date) firstDate.clone();
    lastDate.setTime(lastDate.getTime() + validity*1000*24*60*60);
    CertificateValidity interval = new CertificateValidity(firstDate,
                                                           lastDate);


    PrivateKey privateKey =
            (PrivateKey)recoverKey(alias, storePass, keyPass).fst;
    if (sigAlgName == null) {
        sigAlgName = getCompatibleSigAlgName(privateKey);
    }

    X509CRLEntry[] badCerts = new X509CRLEntry[ids.size()];
    for (int i=0; i<ids.size(); i++) {
        String id = ids.get(i);
        int d = id.indexOf(':');
        if (d >= 0) {
            CRLExtensions ext = new CRLExtensions();
            ext.set("Reason", new CRLReasonCodeExtension(Integer.parseInt(id.substring(d+1))));
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(id.substring(0, d)),
                    firstDate, ext);
        } else {
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(ids.get(i)), firstDate);
        }
    }
    X509CRLImpl crl = new X509CRLImpl(owner, firstDate, lastDate, badCerts);
    crl.sign(privateKey, sigAlgName);
    if (rfc) {
        out.println("-----BEGIN X509 CRL-----");
        out.println(Base64.getMimeEncoder(64, CRLF).encodeToString(crl.getEncodedInternal()));
        out.println("-----END X509 CRL-----");
    } else {
        out.write(crl.getEncodedInternal());
    }
    checkWeak(rb.getString("the.generated.crl"), crl, privateKey);
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:51,代碼來源:Main.java

示例14: doGenCRL

import java.security.cert.Certificate; //導入方法依賴的package包/類
private void doGenCRL(PrintStream out)
        throws Exception {
    if (ids == null) {
        throw new Exception("Must provide -id when -gencrl");
    }
    Certificate signerCert = keyStore.getCertificate(alias);
    byte[] encoded = signerCert.getEncoded();
    X509CertImpl signerCertImpl = new X509CertImpl(encoded);
    X509CertInfo signerCertInfo = (X509CertInfo)signerCertImpl.get(
            X509CertImpl.NAME + "." + X509CertImpl.INFO);
    X500Name owner = (X500Name)signerCertInfo.get(X509CertInfo.SUBJECT + "." +
                                                  X509CertInfo.DN_NAME);

    Date firstDate = getStartDate(startDate);
    Date lastDate = (Date) firstDate.clone();
    lastDate.setTime(lastDate.getTime() + validity*1000*24*60*60);
    CertificateValidity interval = new CertificateValidity(firstDate,
                                                           lastDate);


    PrivateKey privateKey =
            (PrivateKey)recoverKey(alias, storePass, keyPass).fst;
    if (sigAlgName == null) {
        sigAlgName = getCompatibleSigAlgName(privateKey.getAlgorithm());
    }

    X509CRLEntry[] badCerts = new X509CRLEntry[ids.size()];
    for (int i=0; i<ids.size(); i++) {
        String id = ids.get(i);
        int d = id.indexOf(':');
        if (d >= 0) {
            CRLExtensions ext = new CRLExtensions();
            ext.set("Reason", new CRLReasonCodeExtension(Integer.parseInt(id.substring(d+1))));
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(id.substring(0, d)),
                    firstDate, ext);
        } else {
            badCerts[i] = new X509CRLEntryImpl(new BigInteger(ids.get(i)), firstDate);
        }
    }
    X509CRLImpl crl = new X509CRLImpl(owner, firstDate, lastDate, badCerts);
    crl.sign(privateKey, sigAlgName);
    if (rfc) {
        out.println("-----BEGIN X509 CRL-----");
        out.println(Base64.getMimeEncoder(64, CRLF).encodeToString(crl.getEncodedInternal()));
        out.println("-----END X509 CRL-----");
    } else {
        out.write(crl.getEncodedInternal());
    }
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:50,代碼來源:Main.java


注:本文中的java.security.cert.Certificate.getEncoded方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。