<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSecurity%2FCertificate</id>
		<title>Java Tutorial/Security/Certificate - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSecurity%2FCertificate"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Certificate&amp;action=history"/>
		<updated>2026-04-19T07:02:54Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Certificate&amp;diff=4308&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Certificate&amp;diff=4308&amp;oldid=prev"/>
				<updated>2010-06-01T05:01:32Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:01, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Certificate&amp;diff=4307&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Certificate&amp;diff=4307&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Creating a Certificate in Java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.PrivateKey;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import sun.security.x509.AlgorithmId;&lt;br /&gt;
import sun.security.x509.CertificateAlgorithmId;&lt;br /&gt;
import sun.security.x509.CertificateIssuerName;&lt;br /&gt;
import sun.security.x509.CertificateSerialNumber;&lt;br /&gt;
import sun.security.x509.CertificateSubjectName;&lt;br /&gt;
import sun.security.x509.CertificateValidity;&lt;br /&gt;
import sun.security.x509.X500Name;&lt;br /&gt;
import sun.security.x509.X509CertImpl;&lt;br /&gt;
import sun.security.x509.X509CertInfo;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String keystoreFile = &amp;quot;keyStoreFile.bin&amp;quot;;&lt;br /&gt;
    String caAlias = &amp;quot;caAlias&amp;quot;;&lt;br /&gt;
    String certToSignAlias = &amp;quot;cert&amp;quot;;&lt;br /&gt;
    String newAlias = &amp;quot;newAlias&amp;quot;;&lt;br /&gt;
    char[] password = new char[]{&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;,&amp;quot;d&amp;quot;,&amp;quot;e&amp;quot;,&amp;quot;f&amp;quot;,&amp;quot;g&amp;quot;,&amp;quot;h&amp;quot;};&lt;br /&gt;
    char[] caPassword = new char[]{&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;,&amp;quot;d&amp;quot;,&amp;quot;e&amp;quot;,&amp;quot;f&amp;quot;,&amp;quot;g&amp;quot;,&amp;quot;h&amp;quot;};&lt;br /&gt;
    char[] certPassword = new char[]{&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;,&amp;quot;d&amp;quot;,&amp;quot;e&amp;quot;,&amp;quot;f&amp;quot;,&amp;quot;g&amp;quot;,&amp;quot;h&amp;quot;};&lt;br /&gt;
    FileInputStream input = new FileInputStream(keystoreFile);&lt;br /&gt;
    KeyStore keyStore = KeyStore.getInstance(&amp;quot;JKS&amp;quot;);&lt;br /&gt;
    keyStore.load(input, password);&lt;br /&gt;
    input.close();&lt;br /&gt;
    PrivateKey caPrivateKey = (PrivateKey) keyStore.getKey(caAlias, caPassword);&lt;br /&gt;
    java.security.cert.Certificate caCert = keyStore.getCertificate(caAlias);&lt;br /&gt;
    byte[] encoded = caCert.getEncoded();&lt;br /&gt;
    X509CertImpl caCertImpl = new X509CertImpl(encoded);&lt;br /&gt;
    X509CertInfo caCertInfo = (X509CertInfo) caCertImpl.get(X509CertImpl.NAME + &amp;quot;.&amp;quot;&lt;br /&gt;
        + X509CertImpl.INFO);&lt;br /&gt;
    X500Name issuer = (X500Name) caCertInfo.get(X509CertInfo.SUBJECT + &amp;quot;.&amp;quot;&lt;br /&gt;
        + CertificateIssuerName.DN_NAME);&lt;br /&gt;
    java.security.cert.Certificate cert = keyStore.getCertificate(certToSignAlias);&lt;br /&gt;
    PrivateKey privateKey = (PrivateKey) keyStore.getKey(certToSignAlias, certPassword);&lt;br /&gt;
    encoded = cert.getEncoded();&lt;br /&gt;
    X509CertImpl certImpl = new X509CertImpl(encoded);&lt;br /&gt;
    X509CertInfo certInfo = (X509CertInfo) certImpl&lt;br /&gt;
        .get(X509CertImpl.NAME + &amp;quot;.&amp;quot; + X509CertImpl.INFO);&lt;br /&gt;
    Date firstDate = new Date();&lt;br /&gt;
    Date lastDate = new Date(firstDate.getTime() + 365 * 24 * 60 * 60 * 1000L);&lt;br /&gt;
    CertificateValidity interval = new CertificateValidity(firstDate, lastDate);&lt;br /&gt;
    certInfo.set(X509CertInfo.VALIDITY, interval);&lt;br /&gt;
    certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(&lt;br /&gt;
        (int) (firstDate.getTime() / 1000)));&lt;br /&gt;
    certInfo.set(X509CertInfo.ISSUER + &amp;quot;.&amp;quot; + CertificateSubjectName.DN_NAME, issuer);&lt;br /&gt;
    AlgorithmId algorithm = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);&lt;br /&gt;
    certInfo.set(CertificateAlgorithmId.NAME + &amp;quot;.&amp;quot; + CertificateAlgorithmId.ALGORITHM, algorithm);&lt;br /&gt;
    X509CertImpl newCert = new X509CertImpl(certInfo);&lt;br /&gt;
    newCert.sign(caPrivateKey, &amp;quot;MD5WithRSA&amp;quot;);&lt;br /&gt;
    keyStore.setKeyEntry(newAlias, privateKey, certPassword,&lt;br /&gt;
        new java.security.cert.Certificate[] { newCert });&lt;br /&gt;
    FileOutputStream output = new FileOutputStream(keystoreFile);&lt;br /&gt;
    keyStore.store(output, password);&lt;br /&gt;
    output.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Exporting a Certificate to a File ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.OutputStreamWriter;&lt;br /&gt;
