< prev index next >

src/java.base/share/classes/sun/security/pkcs/SignerInfo.java

Print this page




 220     /*
 221      * Returns the (user) certificate pertaining to this SignerInfo.
 222      */
 223     public X509Certificate getCertificate(PKCS7 block)
 224         throws IOException
 225     {
 226         return block.getCertificate(certificateSerialNumber, issuerName);
 227     }
 228 
 229     /*
 230      * Returns the certificate chain pertaining to this SignerInfo.
 231      */
 232     public ArrayList<X509Certificate> getCertificateChain(PKCS7 block)
 233         throws IOException
 234     {
 235         X509Certificate userCert;
 236         userCert = block.getCertificate(certificateSerialNumber, issuerName);
 237         if (userCert == null)
 238             return null;
 239 
 240         ArrayList<X509Certificate> certList = new ArrayList<X509Certificate>();
 241         certList.add(userCert);
 242 
 243         X509Certificate[] pkcsCerts = block.getCertificates();
 244         if (pkcsCerts == null
 245             || userCert.getSubjectDN().equals(userCert.getIssuerDN())) {
 246             return certList;
 247         }
 248 
 249         Principal issuer = userCert.getIssuerDN();
 250         int start = 0;
 251         while (true) {
 252             boolean match = false;
 253             int i = start;
 254             while (i < pkcsCerts.length) {
 255                 if (issuer.equals(pkcsCerts[i].getSubjectDN())) {
 256                     // next cert in chain found
 257                     certList.add(pkcsCerts[i]);
 258                     // if selected cert is self-signed, we're done
 259                     // constructing the chain
 260                     if (pkcsCerts[i].getSubjectDN().equals(




 220     /*
 221      * Returns the (user) certificate pertaining to this SignerInfo.
 222      */
 223     public X509Certificate getCertificate(PKCS7 block)
 224         throws IOException
 225     {
 226         return block.getCertificate(certificateSerialNumber, issuerName);
 227     }
 228 
 229     /*
 230      * Returns the certificate chain pertaining to this SignerInfo.
 231      */
 232     public ArrayList<X509Certificate> getCertificateChain(PKCS7 block)
 233         throws IOException
 234     {
 235         X509Certificate userCert;
 236         userCert = block.getCertificate(certificateSerialNumber, issuerName);
 237         if (userCert == null)
 238             return null;
 239 
 240         ArrayList<X509Certificate> certList = new ArrayList<>();
 241         certList.add(userCert);
 242 
 243         X509Certificate[] pkcsCerts = block.getCertificates();
 244         if (pkcsCerts == null
 245             || userCert.getSubjectDN().equals(userCert.getIssuerDN())) {
 246             return certList;
 247         }
 248 
 249         Principal issuer = userCert.getIssuerDN();
 250         int start = 0;
 251         while (true) {
 252             boolean match = false;
 253             int i = start;
 254             while (i < pkcsCerts.length) {
 255                 if (issuer.equals(pkcsCerts[i].getSubjectDN())) {
 256                     // next cert in chain found
 257                     certList.add(pkcsCerts[i]);
 258                     // if selected cert is self-signed, we're done
 259                     // constructing the chain
 260                     if (pkcsCerts[i].getSubjectDN().equals(


< prev index next >