2010-03-01 6 views
57

Vì tôi rất mới đối với chứng chỉ SSL và việc tạo và sử dụng chúng, tôi cho rằng các thành viên StackOverflow có thể giúp tôi.Tạo chứng chỉ OpenSSL trên Windows

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 khóa riêng RSA. Dựa trên khóa đó, tôi phải tạo một chứng chỉ và tải nó lên máy chủ web.

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

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ể làm điều này bằng một tiện ích trên một máy cửa sổ? Tôi đã tải xuống PuTTy KeyGenerator. Nhưng tôi không chắc chắn phải làm gì, tôi đã tạo khóa (SSH-2 RSA, bất kỳ thứ gì ..) nhưng làm cách nào để tạo chứng chỉ bằng khóa đó?

Trả lời

25

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

+2

Từ liên kết OpenSSL đó: "Dự án OpenSSL không phân phối bất kỳ mã nào dưới dạng nhị phân và không chính thức giới thiệu bất kỳ nhị phân cụ thể nào phân phối " –

8

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

Hoặc bạn có thể nhận được Cygwin để sử dụng các tiện ích bạn vừa mô tả.

+0

' puttygen.exe' là siêu đơn giản và tôi luôn luôn quên nó! – wasatchwizard

+11

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

11

Xem xét sử dụng giấy chứng nhận ứng dụng kho web để dễ dàng tạo ra chìa khóa cá nhân và chứng dựa trên nó: http://www.cert-depot.com/

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

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

+26

Hãy coi chừng: Các khóa riêng tư nên * không bao giờ * được chuyển qua các mạng công cộng; và chúng thực 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 đảm bảo rằng các chứng chỉ sản xuất của bạn được tạo trong môi trường đáng tin cậy.- Dima, tôi không ngụ ý dịch vụ của bạn không đáng tin cậy, nhưng các thực hành bảo mật phổ biến nghiêm cấm việc 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 một 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 vì dịch vụ tiện lợi đó. :) – JimmyB

+4

Tôi đồng ý với mọi từ, 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 ra các khóa riêng cho anh ta (chúng có thể được lưu trữ và sử dụng sau này). Bất cứ nơi nào tôi có thể cố gắng nhấn mạnh rằng các certs được tạo ra chỉ phù hợp với mục đích thử nghiệm/dev. –

+4

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

1

Hãy thử SSLTools Manager, đây là công cụ quản lý SSL hoàn chỉnh cho cửa sổ và cho phép bạn tạo csr dễ dàng. Đó là những gì tôi sử dụng. Chúc may mắn!

12

Để 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 của máy tính)

  3. Trong phần IIS, "Server Certificates" mở

  4. Nhấp vào "Tạo Tự -Signed Certificate "

  5. Đặt tên là" localhost "(hoặc một cái gì đó tương tự không được chỉ định c)

  6. Nhấp "OK"

Sau đó bạn có thể liên kết chứng chỉ đến trang web của bạn ...

  1. Nhấp chuột phải vào trang web của bạn và chọn "Edit bindings ... "

  2. Bấm "Add"

    • Loại: https
    • địa chỉ IP: "All Unassigned"
    • Cổng: 443
    • giấy chứng nhận SSL: "localhost"
  3. Nhấp "OK"

  4. Nhấn "Close"

56

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

Lệnh sau tạo tự ký giấy chứng nhận và quan trọng cần thiết cho apache và hoạt động tốt trong các cửa sổ:

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

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

+0

Bạn cũng có thể sử dụng phương pháp này trong git bash trên Windows: [Làm thế nào để tạo một máy chủ https?] (Https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server /) – Eido95

+0

có phải là SSH-2 hoặc SSH-1 không? –

0

Hãy thử sử dụng cmder cmder. Giao diện điều khiển này bao gồm tất cả các giao dịch;) Bạn không phải tải xuống OpenSSL gốc cho Windows;)