import java.io.Writer;&lt;br /&gt;
import java.nio.charset.Charset;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    FileInputStream is = new FileInputStream(&amp;quot;your.keystore&amp;quot;);&lt;br /&gt;
    KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());&lt;br /&gt;
    keystore.load(is, &amp;quot;my-keystore-password&amp;quot;.toCharArray());&lt;br /&gt;
    String alias = &amp;quot;myalias&amp;quot;;&lt;br /&gt;
    Certificate cert = keystore.getCertificate(alias);&lt;br /&gt;
    File file = null;&lt;br /&gt;
    byte[] buf = cert.getEncoded();&lt;br /&gt;
    FileOutputStream os = new FileOutputStream(file);&lt;br /&gt;
    os.write(buf);&lt;br /&gt;
    os.close();&lt;br /&gt;
    Writer wr = new OutputStreamWriter(os, Charset.forName(&amp;quot;UTF-8&amp;quot;));&lt;br /&gt;
    wr.write(new sun.misc.BASE64Encoder().encode(buf));&lt;br /&gt;
    wr.flush();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Generate X.509 certificate ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.security.cert.CertPath;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
import java.security.cert.CertificateFactory;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    CertificateFactory cf = CertificateFactory.getInstance(&amp;quot;X.509&amp;quot;);&lt;br /&gt;
    List mylist = new ArrayList();&lt;br /&gt;
    for (int i = 0; i &amp;lt; args.length; i++) {&lt;br /&gt;
      FileInputStream in = new FileInputStream(args[i]);&lt;br /&gt;
      Certificate c = cf.generateCertificate(in);&lt;br /&gt;
      mylist.add(c);&lt;br /&gt;
    }&lt;br /&gt;
    CertPath cp = cf.generateCertPath(mylist);&lt;br /&gt;
    System.out.println(cp);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Import certificate ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.PrivateKey;&lt;br /&gt;
