Criando Autoridades Certificadores e Certificados de Testes no Linux

Script Linux destinado à criação de Cadeias de Autoridades Certificadores semelhantes às da ICP-Brasil. O script permite também criar Certificados de Testes para usuários, geração de Listas de Certificados Revogados e Assinatura de Certificados criados por meio de qualquer aplicação ou website.

[ Hits: 92.066 ]

Por: Larry Ramos em 12/09/2008


Revogando um certificado de usuário



Digite os comandos:

# cd /opt/openssl_certs
# ./Criar_Certificados.sh


A seguinte tela será exibida:

Script para Criação de ACs e Certificados de Usuários

Lembrete: A senha das chaves privadas fica gravada no arquivo ./pass e é 'caixa'

Escolha a opção desejada:
  1. Para criar Nova Cadeia de AC
  2. Para Certificados de Usuários
  3. Para atualizar uma LCR
  4. Para revogar um certificado
  5. Mostrar as Cadeias existentes

Digite: 4 <Enter>

Informe o nome do diretório da AC para ver os certificados disponíveis:

Digite: AC_TESTE

O programa exibirá o DN de todos os certificados emitidos pela AC LINUX BRASIL.

0 - Subject: C=BR,O=ICP-Brasil,OU=AC Linux,OU=AC LINUX BRASIL,CN=LARRY RAMOS:30030030030
1 - Subject: C=BR,O=ICP-Brasil,OU=AC Linux,OU=AC LINUX BRASIL,CN=LARRY RAMOS:30030030030

Digite o número do certificado a revogar:

Digite o número do certificado a ser revogado e pressione <ENTER>.

Será exibida tela confirmando a revogação:

Using configuration from ./ACs/AC_TESTE/conf_openssl_LINUX_BRASIL.cnf
Revoking Certificate 04.
Data Base Updated

Perceba que o programa mostra o número serial do certificado que foi revogado (no caso, 04).

Se você quiser verificar se o certificado foi realmente revogado, publique uma nova LCR (opção 3 do menu) e em seguida digite o comando:

# openssl crl -inform PEM -in ./Acs/AC_TESTE/crl/LINUX_BRASIL.pem.crl -text -noout

Procure, no resultado do comando, o trecho semelhante a:

Revoked Certificates:
    Serial Number: 03
        Revocation Date: Sep 10 03:28:12 2008 GMT
    Serial Number: 04
        Revocation Date: Sep 10 03:44:46 2008 GMT

Note que o Serial Number 04 está presente, indicando que o certificado foi, realmente, revogado e seu número adicionado à LCR.

Página anterior     Próxima página

Páginas do artigo
   1. Conceitos básicos
   2. Perguntas que ninguém teve tempo pra te responder
   3. Instalação do Software
   4. Criando uma nova estrutura de Autoridade Certificadora (AC)
   5. Criando certificados de usuários
   6. Criando certificados de aplicações e websites
   7. Atualizando a validade de uma LCR
   8. Revogando um certificado de usuário
   9. Verificado as cadeias existentes
   10. Comandos úteis do OpenSSL
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Relatório de sistema via browser (shell script + CGI)

ShellBot - Crie Bots para Telegram em Shell Script

Shell Script nosso de cada dia - Episódio 3

Extracttext - como extrair texto de uma área selecionada da tela

Kit de scripts para backup (Full + Diferencial + Samba + Rede)

  
Comentários
[1] Comentário enviado por grandmaster em 12/09/2008 - 21:05h

Ta bem legal. Mostrando passo a passo a coisa.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[2] Comentário enviado por larry.ramos em 16/09/2008 - 15:05h

Nota do autor: Segue o link para download do programa openssl_certs, citado no artigo:
http://www.go2linux.com.br/arquivos/openssl_certs.tar

Desculpem a falha!

Larry Ramos

[3] Comentário enviado por jefflee em 30/09/2008 - 13:09h

Olá Pessoal,

Excelente artigo, pois também mostra a importância e benefícios dos certificados digitais.

Jefferson Campos
GeoCert - http://www.rapidssl.com.br

[4] Comentário enviado por klebervirgilio em 10/02/2009 - 14:14h

Cara... não sei se aplica ao conteúdo deste artigo, mas talvez vc possa me ajudar!

Eu uso o Ubuntu 8.10, e tenho que acessar uma rede Wifi onde os administradores fornecem Certificados.cer para o acesso!

Minha pergunta é, como instalar o "*.cer" no Linux/Ubuntu ????

[5] Comentário enviado por larry.ramos em 12/02/2009 - 18:50h

