2013-12-07 37 views
24

Tôi đang viết Ứng dụng Android yêu cầu chứng nhận SSL cho các yêu cầu web nhất định. Tôi cần tạo một tệp PKCS12 (.pfx) bằng Chứng chỉ Tự ký.Tạo tệp PKCS # 12 bằng chứng chỉ tự ký thông qua OpenSSL trong Windows cho Ứng dụng Android của tôi

Tôi quyết định sử dụng thư viện OpenSSL, nhưng tôi không thể xây dựng nó trên máy tính của mình (nền tảng Windows x64). Tôi muốn làm điều đó mà không cần cài đặt ActivePerl. Ai biết cách dễ dàng để xây dựng nó?

Tôi đã cố gắng xây dựng một tệp PKCS12 với OpenSSL trên máy tính bạn bè của tôi (với OpenSSL, Linux) nhưng tôi không nhận được gì. Bất cứ ai có thể giúp tôi, và để mô tả chuỗi các hành động để tạo tệp PKCS12 với khóa cá nhân và chứng chỉ công khai tự ký?

+1

Bạn có sử dụng Eclipse cho phát triển Android không? –

+0

@ Plo_Koon Có, tôi sử dụng Eclipse-ADK –

+3

Để tạo chứng chỉ tự ký, bạn có thể sử dụng một chương trình có tên là "keytool", được cung cấp với bất kỳ phiên bản nào của SDK Java.Xem liên kết này https: //community.jboss. org/wiki/GeneratingSelfSignedCertificateWithKeytool –

Trả lời

66

Dự án cài đặt Win32 OpenSSL dành riêng cho việc cung cấp cài đặt OpenSSL đơn giản. Nó rất dễ dàng để thiết lập và dễ sử dụng thông qua trình cài đặt đơn giản, hiệu quả. Không cần phải biên dịch bất cứ điều gì hoặc nhảy qua bất kỳ hoops, chỉ cần nhấp một vài lần và nó được cài đặt, để lại cho bạn để làm công việc thực tế. Bạn có thể lấy nó here. Trong trường hợp của bạn, bạn cần Win64 OpenSSL v1.0.1e Trình cài đặt.

Các hướng dẫn này cho biết cách tạo tệp riêng tư PKCS # 12 và tệp chứng chỉ công khai phù hợp để sử dụng với HTTPS, FTPS. Những hướng dẫn này giả sử bạn đã tải xuống và cài đặt bản phân phối OpenSSL của Windows nhị phân.

1.Generate một RSA private key:

>C:\Openssl\bin\openssl.exe genrsa -out <Key Filename> <Key Size>

đâu:

<Key Filename> là tên tập tin mong muốn cho tập tin khóa riêng

<Key Size> là chiều dài chính mong muốn của hoặc 1024, 2048 hoặc 4096

Ví dụ: nhập:

>C:\Openssl\bin\openssl.exe genrsa -out my_key.key 2048.

2. Tạo một Certificate Request Ký:

Trong phiên bản 0.9.8h và sau:

>C:\Openssl\bin\openssl.exe req -new -key <Key Filename> -out <Request Filename> -config C:\Openssl\bin\openssl.cfg

đâu:

<Key Filename> là tên tập tin đầu vào của tạo trước đây khóa riêng

<Request Filename> là tên tập tin đầu ra của yêu cầu ký giấy chứng nhận

Ví dụ, gõ:

>C:\Openssl\bin\openssl.exe req -new -key my_key.key -out my_request.csr -config C:\Openssl\bin\openssl.cnf

3. Thực hiện theo hướng dẫn trên màn hình nhắc nhở cho các thông tin yêu cầu chứng chỉ theo yêu cầu.

4.Tạo chứng chỉ công cộng tự ký dựa trên yêu cầu:

>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in <Request Filename> -signkey <Key Filename> -out <Certificate Filename>

đâu:

<Request Filename> là tên tập tin đầu vào của các yêu cầu ký giấy chứng nhận

<Key Filename> là tên tập tin đầu vào của trước đây khóa cá nhân được tạo

<Certificate Filename> là tên tệp đầu ra của chứng chỉ công khai

Ví dụ, gõ:

>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in my_request.csr -signkey my_key.key -out my_cert.crt

5. Tạo một file PKCS # 12:

>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in <Public Certificate Filename> -inkey <Private Key Filename> -out <PKCS#12 Filename> -name "<Display Name>"

đâu:

<Public Certificate Filename> là tên tập tin đầu vào của chứng chỉ công khai, ở định dạng PEM

<Private Key Filename> là tên tập tin đầu vào của các tin quan trọng

<PKCS#12 Filename> là tên tập tin đầu ra của PKCS # 12 tập tin định dạng

<Display Name> là tên mong muốn rằng đôi khi sẽ được hiển thị trong giao diện người dùng.

Ví dụ, gõ:

>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in my_cert.crt -inkey my_key.key -out my_pkcs12.pfx -name "my-name"

6. (Tùy chọn) Xóa các tập tin không cần thiết.

Tại thời điểm này, bạn chỉ cần định dạng PKCS # 12 tập, do đó bạn có thể xóa yêu cầu ký giấy chứng nhận (.csr) tập tin, khóa riêng (.key) tập tin, và giấy chứng nhận công cộng (.crt) tập tin.

Tệp định dạng PKCS # 12 kết quả bây giờ có thể được sử dụng trong Secure FTP Server - FIPS.

Tệp định dạng PKCS # 12 (.pfx) kết quả có thể được sử dụng với trình duyệt Firefox phiên bản 34.0.5.

+1

Rất cám ơn sự giúp đỡ của bạn! –

2

Nếu bạn nhìn vào trang web này "http://www.sslshopper.com/article-most-common-openssl-commands.html", nó có hầu hết các lệnh phổ biến bạn sẽ tìm kiếm. Tôi đã phải làm điều này gần đây cho amazon chương trình liên kết và tìm thấy trang web của họ hữu ích là tốt (http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert).By cách, bạn sẽ cần phải cài đặt openssl để chạy này (xem: http://slproweb.com/products/Win32OpenSSL.html)

+0

Cảm ơn câu trả lời của bạn và các liên kết hữu ích) –

Các vấn đề liên quan