Чи можу я повторно використати SSL CSR?


21

Я створив сертифікований сертифікат SSL для тестування нового веб-сайту. Прийшов час відвідування сайту в прямому ефірі, і зараз я хочу придбати сертифікат у GeoTrust. Чи можу я використовувати той самий КСВ, який я створив для самостентства, чи мені потрібно створити новий?

Багатий

Відповіді:


19

Поки ви використовуєте той самий ключ, домен (він же загальне ім'я), контактні дані та термін дії, ви повинні мати можливість використовувати один і той самий КСВ.

Хоча, чесно кажучи, генерування КСВ є досить простою роботою, тому, якщо вам потрібно внести зміни до контактних даних (до яких суворо дотримується багато постачальників SSL), це не велика справа.


1
Я згоден. Генерування КСВ є такою тривіальною задачею, я не бачу, чому ви навіть не намагаєтесь повторно використовувати її.
joeqwerty

5
Після встановлення OpenSSL ви можете генерувати новий КСВ приблизно за 30 секунд. І якщо ви думаєте, що це займе у вас набагато більше часу - тоді обов'язково зробіть це, тому що вам потрібна практика !!!!!
Остін 'Небезпека' Повноваження

1
Не застосовується до справи ОП, але якщо ви хочете використовувати фіксацію сертифікатів, практичніше використовувати той самий КСВ, ніж оновлювати програми клієнта.
чорний

Якщо ключ, домен та деталі однакові, КСВ буде ідентичним.
сірий

11

Для вашого прикладу, я не думаю, що варто спробувати повторно використовувати CSR. Однак для великої різноманітної команди розробників Apple iOS (як у мене) є вагома причина для цього. Ми створюємо (власне, просимо Apple створити) всі наші сертифікати для підписання і відштовхуємо це ж від приватного ключа. Таким чином, ми можемо легко співпрацювати на наших 85+ додатках. З цієї причини ми зберігаємо один КСВ, лежачи навколо, і завжди використовуємо той самий протягом тих пір, поки ключ дійсний.

Наскільки мені відомо, немає причин багаторазово генерувати КСВ з одного приватного ключа. Я б хотів, щоб мене виправили, якщо я помиляюся.


6
Минуло 4 роки без корекції. Я думаю, я не помиляюся.
Бруно Броноський

5

Основна перевага від наявності сертифікатів обмеженої тривалості - зменшити шкоду, якщо ваш приватний ключ просочиться. Хтось, хто володіє приватним ключем, може інакше представити себе вами назавжди, якщо ви повторно використовувати CSR, оскільки повторне використання CSR означає також повторне використання вашого приватного ключа.

Не робіть цього, краще автоматизувати генерацію як приватних ключів, так і CSR та знайти зручні способи розповсюдження постійних ключів, що постійно змінюються, до серверів побудови додатків і серверів push. Більшість простих смертних розробників зазвичай ніколи не повинні робити випуск / розповсюдження дистрибутива для магазину додатків, тому приватні ключі не знадобляться.


1
Хоча це правда, що "повторне використання CSR означає також повторне використання вашого приватного ключа", це не означає, що "себе представляти собі назавжди, якщо ви повторно використовуєте CSR". Якщо ви вирішили використовувати ключ протягом N місяців, то добре використовувати той самий КСВ для цих N місяців.
Бруно Броноський

2
Так, ти маєш рацію Бруно. Я припускав, що люди, які повторно використовують КСВ, зробили це з необізнаності, і, таким чином, продовжували цю практику "назавжди", однак, звичайно, може бути небагато людей, які знають про проблеми та роблять це на основі ретельного планування протягом обмеженого часу.
Стефан Л

1

Теоретично ви можете повторно використовувати той самий КСВ, оскільки це просто контейнер

  • ваш відкритий ключ (лише номери, використовувані для шифрування RSA (конкретна математика))
  • ваші реквізити "Тема" (хто ви, який домен тощо). Текст, який використовується для визначення власника цього відкритого ключа

Це те, про що йдеться в сертифікаті (короткий для PublicKey Certificate)

Але, як зазначається в інших відповідях, корисно регулярно міняти приватний ключ, щоб мати на увазі нове Сертифікат та нову КСВ, щоб отримати його.

Ви можете легко переглянути вміст 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.