Jump to content
Sign in to follow this  
Flavio Amorim

Executar comandos openssl apartir do java

Recommended Posts

Flavio Amorim

Boas pessoal, alguém pode ajudar com este problema!

Estou a tentar  criar um programa para criar uma autoridade de certificação de certificados x509, mas pretendia utilizar o openssl para gerar os certificados. E assim estou a tentar executar comandos a partir do java. Mas estou com um problema, quando crio o certificado é preciso preencher um pequeno formulário e não estou a conseguir fazer isso.

documentação sobre certificados: http://www.g-loaded.eu/2005/11/10/be-your-own-ca/

aqui vai o código

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author 
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        try {
           Runtime rt = Runtime.getRuntime();

                        // Executando comando OpenSSL
                Process pr = rt.exec("mkdir -m 0755 CA");
                        rt.exec("mkdir -m 0755 CA/myCA CA/private CA/certs CA/newcerts CA/crl");
                        rt.exec("cp openssl.my.cnf CA/");
                        rt.exec("chmod 0600 CA/openssl.my.cnf");
                        rt.exec("touch CA/index.txt");
                        rt.exec(new String[]{"/bin/sh", "-c", "echo '01' > CA/serial"});


                        rt.exec("openssl req -config CA/openssl.my.cnf -new -x509 -extensions v3_ca -keyout CA/private/cakey.pem -out CA/certs/cacert.pem -days 1825");
                        
          
                        rt.exec("teste");             
                        rt.exec("teste");
                        rt.exec("pt");
                        rt.exec("braga");
                        rt.exec("barcelos");
                        rt.exec("ubi");
                        rt.exec("di");
                        rt.exec("Flavio Amorim");
                        rt.exec("teste@gmail.com");

        } catch (IOException e) {
        }
    }
}

o problema começa neste comando

 rt.exec("openssl req -config CA/openssl.my.cnf -new -x509 -extensions v3_ca -keyout CA/private/cakey.pem -out CA/certs/cacert.pem -days 1825");

depois de fazer este comando é preciso preciso preencher todos os campos necessários para o certificado

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.