web-dev-qa-db-ja.com

my Android Appのために、WindowsのOpenSSLを介して自己署名証明書でPKCS#12ファイルを作成します

私はAndroid特定のWebリクエストに対してSSL証明書を必要とするアプリを作成しています。PKCS12ファイル(.pfx)自己署名証明書付き。

OpenSSLライブラリを使用することにしましたが、コンピューター(Windows x64プラットフォーム)でビルドできませんでした。 ActivePerlをインストールせずに実行したい。簡単な構築方法を知っているのは誰ですか?

友達のコンピューター(OpenSSL、Linux)でOpenSSLを使用してPKCS12ファイルを作成しようとしていましたが、何も得られません。誰も私を助け、秘密鍵と自己署名付き公開証明書を使用してPKCS12ファイルを生成するためのアクションのシーケンスを説明できますか?

25
user3029135

Win32 OpenSSLインストールプロジェクトは、OpenSSLの簡単なインストールを提供することに専念しています。シンプルで効果的なインストーラーを使用すると、セットアップが簡単で使いやすいです。何もコンパイルしたりフープをジャンプしたりする必要はありません。数回クリックするだけでインストールされ、実際の作業を行うことができます。取得できます こちら 。あなたの場合、Win64 OpenSSL v1.0.1eインストーラー。

これらの手順は、HTTPS、FTPSでの使用に適したPKCS#12秘密鍵と公開証明書ファイルを生成する方法を示しています。これらの手順は、OpenSSLのWindowsバイナリディストリビューションをダウンロードしてインストールしたことを前提としています。

1。RSA秘密鍵を生成します:

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

どこで:

<Key Filename>は、秘密鍵ファイルに必要なファイル名です

<Key Size>は、1024、2048、または4096のいずれかの望ましいキー長です。

たとえば、次を入力します。

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

2。証明書署名要求を生成します:

バージョン0.9.8h以降:

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

どこで:

<Key Filename>は、以前に生成された秘密鍵の入力ファイル名です

<Request Filename>は、証明書署名要求の出力ファイル名です

たとえば、次を入力します。

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

3。必要な証明書要求情報の画面上の指示に従います。

4。リクエストに基づいて自己署名パブリック証明書を生成します:

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

どこで:

<Request Filename>は、証明書署名要求の入力ファイル名です

<Key Filename>は、以前に生成された秘密鍵の入力ファイル名です

<Certificate Filename>は、公開証明書の出力ファイル名です

たとえば、次を入力します。

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

5。 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>"

どこで:

<Public Certificate Filename>はPEM形式のパブリック証明書の入力ファイル名です

<Private Key Filename>は秘密鍵の入力ファイル名です

<PKCS#12 Filename>は、pkcs#12形式ファイルの出力ファイル名です

<Display Name>は、ユーザーインターフェイスに表示される場合がある目的の名前です。

たとえば、次を入力します。

>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。 (オプション)不要なファイルを削除します

この時点で必要なのはPKCS#12形式のファイルのみであるため、証明書署名要求(.csr)ファイル、秘密鍵(.key)ファイル、および公開証明書(.crt)ファイル。

結果のPKCS#12形式のファイルは、セキュアFTPサーバー-FIPS内で使用できるようになりました。

結果のPKCS#12形式(.pfx)ファイルは、Firefoxブラウザーバージョン34.0.5で使用できるようになりました。

71
Plo_Koon

https://geekflare.com/openssl-commands-certificates/ で情報を使用し、わずか2ステップで成功しました。

  1. openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout mykey.key -out mypem.pem

  2. openssl pkcs12 -export -out myp12.p12 -inkey mykey.key -in mypem.pem

4
Oliver Konig

このサイト「 http://www.sslshopper.com/article-most-common-openssl-commands.html 」を見ると、探している一般的なコマンドのほとんどが含まれています。最近、Amazonアソシエイツプログラムでこれを行う必要があり、サイトも役立つことがわかりました( http://docs.aws.Amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert).By =方法、これを実行するにはopensslをインストールする必要があります( http://slproweb.com/products/Win32OpenSSL.html を参照)。

2
drew_w