web-dev-qa-db-fra.com

Puis-je réutiliser un CSR SSL?

J'ai généré un certificat SSL autonome pour tester un nouveau site Web. Le temps est venu pour le site pour aller vivre et je veux maintenant acheter un cert à partir de Geotrust. Puis-je utiliser le même CSR que j'ai généré pour le Selt Cert ou dois-je en créer un nouveau?

Riche

22
kim3er

Tant que vous utilisez la même clé, le domaine (aka-nom commun), les coordonnées et la période de validité, vous devriez pouvoir utiliser le même CSR.

Bien que d'être honnête générant un CSR est un travail assez simple, donc si vous devez modifier les coordonnées (dont beaucoup de fournisseurs SSL sont stricts), ce n'est pas une grosse affaire.

20
Coops

Le principal avantage d'avoir des certificats de durée limitée est de réduire les dommages si votre clé privée est divulguée. Quelqu'un possédant la clé privée peut sembler influencer étant votre éventuellement si vous réutilisez la RSE, car la réutilisation de la RSE implique également une réutilisation de votre clé privée.

S'il vous plaît, ne faites pas cela, il vaut mieux automatiser la génération des clés privées ainsi que les RSE et trouver des moyens pratiques de distribuer les clés privées en constante évolution vers des serveurs de construction d'applications et des serveurs PUSH. La plupart des nouveaux développeurs mortels n'auraient normalement jamais besoin de faire une version de libération/de distribution pour l'App Store, de toute façon, vous n'aurez donc pas besoin des clés privées.

5
Stefan L

Vous pouvez en effet en théorie réutiliser le même CSR, car il s'agit simplement d'un conteneur pour

  • votre clé publique (seulement numéros utilisée pour le cryptage RSA (maths spécifiques))
  • votre "sujet" (qui vous êtes, quel domaine, etc ...) texte Utilisé pour identifier le propriétaire de cette clé publique

C'est ce qu'est un certificat (court pour le certificat de jeu public) après tout

Mais comme indiqué dans d'autres réponses, il est un bon prix de changer de clé privée régulièrement, de sorte que cela implique un nouveau certificat, ainsi que de nouveaux CSR pour l'obtenir.

Vous pouvez facilement regarder le contenu d'un CSR

par exemple.

$ openssl req -new -batch -subj "/CN=My Common Name/OU=My Org Unit/O=My Organisation" -sha256 -newkey rsa:2048 -keyout private.key -nodes -out request.csr
Generating a 2048 bit RSA private key
.............................................................................................+++++
.........+++++
writing new private key to 'private.key'
-----

$ ls
private.key  //  keep that private, the PublicKey side is easily be generated from this
request.csr // your PublicKey + Subject details

CSR

$ openssl req -in request.csr -text -noout
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = My Common Name, OU = My Org Unit, O = My Organisation
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:                    ///////// Matches the PrivateKey modulus
                    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
                    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
                    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
                    03:87
                Exponent: 65537 (0x10001)   ///////// Matches the PrivateKey publicExponent
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         a1:44:1f:b2:ec:c0:82:bc:99:da:69:ce:3e:77:9f:46:51:95:
...
         3b:2d:84:e3:73:ac:be:c8:da:29:fd:62:90:11:dd:8a:a6:4f:
         7b:f8:ac:f1

Et fiankey

$ openssl rsa -in private.key -text -noout
// all the below are numbers that takes part in Mathematical encryption (search for RSA maths)
RSA Private-Key: (2048 bit, 2 primes)

// The Numbers that can be freely published
modulus:
    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
    03:87
publicExponent: 65537 (0x10001)

// The Numbers that must be kept private !
privateExponent:
    0a:81:73:d8:30:65:28:90:bc:d7:38:b5:74:d4:aa:
...
    b1:9b:30:2e:a2:dd:46:c1:10:0f:b0:da:ac:b6:ea:
    01
prime1:
    00:e0:28:01:87:95:70:d0:b8:21:07:e0:4f:96:a6:
...
    66:28:8f:3d:d7:eb:e6:b4:81
prime2:
    00:cb:2e:fe:1b:b6:30:ea:8d:9e:6d:23:83:d8:b6:
...
    4d:64:39:5c:9c:18:a0:14:07
exponent1:
    22:e2:36:f2:b9:af:f7:db:5f:d0:90:f8:f1:d1:ff:
...
    3a:31:a8:87:2c:c0:17:81
exponent2:
    5a:8b:3d:77:f1:ef:c8:86:85:a4:13:20:8d:31:a4:
...
    a5:ba:1e:37:fd:8d:50:7f
coefficient:
    00:d3:d3:b6:81:4b:a9:c2:aa:ff:e1:07:cb:de:ea:
...
    5c:e9:3b:d3:f7:67:82:c3:7f
1
Julien