Tạo chứng chỉ OpenSSL trên Windows [đã đóng]


82

Vì tôi còn rất mới với chứng chỉ SSL và việc tạo và sử dụng chúng, tôi nghĩ rằng có thể các thành viên của StackOverflow có thể giúp tôi.

Tôi đến từ Hà Lan, cách phổ biến của thanh toán trực tuyến là triển khai iDEAL. Một giao thức thanh toán trực tuyến được hỗ trợ bởi các ngân hàng lớn. Tôi phải thực hiện một phiên bản 'chuyên nghiệp'. Điều này bao gồm việc tạo một khóa riêng RSA. Dựa trên khóa đó, tôi phải tạo chứng chỉ và tải nó lên máy chủ web.

Tôi đang sử dụng máy Windows và hoàn toàn bối rối không biết phải làm gì. Tôi đã xem trang web OpenSSL, vì sách hướng dẫn đã chuyển tiếp tôi đến trang web đó để lấy Bộ công cụ SSL.

Sách hướng dẫn cung cấp hai lệnh phải được thực hiện để tạo khóa RSA và chứng chỉ.

Các lệnh là:

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

Có cách nào tôi có thể thực hiện việc này bằng một tiện ích trên máy tính Windows không? Tôi đã tải xuống PuTTy KeyGenerator. Nhưng tôi không chắc phải làm gì, tôi đã tạo một khóa (SSH-2 RSA, bất kể đó là gì ..) nhưng làm cách nào để tạo chứng chỉ với khóa đó?


Ở đây bạn có thể tạo chứng chỉ tự ký trực tuyến: mobilefish.com/services/ssl_certificates/ssl_certificates.php
lubosdz


Câu trả lời:


29

Bạn có thể tải xuống OpenSSL gốc cho Windows hoặc bạn luôn có thể sử dụng Cygwin .


3
Từ liên kết OpenSSL đó: "Dự án OpenSSL không phân phối bất kỳ mã nào ở dạng nhị phân và không chính thức đề xuất bất kỳ phân phối nhị phân cụ thể nào"
Ed Norris

Nếu bạn tình cờ đã cài đặt bản tin mới, bạn có thể 'bản tin cài đặt bản tin mở đầu'.
mpr

Bạn cũng có thể chạy trong Bash dành cho Windows (trong Windows 10)
Altair7852

99

Nếu bạn đang sử dụng windows và sử dụng apache, có thể thông qua WAMP hoặc trình cài đặt ngăn xếp Drupal, bạn cũng có thể tải xuống gói git for windows , bao gồm nhiều công cụ dòng lệnh linux hữu ích, một trong số đó là openssl.

Lệnh sau tạo chứng chỉ tự ký và khóa cần thiết cho apache và hoạt động tốt trong windows:

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

16
Cảm ơn bạn đã đề cập rằng OpenSSL đi kèm với git cho windows.
Benjamin Albert

2
Bạn cũng có thể sử dụng phương pháp này trong git bash trên Windows: Làm cách nào để tạo máy chủ https?
Eido95

nó là SSH-2 hay SSH-1?
manish kumar

Tôi gặp lỗi: 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đã được tạo, nhưng không phải crttệp.
tryHard

15

Cân nhắc sử dụng ứng dụng web kho chứng chỉ để dễ dàng tạo khóa cá nhân và chứng chỉ dựa trên nó: http://www.cert-depot.com/

Nó cũng có thể tạo PFX cho bạn.

Tuyên bố từ chối trách nhiệm: Tôi là người tạo ra kho chứng chỉ.


35
Lưu ý: Không bao giờ được chuyển các khóa riêng tư qua các mạng công cộng; và chúng thực sự sẽ không bao giờ được tạo trên máy mà bạn không có toàn quyền kiểm soát. - Vì vậy, hãy sử dụng đầu ra từ cert-depot.com để thử nghiệm và phát triển nhưng hãy đảm bảo rằng các chứng chỉ sản xuất của bạn được tạo trong một môi trường đáng tin cậy. - Dima, tôi không ngụ ý rằng dịch vụ của bạn không đáng tin cậy, nhưng các thông lệ bảo mật thông thường cấm sử dụng các chứng chỉ đó cho môi trường sản xuất. Điều đó nói rằng, bây giờ tôi sẽ nhận được chứng chỉ từ trang web của bạn cho máy chủ phát triển mới của tôi; cảm ơn bạn cho rằng dịch vụ tiện lợi. :)
JimmyB

5
Tôi đồng ý với mọi lời, Hanno. Hơn nữa, ngay cả khi kết nối được bảo mật, người ta không nên tin tưởng bên thứ ba tạo khóa riêng cho mình (chúng có thể được lưu trữ và sử dụng sau này). Bất cứ khi nào tôi có thể, tôi đã cố gắng nhấn mạnh rằng các chứng chỉ được tạo chỉ phù hợp cho mục đích dev / test.
Dima Stopel

4
Cảm ơn vì công cụ dành cho nhà phát triển tiện dụng Dima nhưng tuyên bố của bạn, "bất cứ khi nào tôi có thể, tôi đã cố gắng nhấn mạnh rằng các chứng chỉ được tạo chỉ phù hợp với mục đích phát triển / thử nghiệm", hiện không đúng. Trang chủ sẽ là một nơi hoàn hảo để đặt loại tuyên bố từ chối trách nhiệm đó, và nó không có ở đó.
Jeremy Cook,

4
Dịch vụ này dường như không còn khả dụng nữa và việc đặt các khóa riêng tư của bạn vào tay bất kỳ ai khác là một ý tưởng thực sự tồi.
Fabian Ritzmann

2
trang cert-depot.com của bạn đã biến mất.
darknergy

14

Để tạo chứng chỉ tự ký trên Windows 7 với IIS 6 ...

  1. Mở IIS

  2. Chọn máy chủ của bạn (mục cấp cao nhất hoặc tên máy tính của bạn)

  3. Trong phần IIS, mở "Chứng chỉ máy chủ"

  4. Nhấp vào "Tạo chứng chỉ tự ký"

  5. Đặt tên là "localhost" (hoặc một cái gì đó tương tự không cụ thể)

  6. Nhấp vào "OK"

Sau đó, bạn có thể liên kết chứng chỉ đó với trang web của mình ...

  1. Nhấp chuột phải vào trang web của bạn và chọn "Chỉnh sửa liên kết ..."

  2. Nhấp vào "Thêm"

    • Loại: https
    • Địa chỉ IP: "Tất cả chưa được chỉ định"
    • Cảng: 443
    • Chứng chỉ SSL: "localhost"
  3. Nhấp vào "OK"

  4. Nhấp vào "Đóng"


Trình tạo chứng chỉ IIS không tạo chứng chỉ SSL hợp lệ (xem stackoverflow.com/questions/46641473/… ) và điều này không trả lời câu hỏi được đặt ra.
Doug

Câu hỏi đã được sửa đổi vào tháng 5 năm 2014, sau câu trả lời của tôi.
teewuane

9

Bạn chắc chắn có thể sử dụng putty (puttygen.exe) để làm điều đó.

Hoặc bạn có thể lấy Cygwin để sử dụng các tiện ích mà bạn vừa mô tả.


1
puttygen.exesiêu đơn giản và tôi luôn quên nó!
kodybrown

17
Tôi hiểu cách tạo cặp khóa công khai / riêng tư trong puttygen, nhưng làm cách nào để bạn tạo chứng chỉ (.pem) trong puttygen?
Aaron_H

Tôi đã tạo khóa công khai và riêng tư, nhưng chứng chỉ thì sao?
tryHard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.