在 PHP 中使用 X509 证书加密数据

Crypting data with a X509 certificate in PHP

我需要将加密数据发送到支付网站,他们的说明告诉我:

-X509 public certificate : "This site" will generate a X509 public certificate for every merchant account created. You’ll have to use this certificate in order to encrypt data every time you initiate to "this site" a payment. This cannot be used to decrypt data, "this site" will use a private key to decrypt.

据我所知以及我在 PHP 文档中看到的内容,如果数据已签名,您只能检查证书。那么我怎么能用给定的证书加密数据并做他们想做的呢?

可能您正在搜索函数 openssl_public_encrypt()。为此,您必须为 PHP 加载 openSSL 扩展,这很可能已启用,但也可能未启用。

有关如何获取密钥的示例,请参阅评论 in the same doc (basically using openssl_pkey_get_public()) 但是,除了使用 fopen()fread(),您还可以使用 file_get_contents(),这是我的首选方式。