Créer un certificate SSL non interactif

Je veux en mode silencieux, non interactivement, créer un certificate SSL. C'est-à-dire, sans être invité à fournir des données.

La façon normale de créer le certificate serait:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \ -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 

J'ai essayé ce qui suit:

 openssl genrsa -out server.key 2048 touch openssl.cnf cat >> openssl.cnf <<EOF [ req ] prompt = no distinguished_name = req_distinguished_name [ req_distinguished_name ] C = GB ST = Test State L = Test Locality O = Org Name OU = Org Unit Name CN = Common Name emailAddress = [email protected] EOF openssl req -x509 -config openssl.cnf -nodes -days 7300 \ -signkey server.key -out /etc/ssl/private/pure-ftpd.pem 

Mais je reçois toujours une invite pour datatables.

La chose qui vous manque est d'inclure le sujet du certificate dans le drapeau -subj . Je préfère cela à la création d'un file de configuration, car il est plus facile à intégrer dans un stream de travail et ne nécessite pas de nettoyage par la suite.

Une étape key et génération de csr:

 openssl req -new -newkey rsa:4096 -key www.example.com.key \ -out www.example.com.csr \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" 

Une génération de certificate sans mot de passe auto-signé:

 openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \ -keyout www.example.com.key -out www.example.com.cert 

Aucune de ces commands ne requestra de données.

Voir ma réponse à cette question presque identique sur Super User.

La command que vous searchz est:

 openssl req -new -x509 -config openssl.cnf -nodes -days 7300 -key server.key -out /etc/ssl/private/pure-ftpd.pem 

Changements de votre version:

  • -new est nécessaire pour générer quelque chose
  • -key utilisé à la place de -signkey