Je reçois une erreur lorsque je lance la commande de vérification Openssl sur Ubuntu 14,04 avec Openssl 1.0.1f 6 janvier 2014. L'erreur est 0x2F067065
avec la chaîne d'erreur time stamp routines:TS_CHECK_SIGNING_CERTS:ess signing certificate error
.erreur 0x2F067065 dans ts_rsp_verify.c: 291
Le fournisseur d'horodatage soupçonne qu'il s'agit d'un bogue d'Openssl. Openssl est occupé avec la nouvelle version et n'est pas réactif sur ce sujet qui est de faible priorité.
Quelle est cette erreur, comment puis-je résoudre ce problème? Quelqu'un pourrait-il m'aider?
C'est lorsque l'erreur se produit:
openssl ts -verify -digest e16db7d30581e44a5540f19553852b5a4e4e26f9adc365cc846f94038ee33025 \
-in /tmp/namirial.tsr -CAfile /tmp/NamirialCATSA.pem
Verification: FAILED
140236013643424:error:2F067065:time stamp routines:TS_CHECK_SIGNING_CERTS:ess signing
certificate error:ts_rsp_verify.c:291:
Si nécessaire, j'ai un scénario de reproduction complète, je peux envoyer en privé. L'erreur est systématique et stable. Ceci est le code PHP où j'appelle la bibliothèque openssl pour effectuer la validation, toute aide sur la façon de trouver une bibliothèque similaire (comme il semble que c'est un bug dans Openssl, donc j'ai besoin d'utiliser une autre bibliothèque) et comment appelez-le formulaire PHP dans Ubuntu?
public static function validate ($hash, $base64_response_string, $response_time, $tsa_cert_file)
{
//if (strlen($hash) !== 40)
//if (strlen($hash) !== 64) // sha256
//throw new Exception("Invalid Hash");
$binary_response_string = base64_decode($base64_response_string);
if (!strlen($binary_response_string))
throw new Exception("There was no response-string");
if (!intval($response_time))
throw new Exception("There is no valid response-time given");
if (!file_exists($tsa_cert_file))
throw new Exception("The TSA-Certificate could not be found");
$responsefile = self::createTempFile($binary_response_string);
$cmd = "openssl ts -verify -digest ".escapeshellarg($hash)." -in ".escapeshellarg($responsefile)." -CAfile ".escapeshellarg($tsa_cert_file);
$retarray = array();
exec($cmd." 2>&1", $retarray, $retcode);
if(unlink($responsefile)) {
If ($debugMN) {echo " File Deleted Tempfile in validate"; }
}
/*
* just 2 "normal" cases:
* 1) Everything okay -> retcode 0 + retarray[0] == "Verification: OK"
* 2) Hash is wrong -> retcode 1 + strpos(retarray[somewhere], "message imprint mismatch") !== false
*
* every other case (Certificate not found/invalid/openssl is not installed/ts command not known)
* are being handled the same way -> retcode 1 + any retarray NOT containing "message imprint mismatch"
*/
if ($retcode === 0 && strtolower(trim($retarray[0])) == "verification: ok")
{
if (self::getTimestampFromAnswer ($binary_response_string) != $response_time)
throw new Exception("The responsetime of the request was changed");
return true;
}
foreach ($retarray as $retline)
{
if (stripos($retline, "message imprint mismatch") !== false)
return false;
}
throw new Exception("Systemcommand failed: ".implode(", ", $retarray));
}
Nous vous remercions à l'avance
Stack Overflow est un site de questions sur la programmation et le développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être que [Super User] (http://superuser.com/) ou [Apple Stack Exchange] (http://apple.stackexchange.com/) serait un meilleur endroit à demander. Voir aussi [Où poser des questions sur Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww
* "J'ai un scénario de reproduction complet que je peux envoyer en privé ..." * - Si vous posez la question sur le site approprié, vous devez fournir les détails afin que la communauté puisse le reproduire. Sinon, il sera probablement fermé avec *** Can not duplicate *** ou similaire. Si vous ne voulez pas fournir les détails, alors vous devrez trouver un autre forum parce que c'est * pas * comment fonctionnent les sites du réseau Stack Exchange. – jww
Voir également [Bug possible dans OpenSSL - rfc 3161 - service TSA] (http://openssl.6102.n7.nabble.com/possible-Bug-in-OpenSSL-rfc-3161-TSA-service-td43128.html) sur la liste de diffusion OpenSSL. – jww