Створити сертифікат OpenSSL у Windows [закрито]


82

Оскільки я дуже новачок у сертифікатах SSL, а також у створенні та використанні їх, я зрозумів, що члени StackOverflow можуть мені допомогти.

Я з Голландії, поширений спосіб онлайн-платежів - це впровадження iDEAL. Протокол онлайн-платежів, що підтримується найбільшими банками. Я повинен застосувати «професійну» версію. Сюди входить створення приватного ключа RSA. На основі цього ключа я повинен створити сертифікат і завантажити його на веб-сервер.

Я на машині з Windows і абсолютно заплутався, що робити. Я подивився веб-сайт OpenSSL, оскільки керівництво перенаправило мене на цей веб-сайт, щоб отримати набір інструментів SSL.

Посібник містить дві команди, які необхідно виконати, щоб створити ключ RSA та сертифікат.

Команди:

openssl genrsa -des3 –out priv.pem -passout pass:myPassword 1024

і

openssl req -x509 -new -key priv.pem -passin pass:myPassword -days 3650 -out cert.cer

Чи можу я це зробити за допомогою утиліти на машині Windows? Я завантажив PuTTy KeyGenerator. Але я не впевнений, що робити, я створив ключ (SSH-2 RSA, яким би він не був ..), але як мені створити сертифікат із цим ключем?


Тут ви можете створити самопідписаний сертифікат в Інтернеті: mobilefish.com/services/ssl_certificates/ssl_certificates.php
lubosdz


Відповіді:


29

Ви можете завантажити власний OpenSSL для Windows , або ви завжди можете використовувати Cygwin .


3
З цього посилання OpenSSL: "Проект OpenSSL не поширює жодного коду у двійковій формі та офіційно не рекомендує жодних конкретних двійкових розподілів"
Ед Норріс,

Якщо у вас вже встановлено програму Scoop, ви можете "встановити програму Scops openssl".
mpr

Ви також можете запустити в Bash для Windows (у Windows 10)
Altair7852

99

Якщо ви використовуєте Windows і використовуєте apache, можливо, через WAMP або інсталятор стеку Drupal, ви можете додатково завантажити пакет git for windows , який включає багато корисних інструментів командного рядка Linux, одним з яких є openssl.

Наступна команда створює самопідписаний сертифікат і ключ, необхідні для Apache, і чудово працює у Windows:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privatekey.key -out certificate.crt

16
Дякуємо за згадку про те, що OpenSSL поставляється з git для Windows.
Бенджамін Альберт,

2
Ви можете використовувати цей метод у git bash і в Windows: Як створити https-сервер?
Eido95,

це SSH-2 чи SSH-1?
manish kumar

У мене сталася помилка: unable to find 'distinguished_name' in config 18268:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270: privatekey.keyбуло створено, але не crtфайл.
tryHard

15

Розгляньте можливість використання веб-програми депо сертифікатів, щоб легко створити приватний ключ та сертифікат на його основі: http://www.cert-depot.com/

Він також може створити для вас PFX.

Застереження: Я є творцем депо сертифікатів.


36
Обережно: приватні ключі ніколи не повинні передаватися через загальнодоступні мережі; і вони насправді ніколи не повинні створюватися на машині, над якою ви не маєте повного контролю. - Отже, використовуйте вихідні дані із cert-depot.com для тестування та розробки, але переконайтеся, що ваші виробничі сертифікати створені у надійному середовищі. - Діма, я не маю на увазі, що ваша послуга не заслуговує на довіру, але загальна практика безпеки забороняє використовувати ці сертифікати для виробничих середовищ. Тим не менш, зараз я збираюся отримати сертифікат з вашого сайту на мій новий сервер розробки; дякую за зручну послугу. :)
JimmyB,

5
Я згоден з кожним словом, Ганно. Більше того, навіть якщо зв’язок захищений, не слід довіряти третій стороні створювати для нього приватні ключі (їх можна зберігати та використовувати пізніше). Де б я не міг, я намагався підкреслити, що створені сертифікати придатні лише для розробки / тестування.
Діма Стопель

4
Дякуємо за зручний інструмент розробника Діма, але ваше твердження: "Куди б я не міг, я намагався наголосити, що створені сертифікати придатні лише для розробки / тестування", наразі не відповідає дійсності. Домашня сторінка була б ідеальним місцем для розміщення такого застереження, і її просто немає.
Jeremy Cook

4
Здається, ця послуга вже недоступна, і передавати свої приватні ключі комусь іншому - це і так дуже погана ідея.
Фабіан Ріцманн

2
вашого сайту cert-depot.com немає.
darkenergy

14

Щоб створити самопідписаний сертифікат у Windows 7 із IIS 6 ...

  1. Відкрийте IIS

  2. Виберіть свій сервер (елемент верхнього рівня або ім'я вашого комп'ютера)

  3. У розділі IIS відкрийте "Сертифікати сервера"

  4. Натисніть "Створити власний підпис"

  5. Назвіть його "localhost" (або щось подібне, що не є конкретним)

  6. Натисніть "OK"

Потім ви можете прив’язати цей сертифікат до свого веб-сайту ...

  1. Клацніть правою кнопкою миші на вашому веб-сайті та виберіть "Редагувати прив'язки ..."

  2. Натисніть "Додати"

    • Тип: https
    • IP-адреса: "Усі без призначення"
    • Порт: 443
    • Сертифікат SSL: "localhost"
  3. Натисніть "OK"

  4. Натисніть "Закрити"


Генератор сертифікатів IIS не генерує дійсних сертифікатів SSL (див. Stackoverflow.com/questions/46641473/… ), і це не відповідає на поставлене запитання.
Даг,

Питання було змінено в травні 2014 року, після моєї відповіді.
teewuane

9

Ви можете, звичайно, використовувати шпаклівку (puttygen.exe) для цього.

Або ви можете змусити Cygwin скористатися утилітами, які ви щойно описали.


1
puttygen.exeце дуже просто, і я завжди про це забуваю!
kodybrown

17
Я розумію, як створити відкриту / приватну пару ключів у puttygen, але як створити сертифікат (.pem) у puttygen?
Aaron_H

Я створив відкритий та закритий ключ, а як щодо сертифіката?
tryHard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.