Respuestas:
Siempre que use la misma clave, dominio (también conocido como nombre común), detalles de contacto y período de validez, debería poder usar la misma CSR.
Aunque, para ser sincero, generar una CSR es un trabajo bastante simple, por lo que si necesita modificar los detalles de contacto (que muchos proveedores de SSL son estrictos) no es un gran problema.
Para su caso de ejemplo, no creo que valga la pena intentar reutilizar CSR. Sin embargo, para un gran equipo diverso de desarrolladores de Apple iOS (como yo tengo), hay una buena razón para hacerlo. Creamos (en realidad, le pedimos a Apple que cree) todos nuestros certificados de firma y eliminamos los certificados de la misma clave privada. De esa manera, todos podemos colaborar fácilmente en nuestras más de 85 aplicaciones. Por esta razón, mantenemos una sola CSR y siempre usamos la misma mientras la clave sea válida.
Hasta donde sé, no hay ninguna razón para generar repetidamente CSR a partir de una sola clave privada. Me encantaría que me corrijan si me equivoco.
El principal beneficio de tener certificados de duración limitada es reducir el daño si se filtra su clave privada. Alguien que posee la clave privada puede hacerse pasar por usted para siempre si reutiliza la CSR, porque la reutilización de la CSR implica también la reutilización de su clave privada.
No haga eso, es mejor automatizar la generación tanto de las claves privadas como de las CSR y encontrar formas convenientes de distribuir las claves privadas en constante cambio a los servidores de compilación de aplicaciones y servidores push. La mayoría de los desarrolladores mortales normalmente nunca necesitarían hacer una versión / distribución de compilación para la tienda de aplicaciones de todos modos, por lo que no necesitarán las claves privadas.
De hecho, en teoría puede reutilizar la misma CSR, ya que esto es solo un contenedor para
Esto es de lo que se trata un certificado (abreviatura de PublicKey Certificate) después de todo
Pero como se señaló en otras respuestas, es una buena práctica cambiar la clave privada regularmente, por lo que eso implica un nuevo certificado y una nueva CSR para obtenerlo.
Puede ver fácilmente el contenido de una CSR
p.ej
$ 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
RSE
$ 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
Y PrivateKey
$ 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