Я специально хочу определить срок годности ключа, используемого для подписи Android APK.
Похоже, файл имеет кодировку DER-PKCS # 7, так как здесь показано содержимое:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
Некоторые подходы, которые я попробовал:
/* try to open as pkcs#7. prints FALSE. */
if( TRUE === openssl_pkcs7_verify ( 'CERT.RSA', 0 ) ) {
echo "TRUE\n";
}
else {
echo "FALSE\n";
}
/* try to open as an x509. prints FALSE. */
$data = openssl_x509_parse(file_get_contents('CERT.RSA'));
if( $data === FALSE ) {
echo "FALSE\n";
}
/*
un-DER with phpseclib
prints a nestated data structure that clearly includes
data from CERT.RDA, but unclear to me which value is
the cert expiration date.
*/
$ASN1 = new File_ASN1(file_get_contents('CERT.RSA'));
print_r( $ASN1->decodeBER(file_get_contents('CERT.RSA')) );`
я мог просто вызовите openssl из exec () или подобного, но я бы предпочел иметь решение на чистом PHP. Кто-нибудь есть?
Задача ещё не решена.
Других решений пока нет …