RSACryptoServiceProvider在php / openssl中等效的SignHash?

时间:2013-06-14 09:10:17

标签: openssl rsacryptoserviceprovider

我的理解是openssl_sign和RSACryptoServiceProvider.SignData一样 是否有一个openssl(或php)命令与RSACryptoServiceProvider.SignHash相同?

1 个答案:

答案 0 :(得分:0)

想通了。

这是我如何在php中签署与DotNETs XML签名兼容的数据

$private_key = "-----BEGIN PRIVATE KEY----- [private data] -----END PRIVATE KEY-----"

$sig1 = "<SIGNATURE><VERSION>1.0</VERSION><DIGEST>";

$sig2 = "</DIGEST><RSAKeyValue><Modulus>[private data]</Modulus><Exponent>[private data]</Exponent></RSAKeyValue></SIGNATURE>";

$pkeyid = openssl_get_privatekey($private_key);

openssl_sign($data, $sig,$pkeyid,OPENSSL_ALGO_SHA1);

$rsasignature = $sig1.strtoupper(bin2hex($sig)).$sig2;