Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline AntonB  
#1 Оставлено : 23 мая 2011 г. 16:22:54(UTC)
AntonB

Статус: Новичок

Группы: Участники
Зарегистрирован: 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.
Что я делаю не так ?
Offline AntonB  
#2 Оставлено : 23 мая 2011 г. 16:32:12(UTC)
AntonB

Статус: Новичок

Группы: Участники
Зарегистрирован: 23.05.2011(UTC)
Сообщений: 3

Версия Крипто ПРО которой делалась подпись CSP 3.6.6497, ядро СЗКИ 3.6.5359
Offline AntonB  
#3 Оставлено : 24 мая 2011 г. 19:56:14(UTC)
AntonB

Статус: Новичок

Группы: Участники
Зарегистрирован: 23.05.2011(UTC)
Сообщений: 3

Подпись осуществляется через браузер, вызывается CAPICOM и в него передается строка для подписи.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.