Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Flavio Amorim

Executar comandos openssl apartir do java

Mensagens Recomendadas

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.