牛骨文教育服务平台(让学习变的简单)
博文笔记

java 与 php 做rsa 加密数据通讯问题处理

创建时间:2017-02-15 投稿人: 浏览次数:699
php需要解决的核心问题:
1,密钥的解密处理 包括私钥跟公钥,java对于密钥的加密有2种,pkcs8 跟 x509
pkcs8 算法需要额外的库支持 phpseclib 该库依赖 MATH_BIGINTEGER 如果下载1.几版本可手动调整支持php7
2,签名的加密算法 php 默认应该是rsa模式 如果使用需要java配合。
详情见:https://schneimi.wordpress.com/2008/11/25/rsa-encryption-between-java-and-php/
还有一种签名算法为 OPENSSL_ALGO_MD5 一般的java设置都会支持

3,数据加密算法,对于php 应该是 ,OPENSSL_PKCS1_PADDING


//证书pkcs8格式转换
function pkcs8ToPem($der_data)
{
	//进行证书pkcs8 密钥解密处理
	$rsa = new phpseclibCryptRSA();
	$rsa->loadKey($private_content);
	return $rsa->getPrivateKey();
}
//证书x509格式转换
function x509ToPem($der_data) {
	//$der_data 为base64 编码格式
	$pem = chunk_split($der_data, 64, "
");
	$pem = "-----BEGIN PUBLIC KEY-----
".$pem."-----END PUBLIC KEY-----
";
	return $pem;
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。