src/share/classes/sun/security/tools/keytool/Main.java

Print this page

        

@@ -61,21 +61,20 @@
 
 import java.security.cert.X509CRL;
 import java.security.cert.X509CRLEntry;
 import java.security.cert.X509CRLSelector;
 import javax.security.auth.x500.X500Principal;
-import sun.misc.BASE64Encoder;
+import java.util.Base64;
 import sun.security.util.ObjectIdentifier;
 import sun.security.pkcs10.PKCS10;
 import sun.security.pkcs10.PKCS10Attribute;
 import sun.security.provider.X509Factory;
 import sun.security.provider.certpath.CertStoreHelper;
 import sun.security.util.Password;
 import javax.crypto.KeyGenerator;
 import javax.crypto.SecretKey;
 
-import sun.misc.BASE64Decoder;
 import sun.security.pkcs.PKCS9Attribute;
 import sun.security.tools.KeyStoreUtil;
 import sun.security.tools.PathList;
 import sun.security.util.DerValue;
 import sun.security.x509.*;

@@ -354,10 +353,11 @@
 
             if (ksStream != null) {
                 ksStream.close();
             }
         }
+
     }
 
     /**
      * Parse command line arguments.
      */

@@ -553,10 +553,11 @@
 
     boolean isKeyStoreRelated(Command cmd) {
         return cmd != PRINTCERT && cmd != PRINTCERTREQ;
     }
 
+
     /**
      * Execute the commands.
      */
     void doCommands(PrintStream out) throws Exception {
 

@@ -1187,11 +1188,11 @@
                 break;
             } else if (canRead) {
                 sb.append(s);
             }
         }
-        byte[] rawReq = new BASE64Decoder().decodeBuffer(new String(sb));
+        byte[] rawReq = Base64.getMimeDecoder().decode(new String(sb));
         PKCS10 req = new PKCS10(rawReq);
 
         info.set(X509CertInfo.KEY, new CertificateX509Key(req.getSubjectPublicKeyInfo()));
         info.set(X509CertInfo.SUBJECT,
                     dname==null?req.getSubjectName():new X500Name(dname));

@@ -1264,11 +1265,12 @@
         }
         X509CRLImpl crl = new X509CRLImpl(owner, firstDate, lastDate, badCerts);
         crl.sign(privateKey, sigAlgName);
         if (rfc) {
             out.println("-----BEGIN X509 CRL-----");
-            new BASE64Encoder().encodeBuffer(crl.getEncodedInternal(), out);
+            String base64EncodedCrlString = Base64.getMimeEncoder().encodeToString(crl.getEncodedInternal());
+            out.println(base64EncodedCrlString);
             out.println("-----END X509 CRL-----");
         } else {
             out.write(crl.getEncodedInternal());
         }
     }

@@ -2146,11 +2148,12 @@
     private void printCRL(CRL crl, PrintStream out)
             throws Exception {
         if (rfc) {
             X509CRL xcrl = (X509CRL)crl;
             out.println("-----BEGIN X509 CRL-----");
-            new BASE64Encoder().encodeBuffer(xcrl.getEncoded(), out);
+            String base64EncodedCrlString = Base64.getMimeEncoder().encodeToString(xcrl.getEncoded());
+            out.println(base64EncodedCrlString);
             out.println("-----END X509 CRL-----");
         } else {
             out.println(crl.toString());
         }
     }

@@ -2173,11 +2176,11 @@
                     break;
                 }
                 sb.append(s);
             }
         }
-        PKCS10 req = new PKCS10(new BASE64Decoder().decodeBuffer(new String(sb)));
+        PKCS10 req = new PKCS10(Base64.getMimeDecoder().decode(new String(sb)));
 
         PublicKey pkey = req.getSubjectPublicKeyInfo();
         out.printf(rb.getString("PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key."),
                 req.getSubjectName(), pkey.getFormat(), pkey.getAlgorithm());
         for (PKCS10Attribute attr: req.getAttributes().getAttributes()) {

@@ -2225,12 +2228,14 @@
                 MessageFormat form = new MessageFormat
                         (rb.getString("Certificate.i.1."));
                 Object[] source = {new Integer(i + 1)};
                 out.println(form.format(source));
             }
-            if (rfc) dumpCert(x509Cert, out);
-            else printX509Cert(x509Cert, out);
+            if (rfc) 
+                dumpCert(x509Cert, out);
+            else 
+                printX509Cert(x509Cert, out);
             if (i < (certs.length-1)) {
                 out.println();
             }
         }
     }

@@ -2944,13 +2949,13 @@
      */
     private void dumpCert(Certificate cert, PrintStream out)
         throws IOException, CertificateException
     {
         if (rfc) {
-            BASE64Encoder encoder = new BASE64Encoder();
             out.println(X509Factory.BEGIN_CERT);
-            encoder.encodeBuffer(cert.getEncoded(), out);
+            String base64EncodedCertString = Base64.getMimeEncoder().encodeToString(cert.getEncoded());
+            out.println(base64EncodedCertString);
             out.println(X509Factory.END_CERT);
         } else {
             out.write(cert.getEncoded()); // binary
         }
     }