Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,223  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 290 раз в 270 постах
|
не подтверждаю Код:import pycades
import base64
print("PyCAdES version: %s" % pycades.ModuleVersion())
store = pycades.Store()
store.Open(pycades.CADESCOM_CURRENT_USER_STORE, pycades.CAPICOM_MY_STORE, pycades.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED)
certs = store.Certificates
assert (certs.Count != 0), "Certificates with private key not found"
print('Cert count: %d' % certs.Count)
# параметры
certSubject = "test2012"
detached = False
cadesType = pycades.CADESCOM_CADES_BES
certs = certs.Find(pycades.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubject)
signer = pycades.Signer()
signer.Certificate = certs.Item(1)
content = base64.b64encode(bytes("0104612727760417215>9WTu93hBzz", "utf-8")).decode()
#content = "eyJpbm4iOiAiMzcwMjA5MDQyNyIsICJhY3Rpb25fZGF0ZSI6ICIyMDIyLTEyLTE0IiwgImFjdGlvbiI6ICJQQUNLSU5HIiwgInByb2R1Y3RzIjogW3siY2lzIjogIjAxMDQ2MTI3Mjc3NjA0MTcyMTU+OVdUdTkzaEJ6eiIsICJwcm9kdWN0X2Nvc3QiOiAiMTAwMDAifV19"
signedData = pycades.SignedData()
signedData.ContentEncoding = pycades.CADESCOM_BASE64_TO_BINARY
signedData.Content = content
signature = signedData.SignCades(signer, cadesType, detached)
print(signature)
with open('sign.sig', 'w') as binary_sig_file:
binary_sig_file.write(signature)
_signedData = pycades.SignedData()
_signedData.ContentEncoding = pycades.CADESCOM_BASE64_TO_BINARY
_signedData.Content = content
_signedData.VerifyCades(signature, cadesType, detached)
# print("verify ok")
if not detached:
content_from_sign = base64.b64decode(_signedData.Content).decode()
print("\nSigned content:")
print(content_from_sign)
Цитата:PyCAdES version: 0.1.30636 Cert count: 13 MIIULgYJKoZIhvcNAQcCoIIUHzCCFBsCAQExDDAKBggqhQMHAQECAjAtBgkqhkiG9w0BBwGgIAQe MDEwNDYxMjcyNzc2MDQxNzIxNT45V1R1OTNoQnp6oIIPzDCCB4AwggctoAMCAQICEQOeeQsB0K6C kkfxtYllvGC1MAoGCCqFAwcBAQMCMIIBVjEVMBMGBSqFA2QEEgo3NzE3MTA3OTkxMSAwHgYJKoZI hvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTEYMBYGBSqFA2QBEg0xMDM3NzAwMDg1NDQ0MQswCQYD VQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx LzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MSUwIwYDVQQK DBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMWswaQYDVQQDDGLQotC10YHRgtC+0LLRi9C5 INC/0L7QtNGH0LjQvdC10L3QvdGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4i INCT0J7QodCiIDIwMTIgKNCj0KYgMi4wKTAeFw0yMjA3MTIxNjAzNTFaFw0yMzA3MTIxNjEzNTFa MBMxETAPBgNVBAMMCHRlc3QyMDEyMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgID QwAEQGQLxlYlRdugRwuUmZdWB62kMmMufuWTJ+3dgtZSxZFjosaKskwJkA91LmpJ4pQT1t8LhqQD HuSHOvMMMjCn2u2jggUOMIIFCjAOBgNVHQ8BAf8EBAMCA/gwHQYDVR0OBBYEFF414JkV9yMs7oAI WeeJBlqLiv92MDQGCSsGAQQBgjcVBwQnMCUGHSqFAwICMgEJhK/ERI7lQ4Tli2CBj71Ig4FIgsIG AgEBAgEAMCYGA1UdJQQfMB0GCCsGAQUFBwMCBggrBgEFBQcDBAYHKoUDAgIiBjAyBgkrBgEEAYI3 FQoEJTAjMAoGCCsGAQUFBwMCMAoGCCsGAQUFBwMEMAkGByqFAwICIgYwgagGCCsGAQUFBwEBBIGb MIGYMDkGCCsGAQUFBzABhi1odHRwOi8vdGVzdGNhMjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIvb2Nz cC5zcmYwWwYIKwYBBQUHMAKGT2h0dHA6Ly90ZXN0Y2EyMDEyLmNyeXB0b3Byby5ydS9haWEvNzU4 ZDFiZjczMmQyZDBmMjVmMWUwZjllMTM3OWViZmMyMGZlOWUyZi5jcnQwHQYDVR0gBBYwFDAIBgYq hQNkcQIwCAYGKoUDZHEBMCsGA1UdEAQkMCKADzIwMjIwNzEyMTYwMzUxWoEPMjAyMzA3MTIxNjEz NTFaMIIBGgYFKoUDZHAEggEPMIIBCww00KHQmtCX0JggItCa0YDQuNC/0YLQvtCf0YDQviBDU1Ai ICjQstC10YDRgdC40Y8gNC4wKQwx0J/QkNCaICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIg0LLQ tdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQ uNGPIOKEliDQodCkLzEyNC0zOTcxINC+0YIgMTUuMDEuMjAyMQxP0KHQtdGA0YLQuNGE0LjQutCw 0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0zODcwINC+0YIgMjMuMDcu MjAyMDAsBgUqhQNkbwQjDCHQodCa0JfQmCAi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIwYAYDVR0f BFkwVzBVoFOgUYZPaHR0cDovL3Rlc3RjYTIwMTIuY3J5cHRvcHJvLnJ1L2NkcC83NThkMWJmNzMy ZDJkMGYyNWYxZTBmOWUxMzc5ZWJmYzIwZmU5ZTJmLmNybDAMBgUqhQNkcgQDAgECMIIBkgYDVR0j BIIBiTCCAYWAFHWNG/cy0tDyXx4PnhN56/wg/p4voYIBWKSCAVQwggFQMQswCQYDVQQGEwJSVTEV MBMGBSqFA2QEEgo3NzE3MTA3OTkxMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTEY MBYGBSqFA2QBEg0xMDM3NzAwMDg1NDQ0MRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxFTATBgNV BAcMDNCc0L7RgdC60LLQsDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQ uyDQtC4gMTgxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxZTBjBgNVBAMM XNCi0LXRgdGC0L7QstGL0Lkg0LPQvtC70L7QstC90L7QuSDQo9CmINCe0J7QniAi0JrQoNCY0J/Q otCeLdCf0KDQniIg0JPQntCh0KIgMjAxMiAo0KPQpiAyLjApghED+JiFAHGt4YxNe0tGxX8VQjAK BggqhQMHAQEDAgNBANz007ObbBjoULI7LoheFy9JoOw6IzJUMSw1XCna2ukl/jq8gJWRi+HK5FHI FnqAqynLHPpIzyPYazhOZya3YHIwgghEMIIH8aADAgECAhED+JiFAHGt4YxNe0tGxX8VQjAKBggq hQMHAQEDAjCCAVAxCzAJBgNVBAYTAlJVMRUwEwYFKoUDZAQSCjc3MTcxMDc5OTExIDAeBgkqhkiG 9w0BCQEWEWluZm9AY3J5cHRvcHJvLnJ1MRgwFgYFKoUDZAESDTEwMzc3MDAwODU0NDQxGDAWBgNV BAgMDzc3INCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMS8wLQYDVQQJDCbRg9C7 LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODElMCMGA1UECgwc0J7QntCeICLQmtCg 0JjQn9Ci0J4t0J/QoNCeIjFlMGMGA1UEAwxc0KLQtdGB0YLQvtCy0YvQuSDQs9C+0LvQvtCy0L3Q vtC5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIiDQk9Ce0KHQoiAyMDEyICjQo9Cm IDIuMCkwHhcNMjEwNzI2MDc1NjI2WhcNMzEwNzI2MDgwNjI2WjCCAVYxFTATBgUqhQNkBBIKNzcx NzEwNzk5MTEgMB4GCSqGSIb3DQEJARYRaW5mb0BjcnlwdG9wcm8ucnUxGDAWBgUqhQNkARINMTAz NzcwMDA4NTQ0NDELMAkGA1UEBhMCUlUxGDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDEVMBMGA1UE BwwM0JzQvtGB0LrQstCwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7 INC0LiAxODElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjFrMGkGA1UEAwxi 0KLQtdGB0YLQvtCy0YvQuSDQv9C+0LTRh9C40L3QtdC90L3Ri9C5INCj0KYg0J7QntCeICLQmtCg 0JjQn9Ci0J4t0J/QoNCeIiDQk9Ce0KHQoiAyMDEyICjQo9CmIDIuMCkwZjAfBggqhQMHAQEBATAT BgcqhQMCAiMBBggqhQMHAQECAgNDAARAXw/pc6Kz/ZMKgisoR22JTQ5q9WOWjneZlwBHy5S16nwp Pxrhq3USTGmZT+y4ddK1YeHJEE5XBYy400H9JjQjHqOCBJMwggSPMF0GBSqFA2RvBFQMUtCh0JrQ l9CYICLQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQIiAo0LLQtdGA0YHQuNGPIDQuMCkgKNC40YHQv9C+ 0LvQvdC10L3QuNC1IDItQmFzZSkwEgYJKwYBBAGCNxUBBAUCAwMAAzAdBgNVHQ4EFgQUdY0b9zLS 0PJfHg+eE3nr/CD+ni8wDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwJQYDVR0g BB4wHDAGBgRVHSAAMAgGBiqFA2RxATAIBgYqhQNkcQIwawYIKwYBBQUHAQEEXzBdMFsGCCsGAQUF BzAChk9odHRwOi8vdGVzdGNhMjAxMi5jcnlwdG9wcm8ucnUvYWlhLzg2OTY3Zjg1OGMxYjMxYWE5 MmE2OGQxNGYyOGNiYjFmMjEyZjVjM2EuY3J0MB8GCSsGAQQBgjcVBwQSMBAGCCqFAwICLgABAgEB AgEAMIIBGgYFKoUDZHAEggEPMIIBCww00KHQmtCX0JggItCa0YDQuNC/0YLQvtCf0YDQviBDU1Ai ICjQstC10YDRgdC40Y8gNC4wKQwx0J/QkNCaICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIg0LLQ tdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQ uNGPIOKEliDQodCkLzEyNC0zOTcxINC+0YIgMTUuMDEuMjAyMQxP0KHQtdGA0YLQuNGE0LjQutCw 0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0zODcwINC+0YIgMjMuMDcu MjAyMDBgBgNVHR8EWTBXMFWgU6BRhk9odHRwOi8vdGVzdGNhMjAxMi5jcnlwdG9wcm8ucnUvY2Rw Lzg2OTY3Zjg1OGMxYjMxYWE5MmE2OGQxNGYyOGNiYjFmMjEyZjVjM2EuY3JsMAwGBSqFA2RyBAMC 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
Signed content: 0104612727760417215>9WTu93hBzz
Process finished with exit code 0 |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Вы используете pycades, который в pip не найден. При попытке сборки этого пакета по инструкции из https://docs.cryptopro.r...es/pycades/pycades-build вылезает несколько ошибок об отсутствии некоторых файлов с расширением ".h". Поэтому её использование не представляется возможным на данный момент или Вы можете дать ссылку на уже собранное расширение? Так же не понятно, смогу ли я использовать это расширение на Windows, если соберу его на ubuntu. Отредактировано пользователем 14 декабря 2022 г. 18:46:53(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,223  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 290 раз в 270 постах
|
работает только на линуксе. почитайте инструкцию все соберется. |
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,223  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 290 раз в 270 постах
|
на C# interop com также все прекрасно работает. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Тогда помогите пожалуйста разобраться, почему возникает эта странная ошибка при моей реализации на win32com.client. Не linux не C# не подходят, как варианты.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
С ошибкой разобрался, проблемы была совершенно не в криптографии и Ваших программных продуктах. Большое спасибо за быструю реакцию!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Автор: hotsizzle23  С ошибкой разобрался, проблемы была совершенно не в криптографии и Ваших программных продуктах. Большое спасибо за быструю реакцию! если возможно - опишите в чём была проблема, вдруг будет аналогичный случай у форумчан. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Да, без проблем. Подписание у меня реализовано, как REST API сервис. Изначально я кодировал в base64 до отправки запроса в этот API. После того, как я отправил строку в явном виде и закодировал в base64 на стороне API, проблема ушла. Возможно тут еще играет роль тот факт, что запросы отправляются из Linux, а API работает на Windows. Но, повторюсь, ошибка возникала только при наличии в исходной строке символа ">". С чем это конкретно связано, точно сказать не могу.
Еще раз большое спасибо!
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close