Ответы:
Если вы используете один и тот же ключ, домен (он же общее имя), контактные данные и срок действия, вы сможете использовать один и тот же CSR.
Хотя, если честно, создание CSR - довольно простая работа, поэтому, если вам нужно изменить контактную информацию (к которой строго относятся многие провайдеры SSL), это не имеет большого значения.
Для вашего примера, я не думаю, что стоит пытаться повторно использовать CSR. Однако для большой разнообразной команды разработчиков Apple iOS (как и у меня) есть веская причина сделать это. Мы создаем (на самом деле, просим Apple создать) все наши сертификаты подписи и выдвигаем сертификаты с одного и того же закрытого ключа. Таким образом, мы можем легко сотрудничать в наших более чем 85 приложениях. По этой причине мы храним один CSR и всегда используем один и тот же, пока ключ действителен.
Насколько я знаю, нет причин многократно генерировать CSR из одного закрытого ключа. Я бы хотел, чтобы меня поправили, если я ошибаюсь.
Основным преимуществом наличия сертификатов с ограниченным сроком действия является уменьшение ущерба в случае утечки вашего личного ключа. Кто-то, обладающий закрытым ключом, может иначе выдать себя за вас навсегда, если вы повторно используете CSR, потому что повторное использование CSR подразумевает также повторное использование вашего закрытого ключа.
Пожалуйста, не делайте этого, лучше автоматизировать генерацию как закрытых ключей, так и CSR, и найти удобные способы распространения постоянно меняющихся закрытых ключей на серверы сборки приложений и push-серверы. Большинству простых разработчиков, как правило, никогда не понадобится делать сборку релизов / дистрибутивов для магазина приложений, так что им не понадобятся закрытые ключи.
Вы можете теоретически повторно использовать один и тот же CSR, так как это всего лишь контейнер для
Это то, что сертификат (сокращение от PublicKey Certificate) в конце концов
Но, как отмечалось в других ответах, целесообразно регулярно менять закрытый ключ, чтобы получить новый сертификат и новый CSR.
Вы можете легко посмотреть на содержание CSR
например
$ 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
КСО
$ 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
И 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