import java.security.cert.CertificateFactory;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    String cacert = &amp;quot;mytest.cer&amp;quot;;&lt;br /&gt;
    String lfcert = &amp;quot;lf_signed.cer&amp;quot;;&lt;br /&gt;
    String lfstore = &amp;quot;lfkeystore&amp;quot;;&lt;br /&gt;
    char[] lfstorepass = &amp;quot;wshr.ut&amp;quot;.toCharArray();&lt;br /&gt;
    char[] lfkeypass = &amp;quot;wshr.ut&amp;quot;.toCharArray();&lt;br /&gt;
    CertificateFactory cf = CertificateFactory.getInstance(&amp;quot;X.509&amp;quot;);&lt;br /&gt;
    FileInputStream in1 = new FileInputStream(cacert);&lt;br /&gt;
    java.security.cert.Certificate cac = cf.generateCertificate(in1);&lt;br /&gt;
    in1.close();&lt;br /&gt;
    FileInputStream in2 = new FileInputStream(lfcert);&lt;br /&gt;
    java.security.cert.Certificate lfc = cf.generateCertificate(in2);&lt;br /&gt;
    in2.close();&lt;br /&gt;
    java.security.cert.Certificate[] cchain = { lfc, cac };&lt;br /&gt;
    FileInputStream in3 = new FileInputStream(lfstore);&lt;br /&gt;
    KeyStore ks = KeyStore.getInstance(&amp;quot;JKS&amp;quot;);&lt;br /&gt;
    ks.load(in3, lfstorepass);&lt;br /&gt;
    PrivateKey prk = (PrivateKey) ks.getKey(&amp;quot;lf&amp;quot;, lfkeypass);&lt;br /&gt;
    ks.setKeyEntry(&amp;quot;lf_signed&amp;quot;, prk, lfstorepass, cchain);&lt;br /&gt;
    FileOutputStream out4 = new FileOutputStream(&amp;quot;lfnewstore&amp;quot;);&lt;br /&gt;
    ks.store(out4, &amp;quot;newpass&amp;quot;.toCharArray());&lt;br /&gt;
    out4.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  KeyStore Example ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String keystoreFilename = &amp;quot;my.keystore&amp;quot;;&lt;br /&gt;
    char[] password = &amp;quot;password&amp;quot;.toCharArray();&lt;br /&gt;
    String alias = &amp;quot;alias&amp;quot;;&lt;br /&gt;
    FileInputStream fIn = new FileInputStream(keystoreFilename);&lt;br /&gt;
    KeyStore keystore = KeyStore.getInstance(&amp;quot;JKS&amp;quot;);&lt;br /&gt;
    keystore.load(fIn, password);&lt;br /&gt;
    Certificate cert = keystore.getCertificate(alias);&lt;br /&gt;
    System.out.println(cert);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store Certificate ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.cert.CertPath;&lt;br /&gt;
import java.security.cert.X509Certificate;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    FileInputStream f = new FileInputStream(&amp;quot;CertPath.dat&amp;quot;);&lt;br /&gt;
    ObjectInputStream b = new ObjectInputStream(f);&lt;br /&gt;
    CertPath cp = (CertPath) b.readObject();&lt;br /&gt;
    KeyStore ks = KeyStore.getInstance(&amp;quot;JKS&amp;quot;);&lt;br /&gt;
    ks.load(null, null);&lt;br /&gt;
    List cplist = cp.getCertificates();&lt;br /&gt;
    Object[] o = cplist.toArray();&lt;br /&gt;
    for (int i = 0; i &amp;lt; o.length; i++) {&lt;br /&gt;
      X509Certificate c = (X509Certificate) o[i];&lt;br /&gt;
      ks.setCertificateEntry(&amp;quot;my&amp;quot; + i, c);&lt;br /&gt;
    }&lt;br /&gt;
    FileOutputStream output = new FileOutputStream(&amp;quot;MyCertPathStore&amp;quot;);&lt;br /&gt;
    ks.store(output, &amp;quot;mypass&amp;quot;.toCharArray());&lt;br /&gt;
    output.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Certificates in Java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
