验证上传的文件是否为有效的 PEM 文件
Validating that an uploaded file is a valid PEM file
我正在尝试找出一种 effective/elegant 方法来验证用户上传的文件是否是有效的 pem 文件,而不依赖于验证扩展名。有人完成这个或有任何想法吗?
使用"openssl rsa"并解析其输出
错误的文件:
$ openssl rsa -noout -modulus -in ./wrong.pem
unable to load Private Key
140324790638432:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
正确的密钥
$ openssl rsa -noout -modulus -in ../proper.pem
Modulus=98B139C27E3623E542CEC76ECEA0619D045746B2F99265F030391296C5DD83301A85C43A00C745DAB77DFC771CE5666CF81ED81C4561F945EF123D5CB5687500A243E1F87B707FFFC318EA8E9605B2047E2D790BB71B9AF04F385C2E40C18A40FE5FB5CBC96C0C05D4220E5C73564027C6CB0DEEDB8AD8460B78A54536ADB81D204FDDFDB388F6EEFD537E6C3D743A9C9C2FE00D9A819A9587EE359DAA48AD08FC06D99D8686C38B0BD684CC41F0B61115F65B005C53F472D648C2EB92AAFC6526E7F4FFE873FB0C3589C24CCCCA1DCA08B352F9893310F876C007E72B809FAB6738855C5C901C8C006E9E137BF340E8A6E204FC70864AE29D9009DC9CBBEAD9
因此您可以将 openssl 执行包装到 shell_exec(),解析输出并检查 "unable to load Private Key" 以检测错误的证书
我使用 php 文件按照以下步骤验证我的 pem,
- 从validate pem
下载文件
- 将扩展名从 FILENAME.txt
更改为 FILENAME.php
- 将其移动到保存.pem 文件的文件夹中。
- 写入设备令牌和 pem 文件名 .php 文件。
- 打开终端并运行命令"php FILENAME.php"
如果显示成功,说明.pem文件是正确的。
我正在尝试找出一种 effective/elegant 方法来验证用户上传的文件是否是有效的 pem 文件,而不依赖于验证扩展名。有人完成这个或有任何想法吗?
使用"openssl rsa"并解析其输出
错误的文件:
$ openssl rsa -noout -modulus -in ./wrong.pem
unable to load Private Key
140324790638432:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
正确的密钥
$ openssl rsa -noout -modulus -in ../proper.pem
Modulus=98B139C27E3623E542CEC76ECEA0619D045746B2F99265F030391296C5DD83301A85C43A00C745DAB77DFC771CE5666CF81ED81C4561F945EF123D5CB5687500A243E1F87B707FFFC318EA8E9605B2047E2D790BB71B9AF04F385C2E40C18A40FE5FB5CBC96C0C05D4220E5C73564027C6CB0DEEDB8AD8460B78A54536ADB81D204FDDFDB388F6EEFD537E6C3D743A9C9C2FE00D9A819A9587EE359DAA48AD08FC06D99D8686C38B0BD684CC41F0B61115F65B005C53F472D648C2EB92AAFC6526E7F4FFE873FB0C3589C24CCCCA1DCA08B352F9893310F876C007E72B809FAB6738855C5C901C8C006E9E137BF340E8A6E204FC70864AE29D9009DC9CBBEAD9
因此您可以将 openssl 执行包装到 shell_exec(),解析输出并检查 "unable to load Private Key" 以检测错误的证书
我使用 php 文件按照以下步骤验证我的 pem,
- 从validate pem 下载文件
- 将扩展名从 FILENAME.txt 更改为 FILENAME.php
- 将其移动到保存.pem 文件的文件夹中。
- 写入设备令牌和 pem 文件名 .php 文件。
- 打开终端并运行命令"php FILENAME.php"
如果显示成功,说明.pem文件是正确的。