Amigo, realmente esse item não é o meu forte, mas provavelmente você terá que fazer essa instalação usando o software gerenciador da rede Wifi (talvez o KNetwork Manager, que é o mais usado).
Larry

[6] Comentário enviado por naarea em 23/02/2011 - 14:08h

Por acaso alguem sabe aonde encontro uma fonte do http://www.go2linux.com.br/arquivos/openssl_certs.tar pois esse dominio já foi embora.

[7] Comentário enviado por larry.ramos em 26/04/2011 - 14:24h

Prezado naarea e demais interessados no Script referente a este artigo, segue o link do Script: http://code.google.com/p/certificacao-digital/downloads/detail?name=openssl_certs.tar.gz&can=2&q=

att,
Larry

[8] Comentário enviado por arianecf em 30/06/2011 - 17:07h

Caros, ao executar o script e criar uma nova cadeia de AC, várias mensagens de erro foram apresentadas. Alguém saberia dizer o problema?
Informe um nome para o diretorio da AC:
AC_Teste
awk: aviso: seqüência de escape `\/' tratada como `/' normal
awk: aviso: seqüência de escape `\/' tratada como `/' normal
awk: aviso: seqüência de escape `\/' tratada como `/' normal
sed: -e expressão #1, caractere 20: unknown option to `s'
sed: -e expressão #1, caractere 20: unknown option to `s'
sed: -e expressão #1, caractere 19: unknown option to `s'
sed: -e expressão #1, caractere 28: unknown option to `s'
Generating a 2048 bit RSA private key
................................................................................
................................................................................
...........................................................+++
...............................+++
writing new private key to './ACs/AC_Teste/private/ACRAIZ.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20660:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Error opening Certificate ./ACs/AC_Teste/certs/ACRAIZ.pem.cer
20661:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/ACRAIZ.pem.cer','r')
20661:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/ACRAIZ.der.cer
20662:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/ACRAIZ.der.cer','r')
20662:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
**** Assinatura do certificado da AC LINUX ****
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
Generating a 2048 bit RSA private key
.........................................................................+++
......+++
writing new private key to './ACs/AC_Teste/private/privada_LINUX.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20663:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
variable lookup failed for ca::default_ca
20666:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Error opening Certificate ./ACs/AC_Teste/certs/LINUX.pem.cer
20667:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX.pem.cer','r')
20667:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/LINUX.der.cer
20668:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX.der.cer','r')
20668:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
**** Assinatura do certificado da AC LINUX BRASIL ****
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
Generating a 2048 bit RSA private key
...............+++
.......+++
writing new private key to './ACs/AC_Teste/private/privada_LINUX_BRASIL.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20669:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
variable lookup failed for ca::default_ca
20670:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Error opening Certificate ./ACs/AC_Teste/certs/LINUX_BRASIL.pem.cer
20671:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX_BRASIL.pem.cer','r')
20671:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/LINUX_BRASIL.der.cer
20672:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX_BRASIL.der.cer','r')
20672:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Using configuration from ./ACs/AC_Teste/conf_openssl_ACRAIZ.conf
variable lookup failed for ca::default_ca
20673:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
variable lookup failed for ca::default_ca
20674:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
variable lookup failed for ca::default_ca
20675:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca

[9] Comentário enviado por manoel.junior em 11/12/2019 - 17:38h


[8] Comentário enviado por arianecf em 30/06/2011 - 17:07h

