Respostas:
Desde que você utilize a mesma chave, domínio (também conhecido como nome comum), detalhes de contato e período de validade, você poderá usar o mesmo CSR.
Embora, para ser honesto, gerar um CSR seja uma tarefa bastante simples, por isso, se você precisar alterar os detalhes de contato (nos quais muitos provedores de SSL são rigorosos), não é grande coisa.
Para o seu caso de exemplo, acho que não vale a pena tentar reutilizar os CSRs. No entanto, para uma grande equipe diversificada de desenvolvedores da Apple iOS (como eu tenho), há uma boa razão para fazer isso. Criamos (na verdade, pedimos à Apple para criar) todos os nossos documentos de assinatura e enviamos documentos da mesma chave privada. Dessa forma, todos podemos colaborar facilmente em nossos mais de 85 aplicativos. Por esse motivo, mantemos um único CSR por aí e sempre o usamos enquanto a chave for válida.
Até onde eu sei, não há razão para gerar repetidamente CSRs a partir de uma única chave privada. Eu adoraria ser corrigido se estiver errado.
O principal benefício de ter certificados de duração limitada é reduzir o dano se sua chave privada vazar. De outra forma, alguém que possua a chave privada pode se passar por você para sempre, se você reutilizar a RSE, porque a reutilização da RSE implica também a reutilização de sua chave privada.
Por favor, não faça isso, é melhor automatizar a geração das chaves privadas e dos CSRs e encontrar maneiras convenientes de distribuir as chaves privadas em constante mudança para servidores de criação de aplicativos e servidores push. A maioria dos meros desenvolvedores mortais normalmente nunca precisaria fazer uma compilação de versão / distribuição para a loja de aplicativos, portanto, não precisará das chaves privadas.
Em teoria, é possível reutilizar o mesmo CSR, pois esse é apenas um contêiner para
Afinal, trata-se de um certificado (abreviação de Certificado de Chave Pública)
Mas, como observado em outras respostas, é uma boa prática alterar a chave privada regularmente, o que implica um novo Certificado e um novo CSR para obtê-lo.
Você pode ver facilmente o conteúdo de um CSR
por exemplo
$ 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
E 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