【问题标题】:RSACryptoServiceProvider SignHash equivalent in php / openssl?php / openssl 中的 RSACryptoServiceProvider SignHash 等效项?
【发布时间】:2013-06-14 09:10:17
【问题描述】:

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

【问题讨论】:

    标签: openssl rsacryptoserviceprovider


    【解决方案1】:

    想通了。

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

    $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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多