Caros, ao executar o script e criar uma nova cadeia de AC, várias mensagens de erro foram apresentadas. Alguém saberia dizer o problema?
Informe um nome para o diretorio da AC:
AC_Teste
awk: aviso: seqüência de escape `\/' tratada como `/' normal
awk: aviso: seqüência de escape `\/' tratada como `/' normal
awk: aviso: seqüência de escape `\/' tratada como `/' normal
sed: -e expressão #1, caractere 20: unknown option to `s'
sed: -e expressão #1, caractere 20: unknown option to `s'
sed: -e expressão #1, caractere 19: unknown option to `s'
sed: -e expressão #1, caractere 28: unknown option to `s'
Generating a 2048 bit RSA private key
................................................................................
................................................................................
...........................................................+++
...............................+++
writing new private key to './ACs/AC_Teste/private/ACRAIZ.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20660:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Error opening Certificate ./ACs/AC_Teste/certs/ACRAIZ.pem.cer
20661:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/ACRAIZ.pem.cer','r')
20661:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/ACRAIZ.der.cer
20662:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/ACRAIZ.der.cer','r')
20662:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
**** Assinatura do certificado da AC LINUX ****
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
Generating a 2048 bit RSA private key
.........................................................................+++
......+++
writing new private key to './ACs/AC_Teste/private/privada_LINUX.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20663:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
variable lookup failed for ca::default_ca
20666:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Error opening Certificate ./ACs/AC_Teste/certs/LINUX.pem.cer
20667:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX.pem.cer','r')
20667:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/LINUX.der.cer
20668:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX.der.cer','r')
20668:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
**** Assinatura do certificado da AC LINUX BRASIL ****
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
Generating a 2048 bit RSA private key
...............+++
.......+++
writing new private key to './ACs/AC_Teste/private/privada_LINUX_BRASIL.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
20669:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=req name=distinguished_name
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
variable lookup failed for ca::default_ca
20670:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Error opening Certificate ./ACs/AC_Teste/certs/LINUX_BRASIL.pem.cer
20671:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX_BRASIL.pem.cer','r')
20671:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Error opening Certificate ./ACs/AC_Teste/certs/LINUX_BRASIL.der.cer
20672:error:02001002:system library:fopen:No such file or directory:bss_file.c:3
52:fopen('./ACs/AC_Teste/certs/LINUX_BRASIL.der.cer','r')
20672:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load certificate
Using configuration from ./ACs/AC_Teste/conf_openssl_ACRAIZ.conf
variable lookup failed for ca::default_ca
20673:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX.conf
variable lookup failed for ca::default_ca
20674:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca
Using configuration from ./ACs/AC_Teste/conf_openssl_LINUX_BRASIL.conf
variable lookup failed for ca::default_ca
20675:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_
lib.c:329:group=ca name=default_ca



Peguei este erro e resolvi alterando de:

LCR_ACRAIZ=`echo ${LCR_ACRAIZ} | awk '{gsub("/","\/");printf"%s",$0}'`
LCR_LINUX=`echo ${LCR_LINUX} | awk '{gsub("/","\/");printf"%s",$0}'`
LCR_ACLINUX_BRASIL=`echo ${LCR_ACLINUX_BRASIL} | awk '{gsub("/","\/");printf"%s",$0}'`

Para:

LCR_ACRAIZ=`echo ${LCR_ACRAIZ} | awk '{gsub("/","\\\\/");printf"%s",$0}'`
LCR_LINUX=`echo ${LCR_LINUX} | awk '{gsub("/","\\\\/");printf"%s",$0}'`
LCR_ACLINUX_BRASIL=`echo ${LCR_ACLINUX_BRASIL} | awk '{gsub("/","\\\\/");printf"%s",$0}'`

[10] Comentário enviado por diihdayrel em 25/02/2020 - 19:20h

Alguém sabe como resolver este erro? [RESOLVIDO]



tznode@tznode:/opt/openssl_certs$ sudo su
root@tznode:/opt/openssl_certs# ls -al
total 52
drwxrwxrwx 3 root root 4096 fev 25 19:12 .
drwxr-xr-x 10 root root 4096 fev 25 19:12 ..
drwxrwxrwx 3 root root 4096 fev 25 19:12 ACs
-rwxrwxrwx 1 tznode tznode 2603 set 10 2008 conf_openssl_ACRAIZ_padrao.conf
-rwxrwxrwx 1 tznode tznode 2774 set 10 2008 conf_openssl_LINUX_BRASIL_padrao.conf
-rwxrwxrwx 1 tznode tznode 2547 set 10 2008 conf_openssl_LINUX_padrao.conf
-rwxrwxrwx 1 tznode tznode 3049 set 10 2008 conf_openssl_USER_LINUX_BRASIL_padrao.conf
-rwxrwxrwx 1 tznode tznode 18252 fev 25 19:10 Criar_Certificados.sh
-rwxrwxrwx 1 tznode tznode 12 set 10 2008 pass
root@tznode:/opt/openssl_certs# ./Criar_Certificados.sh
***********************************************************************
* Script para Criacao de ACs e Certificados de Usuarios *
***********************************************************************
Lembrete:
A senha das chaves privadas fica gravada no arquivo ./pass e eh 'linux'
-----------------------------------------------------------------------
Escolha a opcao desejada:
1 - Para criar Nova Cadeia de AC
2 - Para Certificados de Usuarios
3 - Para atualizar uma LCR
4 - Para revogar um certificado
5 - Mostrar as Cadeias existentes
1
./Criar_Certificados.sh: 20: [: 1: unexpected operator
./Criar_Certificados.sh: 162: [: 1: unexpected operator
./Criar_Certificados.sh: 240: [: 1: unexpected operator
./Criar_Certificados.sh: 307: [: 1: unexpected operator
./Criar_Certificados.sh: 348: [: 1: unexpected operator
root@tznode:/opt/openssl_certs#


Encontrei a resposta:
Problemas na execução do script e troca de operador == por =


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts