[Java lista] RSA kulcsos kódolás

Andras Dobrosi dobrosi at gmail.com
2006. Okt. 20., P, 12:11:40 CEST


JKS!!!!!!!!!!!!!!!!

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.security.Key;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.util.Enumeration;

public class KeystoreKeyImporter {

    public static void main(String[] args) throws Exception {

        if (args.length < 4) {
            System.out
                    .println("Usage: KeystoreKeyImporter <inputpkcs12.file>
<inputpkcs12.pass> <outputkeystore.file> <outputkeystore.pass>");
            return;
        }

        String pkcs12Location = args[0];
        String pkcs12Password = args[1];

        String keystoreLocation = args[2];
        String keystorePassword = args[3];

        // openssl pkcs12 -export -in test.crt -inkey test.key.nopass
        // -out test.pkcs12 -name test

        KeyStore kspkcs12 = KeyStore.getInstance("PKCS12");

        String alias = null;

        FileInputStream fis = new FileInputStream(pkcs12Location);
        kspkcs12.load(fis, pkcs12Password.toCharArray());
        if (kspkcs12.aliases().hasMoreElements()) {
            System.out.println("Has keys!");
            Enumeration aliases = kspkcs12.aliases();
            while (aliases.hasMoreElements()) {
                alias = (String) aliases.nextElement();
                System.out.println("Alias:" + alias);
                Key key = kspkcs12.getKey(alias, pkcs12Password.toCharArray
());
                if (key == null) {
                    System.out.println("No key found for alias: " + alias);
                    System.exit(0);
                }

                System.out.println("Key:" + key.getFormat());
                Certificate cert = kspkcs12.getCertificate(alias);
                if (cert == null) {
                    System.out.println("No certificate found for alias: "
                            + alias);
                    System.exit(0);
                }
                System.out.println("Cert:" + cert.getType());
            }
        } else {
            System.out.println("No keys!");
        }

        KeyStore ksjks = KeyStore.getInstance("JKS");
        ksjks.load(null, keystorePassword.toCharArray());
        Certificate c[] = kspkcs12.getCertificateChain(alias);
        Key key = kspkcs12.getKey(alias, pkcs12Password.toCharArray());

        ksjks.setKeyEntry(alias, key, keystorePassword.toCharArray(), c);
        ksjks.store(new FileOutputStream(keystoreLocation), keystorePassword
                .toCharArray());

        System.out.println("Created " + keystoreLocation);

    }

}

On 10/20/06, Olaj Péter <polaj at iqs.hu> wrote:
>
>
> > itt
> > www.javaalmanac.com
> >
> > keress rá az rsa -ra.
> >
> > hol akadtál el? mit tudtál eddig megcsinálni?
> >
> De igazából a .cert fájlt, mint publikus kulcsot tudtam használni az
> eredeti változatban is, lekódolni sikerült a cuccot, csak a privát
> kulcsot nem tudtam sehogy működésre bírni: InvalidKeyException: invalid
> key format.
>
> Péter
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20061020/47f2f84c/attachment-0001.html 


További információk a(z) Javalist levelezőlistáról