import java.security.cert.CertificateFactory;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    CertificateFactory certFactory = CertificateFactory.getInstance(&amp;quot;X.509&amp;quot;);&lt;br /&gt;
    FileInputStream fis = new FileInputStream(&amp;quot;a.dat&amp;quot;);&lt;br /&gt;
    Certificate cert = certFactory.generateCertificate(fis);&lt;br /&gt;
    fis.close();&lt;br /&gt;
    System.out.println(cert);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Validate certificate ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.security.cert.CertPath;&lt;br /&gt;
import java.security.cert.CertPathValidator;&lt;br /&gt;
import java.security.cert.Certificate;&lt;br /&gt;
import java.security.cert.CertificateFactory;&lt;br /&gt;
import java.security.cert.PKIXCertPathValidatorResult;&lt;br /&gt;
import java.security.cert.PKIXParameters;&lt;br /&gt;
import java.security.cert.TrustAnchor;&lt;br /&gt;
import java.security.cert.X509Certificate;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Collections;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    CertificateFactory cf = CertificateFactory.getInstance(&amp;quot;X.509&amp;quot;);&lt;br /&gt;
    List mylist = new ArrayList();&lt;br /&gt;
    FileInputStream in = new FileInputStream(args[0]);&lt;br /&gt;
    Certificate c = cf.generateCertificate(in);&lt;br /&gt;
    mylist.add(c);&lt;br /&gt;
    CertPath cp = cf.generateCertPath(mylist);&lt;br /&gt;
    Certificate trust = cf.generateCertificate(in);&lt;br /&gt;
    TrustAnchor anchor = new TrustAnchor((X509Certificate) trust, null);&lt;br /&gt;
    PKIXParameters params = new PKIXParameters(Collections.singleton(anchor));&lt;br /&gt;
    params.setRevocationEnabled(false);&lt;br /&gt;
    CertPathValidator cpv = CertPathValidator.getInstance(&amp;quot;PKIX&amp;quot;);&lt;br /&gt;
    PKIXCertPathValidatorResult result = (PKIXCertPathValidatorResult) cpv.validate(cp, params);&lt;br /&gt;
    System.out.println(result);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Validating a Certification Path using the most-trusted CAs in the JDK&amp;quot;s cacerts file. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.security.KeyStore;&lt;br /&gt;
import java.security.cert.CertPath;&lt;br /&gt;
import java.security.cert.CertPathValidator;&lt;br /&gt;
import java.security.cert.CertPathValidatorResult;&lt;br /&gt;
import java.security.cert.PKIXCertPathValidatorResult;&lt;br /&gt;
import java.security.cert.PKIXParameters;&lt;br /&gt;
import java.security.cert.TrustAnchor;&lt;br /&gt;
import java.security.cert.X509Certificate;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    String filename = System.getProperty(&amp;quot;java.home&amp;quot;)&lt;br /&gt;
        + &amp;quot;/lib/security/cacerts&amp;quot;.replace(&amp;quot;/&amp;quot;, File.separatorChar);&lt;br /&gt;
    FileInputStream is = new FileInputStream(filename);&lt;br /&gt;
    KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());&lt;br /&gt;
    String password = &amp;quot;password&amp;quot;;&lt;br /&gt;
    keystore.load(is, password.toCharArray());&lt;br /&gt;
    PKIXParameters params = new PKIXParameters(keystore);&lt;br /&gt;
    params.setRevocationEnabled(false);&lt;br /&gt;
    CertPathValidator certPathValidator = CertPathValidator.getInstance(CertPathValidator&lt;br /&gt;
        .getDefaultType());&lt;br /&gt;
    CertPath certPath = null;&lt;br /&gt;
    CertPathValidatorResult result = certPathValidator.validate(certPath, params);&lt;br /&gt;
    PKIXCertPathValidatorResult pkixResult = (PKIXCertPathValidatorResult) result;&lt;br /&gt;
    TrustAnchor ta = pkixResult.getTrustAnchor();&lt;br /&gt;
    X509Certificate cert = ta.getTrustedCert();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>