Я пытаюсь проверить подпись сообщения S / MIME, используя openssl_pkcs7_verify ().
С «инструментом тестирования транспорта» http://transport-testing.nist.gov/ttt/
Я отправляю образцы сообщений S / MIME на мой адрес и после успешного декодирования пытаюсь проверить его подпись.
Когда сертификат правильный, я получаю успех,
но я также получаю успех, когда сертификат недействителен.
Как я могу проверить это правильно с помощью команды PHP или openssl?
<?php
# Good cert
$bRes = openssl_pkcs7_verify('decoded_1.txt', 0, 0, array('nist.gov.pem', 'sampleca.nist.gov.pem'));
$bErr = openssl_error_string();
var_dump($bRes, $bErr); # returns true, false
# Invalid cert
$bRes = openssl_pkcs7_verify('decoded_2.txt', 0, 0, array('nist.gov.pem', 'sampleca.nist.gov.pem'));
$bErr = openssl_error_string();
var_dump($bRes, $bErr); # returns true, false
Обратите внимание, что CCDA_Inpatient.xml в файлах thers одинаковы, но smime.p7s отличается.
Задача ещё не решена.
Других решений пока нет …