req -x509
(senza -new
) richiede un CSR sull'input e non dici nulla riguardo alla creazione di un CSR. -key
richiede un file "chiave privata" (che nel modulo CRT PKCS # 1 utilizzato da OpenSSL è in realtà una coppia di chiavi) e tu dici di averlo, anche se normalmente non userebbe un'estensione .txt. -keyout
e -nodes
sono inutili quando viene immesso -key
; sono per il caso in cui req
genera una nuova coppia di chiavi insieme alla CSR o al certificato.
Potresti voler usare req -new -x509
che in effetti genera un CSR per la tua coppia di chiavi e il tuo nome e poi lo converte automaticamente in un certificato autofirmato . Per questo è necessario fornire all'oggetto Distinguished Name (comunemente Organization, CommonName e così via, ma può essere configurato) e validità, e facoltativamente, ma di solito estensioni cert, che variano a seconda di cosa è destinato il cert, in una configurazione file, che può essere specificato o utilizzare un valore predefinito che dipende dal build / pacchetto o dalle opzioni della riga di comando o da una combinazione di entrambi.
Hai provato a leggere le manpage per req
e per x509v3_config
a cui fa riferimento? C'è una ragione per quei 15 kilobyte totali che non propongo di ridigitare qui.