GNU/Linux >> Linux Esercitazione >  >> Linux

Errore OpenCA Impossibile caricare il certificato dal database

Dopo aver installato OpenCA e aver emesso il certificato CA, facendo clic sul numero di serie del certificato CA viene visualizzato il seguente errore.

Error Code: 6295020 [initServer:314] Cannot load certificate 404576247583593287078701 from the database.

Nonostante l'abilitazione dell'opzione di debug, non sono riuscito a trovare alcun messaggio di errore rilevante in stderror.log .

  • L'interfaccia elenca il certificato CA, ma non riesce a visualizzare le informazioni sul certificato durante l'esecuzione di viewCert or viewCertFull operazioni cmd.
  • Ho verificato il CA_Certificate memorizzato nel database PostgreSQL e sembra essere valido e VALIDO.
  • La stringa di query nell'URI sembra andare bene con il dataType opportunamente menzionato come di seguito:
cmd=viewCert&dataType=VALID_CA_CERTIFICATE&key=4045762475835932870787014.
  • Di solito i comandi eseguiti da lib/cmds è configurato in etc/openca/access_control/*.xml file e tutto sembra essere configurato correttamente.

Allora perché si verifica questo errore? Fortunatamente ho trovato una soluzione ed eccola qui.

Come correggere l'errore – Errore OpenCA Impossibile caricare il certificato dal database

  • Il listCerts contiene la subroutine cmdListCerts che accetta la $query e lo analizza.
  • $dataType è una delle cose che estrae.
  • @certsList viene riempito dalla query del database, che sembra funzionare per elencare il CA_CERTIFICATE .
  • $type è compilato da $dataType analizzato dal collegamento che chiama lo script. Quindi, questo dovrebbe apparire come argomento della query "dataType" nel link dietro il serial e facendo clic su quel link dovrebbe essere inviato a viewCert . Di nuovo, $dataType viene analizzato da $query proprio come per listCerts , ma in qualche modo questo non funziona correttamente nella mia configurazione OpenCA.

Sospettavo il modo in cui viewCert distingue tra CERTIFICATE e
CA_CERTIFICATE e il modo in cui vengono gestite le varie richieste di certificati validi, scaduti,
sospesi e revocati.

Quindi ecco una modifica al viewCert cmd nel file lib/openca/perl_modules/perl5/OpenCA/AC.pm

Vai alla sub-routine getOwner dove troverai quanto segue:

sub getOwner {

Individua la riga:# load the certificate

Sostituisci le righe sotto

my @certs;
my $certype = "CERTIFICATE";
if( not (@certs = $self->{db}->searchItems (
KEY => $self->{acl}->{object},
DATATYPE => "CERTIFICATE"))) {
# if (length ($self->{acl}->{object}) < 60 ) { # @certs = $self->{db}->searchItems (KEY => $self->{acl}->{object}, DATATYPE => "CERTIFICATE");
#}
$certtype = "CA_CERTIFICATE";
@certs = $self->{db}->searchItems (
KEY => $self->{acl}->{object},
DATATYPE => "CERTIFICATE");
}

Con:

my @certs;
my $certtype = "CERTIFICATE";
if( $self->{db}->searchItems (
KEY => $self->{acl}->{object},
DATATYPE => "CERTIFICATE")) {

$certtype = "CA_CERTIFICATE";
@certs = $self->{db}->searchItems (
KEY => $self->{acl}->{object},
DATATYPE => "CERTIFICATE");
} else {
$certtype = "CA_CERTIFICATE";
@certs = $self->{db}->searchItems (
KEY => $self->{acl}->{object},
DATATYPE => "CA_CERTIFICATE");
}

Il problema riguardava la riga: if( not (@certs = $self->{db}->searchItems (.

Questo è tutto! Spero che aiuti qualcuno là fuori.


Linux
  1. Come accedere a un database Postgresql dalla riga di comando

  2. Linux:come ottenere il tempo di caricamento della pagina remota con un comando dal terminale?

  3. Errore OpenCA Impossibile caricare il certificato dal database

  4. Non riesci a trovare -lm?

  5. Come risolvere l'errore:Cpanel::Exception::Database::Error/(XID 9a8sak)?

Risoluzione dei problemi "Certificato TLS inaccettabile" Errore in Linux

Errore OpenStack – Dimensioni della colonna dell'indice troppo grandi. La dimensione massima della colonna è 767 byte [Risolto]

Errore OpenCA addMessage non riuscito per lo slot di registro XML. Impossibile creare la directory [Risolto]

Cancella i commenti WordPress non approvati dal database

Come posso risolvere l'errore che non può eseguire il file binario?

dove si trova il database aggiornatob?