ホームページ >バックエンド開発 >PHPチュートリアル >Alipay は公開キーを生成するために OpenSSL をどのように設定しますか?

Alipay は公開キーを生成するために OpenSSL をどのように設定しますか?

PHPz
PHPz転載
2016-06-20 12:29:233103ブラウズ

この記事は、Alipay 決済サービスの設定に役立ち、Alipay オープン プラットフォームでの RSA (SHA1) キーと OpenSSL での公開キーと秘密キーのペアを設定する方法を紹介します。

Alipay 決済サービスの最初の設定を入力します

Alipay サービスを設定するには、Alipay のオープン プラットフォームにアクセスしてサービスを申請する必要があります

いくつかのパラメータを設定する必要があります

このうち、RSA (SHA1) キー (公開鍵 (このサブワードは「ヤオ」と読むことに注意)) をバックグラウンドで設定および構成する必要があります

Alipay の背景次のようなプロンプト

Use SHA1withRsa、Alipay will use SHA1withRsa このアルゴリズムは、インターフェイスを呼び出すときに署名検証を実行します (キーの長さは制限されません)。 Alipay キー ジェネレーターまたは OpenSSL (サードパーティ ツール) を使用してキーを生成します

ローカル システムとリモート システムは centos であるため

、公開キーの生成には OpenSSL を選択しました

始めましょう

最初のステップは、OpenSSL がインストールされているかどうかを確認することです

1.1 がインストールされている場合。 openssl

と入力すると、次のインターフェイスが表示されます。これは、

[likilone@MyCentOS temp]$ openssl
OpenSSL>

がインストールされていることを意味します。その後、コマンドを実行してパブリックとプライベートを作成できます。キー

作成した公開キーと秘密キーは現在のフォルダー temp

1.2 にあることに注意してください。インストールされていない場合は、yum

次のコードを参照してください:

まず、インストールできる OpenSSL のバージョンをリストします

[likilone@MyCentOS temp]$ yum list openssl*
已加载插件:fastestmirror, langpacks
https://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo/epel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/

Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * elrepo: mirrors.tuna.tsinghua.edu.cn
 * epel: ftp.cuhk.edu.hk
 * extras: centos.ustc.edu.cn
 * updates: ftp.sjtu.edu.cn
已安装的软件包
openssl.x86_64                     1:1.0.1e-51.el7_2.5                  @updates
openssl-devel.x86_64               1:1.0.1e-51.el7_2.5                  @updates
openssl-libs.x86_64                1:1.0.1e-51.el7_2.5                  @updates
openssl098e.x86_64                 0.9.8e-29.el7.centos.3               @updates
可安装的软件包
openssl-devel.i686                 1:1.0.1e-51.el7_2.5                  updates 
openssl-libs.i686                  1:1.0.1e-51.el7_2.5                  updates 
openssl-perl.x86_64                1:1.0.1e-51.el7_2.5                  updates 
openssl-static.i686                1:1.0.1e-51.el7_2.5                  updates 
openssl-static.x86_64              1:1.0.1e-51.el7_2.5                  updates 
openssl098e.i686                   0.9.8e-29.el7.centos.3               updates 
[likilone@MyCentOS temp]$
上記の情報は、私がインストールした openssl のバージョンを示しています

インストールしていない場合は、yum を使用して直接インストールできます。

yum install XXX

2 番目のステップは、秘密鍵と公開鍵のペアを作成することです

秘密キーは、その名前が示すように、独自のキーです

次のコードを実行すると、生成が成功したことを示す結果が表示されます

OpenSSL> genrsa -out rsa_privte.pem 1024    
Generating RSA private key, 1024 bit long modulus
.........................................................++++++
.....................................++++++
e is 65537 (0x10001)
秘密キー上記で生成された公開キーには

が含まれているため、この秘密キーを通じて公開キーを取得できます。公開キーは秘密キーから公開キーを抽出することです。コードは次のとおりです。

OpenSSL> rsa -in rsa_privte.pem -pubout -out public.pem
writing RSA key

3 番目のステップは、

を適用する方法です。上記の作業はすでに完了しています。公開キーと秘密キー

を作成した後、テキスト エディターを使用して、公開キーを開いて、中のコードを Alipay オープン プラットフォームにコピーします。下の図に示すように、公開キーの入力を求められます

Alipay は公開キーを生成するために OpenSSL をどのように設定しますか?Alipay rsa 公開キーの設定

これで設定が完了したので、簡単なテキストをテストしてみましょう

公開鍵と秘密鍵がどのように機能するかを確認します

まず、新しいテキスト ファイル 1.txt を作成します

内部のコンテンツは hello rsa です

このファイルの暗号化には公開キーを使用します。

OpenSSL> rsautl -encrypt -in 1.txt -inkey public.pem -pubin -out 2.en
秘密キーで復号化します

OpenSSL> rsautl -decrypt -in 2.en -inkey rsa_privte.pem -out 2.de
いくつかのパラメータの説明上記

  • encrypt: 暗号化

  • decrypt: 復号化

  • -in: 復号化するファイルまたは暗号化された

  • -inkey: 指定されたキー

  • -out: 出力ファイル

暗号化に秘密キーを使用する場合は、復号化するときに秘密キーを使用する必要があることに注意してください。暗号化に公開キーを使用する場合は、復号化するときに秘密キーを使用するだけでテストできます。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。