Статус: Новичок
Группы: Участники
Зарегистрирован: 23.05.2011(UTC) Сообщений: 3
|
Доброго времени суток!
У меня стоит следующая задача, при обработке документов, подписать некоторые данные, затем проверить не внесены ли изменения в эти данные, если внесены, то верификация не должна пройти проверку. Данные подписываются через CAPICOM. Проверяю через КриптоПро JCP.
data - данные для верификации в BASE64 ( подписываются именно в таком виде). sign - сама подпись
final SignedData cms = new SignedData();
public boolean verify(String data, String sign) { try{ byte[] certSignature = sign.getBytes(); Decoder decoder = new Decoder(); Base64.decode(certSignature); byte[] der = decoder.decodeBuffer(sign); final Asn1DerDecodeBuffer asnBuf = new Asn1DerDecodeBuffer(der); ContentInfo content = new ContentInfo(); content.decode(asnBuf); final SignedData cms = (SignedData) content.content; CertificateSet ce = cms.certificates; CertificateChoices[] cc = ce.elements; final Asn1BerEncodeBuffer encBuf = new Asn1BerEncodeBuffer(); cc[0].getElement().encode(encBuf); final CertificateFactory cf2 = CertificateFactory.getInstance("X.509"); final X509Certificate cert3 =(X509Certificate) cf2.generateCertificate(encBuf.getInputStream()); cert3.getSignature(); Signature sig2 = Signature.getInstance(JCP.CRYPTOPRO_SIGN_NAME, "JCP");
sig2.initVerify(cert3.getPublicKey()); sig2.update(data.getBytes()); boolean isValid = sig2.verify(sign.getBytes());
}catch (Exception e){ return false; }
Входные параметры на которых тестирую : data = "MTExMTE=MTEx"
sign= "MIINdwYJKoZIhvcNAQcCoIINaDCCDWQCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG 9w0BBwGgggirMIIEBTCCA7SgAwIBAgIKJXMxpwAAAAAAODAIBgYqhQMCAgMwggGk MR8wHQYJKoZIhvcNAQkBFhBjaXR0by1jYUA3MnRvLnJ1MQswCQYDVQQGEwJSVTEV MBMGA1UEBwwM0KLRjtC80LXQvdGMMSowKAYDVQQIDCHQotGO0LzQtdC90YHQutCw 0Y8g0L7QsdC70LDRgdGC0YwxSTBHBgNVBAsMQNCe0YLQtNC10Lsg0LjQvdGE0L7R gNC80LDRhtC40L7QvdC90L7QuSDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LgxgdIw gc8GA1UECgyBx9CT0L7RgdGD0LTQsNGA0YHRgtCy0LXQvdC90L7QtSDQsdGO0LTQ ttC10YLQvdC+0LUg0YPRh9GA0LXQttC00LXQvdC40LUg0KLRjtC80LXQvdGB0LrQ vtC5INC+0LHQu9Cw0YHRgtC4INCm0LXQvdGC0YAg0LjQvdGE0L7RgNC80LDRhtC4 0L7QvdC90YvRhSDRgtC10YXQvdC+0LvQvtCz0LjQuSDQotGO0LzQtdC90YHQutC+ 0Lkg0L7QsdC70LDRgdGC0LgxETAPBgNVBAMTCENJVFRPLUNBMB4XDTExMDIxODE0 NDQwMFoXDTE4MDIxODE0NTQwMFowgZgxCzAJBgNVBAYTAlJVMRUwEwYDVQQLEww3 MjYwMTE3MzAwMDIxMzAxBgNVBAMMKtCk0YDQuNC80LDQvSDQk9C+0YDQtNC+0L0g 0J8gMTAxMTE5NzMgMjY1NDErMCkGCgmSJomT8ixkARkWGzk2NDM5MDcyNjAxMTcz MDAwMTQxNDAyMDE3MjEQMA4GCSqGSIb3DQEJAgwBXzBjMBwGBiqFAwICEzASBgcq hQMCAiQABgcqhQMCAh4BA0MABEAOsrcY58ZuiI+zOwFnkHQAv4tw9J3lAJYJqpbA XNDLaz8PIRHVxn8CXFigatIaS2NKVd55lq71waRuSVIPnqBRo4HOMIHLMA4GA1Ud DwEB/wQEAwIE8DAcBgNVHSUEFTATBgcqhQMCAiIGBggrBgEFBQcDAjAdBgNVHQ4E FgQUu529ZT/q+5oz01Sv7Kr+XYXBnCYwHwYDVR0jBBgwFoAUvuxXrNAr6Hy1Okau MrA9xVMwPCQwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL2xrLmFkbXR5dW1lbi5y dTAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9say5hZG10eXVt ZW4ucnUwCAYGKoUDAgIDA0EAdXPXQuQsrtzzqvTec8hIjxcaK03WbGmyBAnRCQ8/ LXs3Mb9OFVYIPBE5X0b/mfN6v5n8AjHH+49gUQ/2VwCVZTCCBJ4wggRLoAMCAQIC ECYsM0NGdoS8Rh9Zf3MbZ4UwCgYGKoUDAgIDBQAwggGkMR8wHQYJKoZIhvcNAQkB FhBjaXR0by1jYUA3MnRvLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBwwM0KLRjtC8 0LXQvdGMMSowKAYDVQQIDCHQotGO0LzQtdC90YHQutCw0Y8g0L7QsdC70LDRgdGC 0YwxSTBHBgNVBAsMQNCe0YLQtNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC9 0L7QuSDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LgxgdIwgc8GA1UECgyBx9CT0L7R gdGD0LTQsNGA0YHRgtCy0LXQvdC90L7QtSDQsdGO0LTQttC10YLQvdC+0LUg0YPR h9GA0LXQttC00LXQvdC40LUg0KLRjtC80LXQvdGB0LrQvtC5INC+0LHQu9Cw0YHR gtC4INCm0LXQvdGC0YAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90YvRhSDRgtC1 0YXQvdC+0LvQvtCz0LjQuSDQotGO0LzQtdC90YHQutC+0Lkg0L7QsdC70LDRgdGC 0LgxETAPBgNVBAMTCENJVFRPLUNBMB4XDTEwMTIwMjA1NTYyOVoXDTE5MTIwMjA2 MDU1MFowggGkMR8wHQYJKoZIhvcNAQkBFhBjaXR0by1jYUA3MnRvLnJ1MQswCQYD VQQGEwJSVTEVMBMGA1UEBwwM0KLRjtC80LXQvdGMMSowKAYDVQQIDCHQotGO0LzQ tdC90YHQutCw0Y8g0L7QsdC70LDRgdGC0YwxSTBHBgNVBAsMQNCe0YLQtNC10Lsg 0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90L7QuSDQsdC10LfQvtC/0LDRgdC90L7R gdGC0LgxgdIwgc8GA1UECgyBx9CT0L7RgdGD0LTQsNGA0YHRgtCy0LXQvdC90L7Q tSDQsdGO0LTQttC10YLQvdC+0LUg0YPRh9GA0LXQttC00LXQvdC40LUg0KLRjtC8 0LXQvdGB0LrQvtC5INC+0LHQu9Cw0YHRgtC4INCm0LXQvdGC0YAg0LjQvdGE0L7R gNC80LDRhtC40L7QvdC90YvRhSDRgtC10YXQvdC+0LvQvtCz0LjQuSDQotGO0LzQ tdC90YHQutC+0Lkg0L7QsdC70LDRgdGC0LgxETAPBgNVBAMTCENJVFRPLUNBMGMw HAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEDQwAEQCt2Sv8ZdRtT3l7e0qTp h20opi5Oq7EmjqBez4QOEolo6JhNZyjGOtQYX7yuFL0ShAGi64A4EuBxbVfZuf9e sdqjUTBPMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS+ 7Fes0CvofLU6Rq4ysD3FUzA8JDAQBgkrBgEEAYI3FQEEAwIBADAKBgYqhQMCAgMF AANBAAIwXz1Q+OeoYPjrldgVR9qsq0Wu94MuYC6Ep3ogf3YlZHG7ZhOvDhRPmKgu Xewl6+AyzMQ6GNL3ok/PVI/zOdExggSTMIIEjwIBATCCAbQwggGkMR8wHQYJKoZI hvcNAQkBFhBjaXR0by1jYUA3MnRvLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBwwM 0KLRjtC80LXQvdGMMSowKAYDVQQIDCHQotGO0LzQtdC90YHQutCw0Y8g0L7QsdC7 0LDRgdGC0YwxSTBHBgNVBAsMQNCe0YLQtNC10Lsg0LjQvdGE0L7RgNC80LDRhtC4 0L7QvdC90L7QuSDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LgxgdIwgc8GA1UECgyB x9CT0L7RgdGD0LTQsNGA0YHRgtCy0LXQvdC90L7QtSDQsdGO0LTQttC10YLQvdC+ 0LUg0YPRh9GA0LXQttC00LXQvdC40LUg0KLRjtC80LXQvdGB0LrQvtC5INC+0LHQ u9Cw0YHRgtC4INCm0LXQvdGC0YAg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90YvR hSDRgtC10YXQvdC+0LvQvtCz0LjQuSDQotGO0LzQtdC90YHQutC+0Lkg0L7QsdC7 0LDRgdGC0LgxETAPBgNVBAMTCENJVFRPLUNBAgolczGnAAAAAAA4MAoGBiqFAwIC CQUAoIICdjAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEP Fw0xMTA1MjAxMDI5NDRaMC8GCSqGSIb3DQEJBDEiBCAM4/PLSTgJfpOtQEciksZb cfnk1AnPYSjIE0u96M8dFjCCAgkGCyqGSIb3DQEJEAIvMYIB+DCCAfQwggHwMIIB 7DAIBgYqhQMCAgkEIFaktfkqEVD843Yhm1HUbMKTpWV6my/XUMXXr8T97/8sMIIB vDCCAaykggGoMIIBpDEfMB0GCSqGSIb3DQEJARYQY2l0dG8tY2FANzJ0by5ydTEL MAkGA1UEBhMCUlUxFTATBgNVBAcMDNCi0Y7QvNC10L3RjDEqMCgGA1UECAwh0KLR jtC80LXQvdGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMUkwRwYDVQQLDEDQntGC0LTQ tdC7INC40L3RhNC+0YDQvNCw0YbQuNC+0L3QvdC+0Lkg0LHQtdC30L7Qv9Cw0YHQ vdC+0YHRgtC4MYHSMIHPBgNVBAoMgcfQk9C+0YHRg9C00LDRgNGB0YLQstC10L3Q vdC+0LUg0LHRjtC00LbQtdGC0L3QvtC1INGD0YfRgNC10LbQtNC10L3QuNC1INCi 0Y7QvNC10L3RgdC60L7QuSDQvtCx0LvQsNGB0YLQuCDQptC10L3RgtGAINC40L3R hNC+0YDQvNCw0YbQuNC+0L3QvdGL0YUg0YLQtdGF0L3QvtC70L7Qs9C40Lkg0KLR jtC80LXQvdGB0LrQvtC5INC+0LHQu9Cw0YHRgtC4MREwDwYDVQQDEwhDSVRUTy1D QQIKJXMxpwAAAAAAODAKBgYqhQMCAhMFAARAVD8EINJ/0kwPDJbv3Iq52t+KXXKg 2K8TAr7VPDCzXjllPmHRF2yujamVjjiZXawRBl+hh0Dr13EV8o0U9wplyA=="
Проблема в том, что данные не верифицируются, Система : Windows 7, JCP.1.0.47. Что я делаю не так ?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 23.05.2011(UTC) Сообщений: 3
|
Версия Крипто ПРО которой делалась подпись CSP 3.6.6497, ядро СЗКИ 3.6.5359
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 23.05.2011(UTC) Сообщений: 3
|
Подпись осуществляется через браузер, вызывается CAPICOM и в него передается строка для подписи.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close