@Danbka

Как на PHP проверить подпись PKCS7?

С помощью CryproPro Browser Plugin подписываем данные (данные в подпись не включаются) и передаем данные и подпись на сервер. Как на backend'е с помощью PHP проверить подпись?

Тестовый пример:
Подписываемые данные:
MTIz

Подпись:
MIIHrwYJKoZIhvcNAQcCoIIHoDCCB5wCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG9w0BBwGgggWO
MIIFijCCBTmgAwIBAgIKFa5nHQAAAAAAEzAIBgYqhQMCAgMwVzELMAkGA1UEBhMCUlUxSDBGBgNV
BAMTP0NlbnRlci1JbmZvcm0gVGVzdCBHb3N0IENBIGZvciBBdXRvbWF0ZWQgQ2VydGlmaWNhdGlv
biBTZXJ2aWNlczAeFw0xNjA0MjkxMTU2MDBaFw0xNjA1MjkxMjA2MDBaMIICATEYMBYGCCqFAwOB
DQEBEgo3ODI3MDEwMDAwMRYwFAYFKoUDZAMSCzE0MTQ2NTk0NDYwMRgwFgYFKoUDZAESDTEwMzc4
MDAwMDY1MjkxGjAYBggqhQMDgQMBARIMMDAwMDAwMDAwMDAwMSgwJgYJKoZIhvcNAQkBFhlrLnZh
Z25lckBjZW50ZXItaW5mb3JtLnJ1MQswCQYDVQQGEwJSVTEtMCsGA1UECAwkNzgg0LMuINCh0LDQ
vdC60YIt0J/QtdGC0LXRgNCx0YPRgNCzMQowCAYDVQQHDAEwMTMwMQYDVQQKDCrQntCe0J4gIjEy
0KLQtdGB0YLQvtCy0LDRjyDQktCw0LPQvdC10YAxMiIxCjAIBgNVBAsMATAxMzAxBgNVBAMMKtCe
0J7QniAiMTLQotC10YHRgtC+0LLQsNGPINCS0LDQs9C90LXRgDEyIjEKMAgGA1UECQwBMDEwMC4G
CSqGSIb3DQEJAgwhMDAwMDAwMDAwMC03ODA0MDEwMTItNzAxNzA4OTAzMzA3MSwwKgYDVQQMDCPQ
ktC10LTRg9GJ0LjQuSDRgdC/0LXRhtC40LDQu9C40YHRgjEsMCoGA1UEKgwj0JrRgdC10L3QuNGP
INCT0YDQuNCz0L7RgNGM0LXQstC90LAxFTATBgNVBAQMDNCS0LDQs9C90LXRgDBjMBwGBiqFAwIC
EzASBgcqhQMCAiQABgcqhQMCAh4BA0MABEDQ+qVSBmQT0pLQktgaiF4eYRhHCkj4dgysTY6yGwqY
f3YO5ErwQEP551bi2cUWSAD56nUtMCmRSVdm/LTwXNgvo4ICNzCCAjMwDgYDVR0PAQH/BAQDAgTw
MFYGA1UdJQRPME0GCCsGAQUFBwMCBggrBgEFBQcDBAYHKoUDAgIiBgYHKoUDAwcIAQYIKoUDAwcB
AQEGBiqFAwMHAQYKKwYBBAGCNxQCAgYHKoUDAwYAATARBgUqhQNkbwQIDAZmZ2JkZmcwJwYDVR0R
BCAwHqQcMBoxGDAWBggqhQMDgQ0BARMKNzgyNzAxMDAwMDAdBgNVHQ4EFgQUcptDmJmnjCYFiHYT
qUV3uzpe154wHwYDVR0jBBgwFoAUu5WQXMfu/Sh+KvktbnKGhg+UzbowgYQGA1UdHwR9MHsweaB3
oHWGc2ZpbGU6Ly9XSU4tVkgzMDBRUTFPRTEvY2VydGVucm9sbC9DZW50ZXItSW5mb3JtJTIwVGVz
dCUyMEdvc3QlMjBDQSUyMGZvciUyMEF1dG9tYXRlZCUyMENlcnRpZmljYXRpb24lMjBTZXJ2aWNl
cy5jcmwwgaMGCCsGAQUFBwEBBIGWMIGTMIGQBggrBgEFBQcwAoaBg2ZpbGU6Ly9XSU4tVkgzMDBR
UTFPRTEvY2VydGVucm9sbC9XSU4tVkgzMDBRUTFPRTFfQ2VudGVyLUluZm9ybSUyMFRlc3QlMjBH
b3N0JTIwQ0ElMjBmb3IlMjBBdXRvbWF0ZWQlMjBDZXJ0aWZpY2F0aW9uJTIwU2VydmljZXMuY3J0
MCAGBSqFA2RwBBcwFQwEZGZnYgwDZmdiDANmZ2IMA2RmZzAIBgYqhQMCAgMDQQDrI0ZZv4spqkAE
FgMctJ0u/alxpARIoas+EykdxXHNhsI+qo6dNUvlDcU6iumt2vneS1Roae5JpXxONR0xhCAaMYIB
6DCCAeQCAQEwZTBXMQswCQYDVQQGEwJSVTFIMEYGA1UEAxM/Q2VudGVyLUluZm9ybSBUZXN0IEdv
c3QgQ0EgZm9yIEF1dG9tYXRlZCBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzAgoVrmcdAAAAAAATMAoG
BiqFAwICCQUAoIIBHDAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x
NjA1MjMxMDU5NTlaMC8GCSqGSIb3DQEJBDEiBCBe8YSJYXui2NLX4No4mqpP8CKtAaOVEqT+oajE
XkORSDCBsAYLKoZIhvcNAQkQAi8xgaAwgZ0wgZowgZcwCAYGKoUDAgIJBCAgZs3V6/iQi9GkX/56
BRMSGZJBQzzqS5IumTyjlmWxuTBpMFukWTBXMQswCQYDVQQGEwJSVTFIMEYGA1UEAxM/Q2VudGVy
LUluZm9ybSBUZXN0IEdvc3QgQ0EgZm9yIEF1dG9tYXRlZCBDZXJ0aWZpY2F0aW9uIFNlcnZpY2Vz
AgoVrmcdAAAAAAATMAoGBiqFAwICEwUABED8RT4JumVC2gUtGoMaemycUrRoysXZ7NOw++429MDg
Yj/k8VjwJdqvrNMiWnrEThkiQXLufj5fyADrtv6W5R9p
  • Вопрос задан
  • 1705 просмотров
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
php.net/manual/en/ref.openssl.php

Дальше сами.
Ответ написан
Комментировать
BoShurik
@BoShurik
Symfony developer
Можно с помощью cryptcp

/opt/cprocsp/bin/ia32/cryptcp -verify -verall "message.sign"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы