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.