安全凭证的 Base64 编码字符串,使用 public 密钥加密
Base64 encoded string of the Security Credential, which is encrypted using public key
我正在开发一个需要对安全凭证进行加密的 API。我没有做任何加密。
安全凭据是通过使用 public 密钥(X509 证书)对 base64 编码密码进行加密生成的。
生成安全凭证的算法如下:
将未加密的密码写入字节数组。
使用 public 密钥证书加密数组。使用 RSA 算法,并使用 PKCS #1.5 填充(不是 OAEP),并将结果添加到加密流中。
使用 base64 编码将生成的加密字节数组转换为字符串。生成的 base64 编码字符串就是安全凭证。
谁能帮我在 php 中实现这个目标?
我得到了答案;
<?php
function EncryptData($source)
{
$fp=fopen("path/to/cert.cer","r");
$pub_key=fread($fp,8192);
fclose($fp);
$key_resource = openssl_get_publickey($pub_key);
openssl_public_encrypt($source,$crypttext, $key_resource );
/*uses the already existing key resource*/
return(base64_encode($crypttext));
//echo base64_encode($crypttext);
}
echo EncryptData($pass);
?>
我正在开发一个需要对安全凭证进行加密的 API。我没有做任何加密。
安全凭据是通过使用 public 密钥(X509 证书)对 base64 编码密码进行加密生成的。
生成安全凭证的算法如下: 将未加密的密码写入字节数组。 使用 public 密钥证书加密数组。使用 RSA 算法,并使用 PKCS #1.5 填充(不是 OAEP),并将结果添加到加密流中。 使用 base64 编码将生成的加密字节数组转换为字符串。生成的 base64 编码字符串就是安全凭证。
谁能帮我在 php 中实现这个目标?
我得到了答案;
<?php
function EncryptData($source)
{
$fp=fopen("path/to/cert.cer","r");
$pub_key=fread($fp,8192);
fclose($fp);
$key_resource = openssl_get_publickey($pub_key);
openssl_public_encrypt($source,$crypttext, $key_resource );
/*uses the already existing key resource*/
return(base64_encode($crypttext));
//echo base64_encode($crypttext);
}
echo EncryptData($pass);
?>