25.09.2007 16:07:43Что это за ЭЦП? Ответов: 9
caduser
Некая программа создает ЭЦП используя Capicom. Однако утилита csptest.exe не признает формат этой ЭЦП. Почему?
По ссылке http://www.cryptopro.ru/CryptoPro/forum/view.asp?q=4144
прошу не посылать, т.к. это немного другой случай.
Вот такая длинная ЭЦП (видимо она с сертификатом):
MIIIWQYJKoZIhvcNAQcCoIIISjCCCEYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCBiUwggLeMIICR6ADAgECAhBQQ5ICeJ3bMaEN1PJPT7QfMA0GCSqGSIb3
DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGlu
ZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg
SXNzdWluZyBDQTAeFw0wNzA5MjExNjI3MjhaFw0wODA5MjAxNjI3MjhaMEQxHzAd
BgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBNZW1iZXIxITAfBgkqhkiG9w0BCQEWEmNh
ZHVzZXJnQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AOrqQrHSnERCFWNBbWgs3Wm0T+/o4/HTrJXwcvdpopJg/khKn2s6xN85hC8rM+xg
qIBe5kxXtm7DUyAN0MsXL/3V+5gykzcyHHiJS5ZiR7DqmdodZsBJVPSBAjgNMKwS
6HDyFnd5kZLUm3g4WzIHKRrlsmKLNJmd8KXJQ0CK6jgoFrkKv4zWijWOcXHLP/sv
IiUjyKjGt6C0TdXATy932kxEB5E8teGBaTJa8Q0w+zsdAXEVTWJrrPgskC3DdcgX
x86YrtxO1bAJmcrvB6rBW5STvJ+cc+daEQpRI3pSHQ/0CLMiVeyHPi9csyrXAPEJ
6faARRkdB0bfj9JA4tVXwKUCAwEAAaMvMC0wHQYDVR0RBBYwFIESY2FkdXNlcmdA
Z21haWwuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEAvDCGSh7t
Ynhf9klXeHV18DCirARU3VVfuvjJ/bJkhhGKfCWrNTiXC/WCtpJJJU7INFpSFkJw
nazz68ZcWKzByK7Cg7lX/vK0UzW6SS78Nb1c/iHtrtfvYzOGbRAPDxQZAHzzJ1ik
a9YtajDxcY/vGWIUu9hoJHUTVPAvByvCLuMwggM/MIICqKADAgECAgENMA0GCSqG
SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBl
MRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5n
MSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYD
VQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEW
HHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcN
MTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENv
bnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZy
ZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSm
PFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJj
WiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/QIAC
ZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0T
AQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0
ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYw
KQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqG
SIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6ot
nzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmO
jCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9dX2VPMYIB
/DCCAfgCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1
bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0ECEFBDkgJ4ndsxoQ3U8k9PtB8wCQYFKw4DAhoFAKBdMBgG
CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA3MDkyMjIx
NTIxNFowIwYJKoZIhvcNAQkEMRYEFKFQ8swCHAZ7n3FJM7bzPFB5uEVtMA0GCSqG
SIb3DQEBAQUABIIBAEdhK/PwLJtmKHsHm0j2aRXqgIlnbex01KS1Qt8YDcFViAXZ
883aozGq1Vt5XnywHZZPp0piLdX3P0aPpKe3DB7s66Jc2h28hzhkGMPxmZQGRuuB
GiF5otPuBa4u6jcJ9T5T04gL3WTf+fnJanhn9RgY8NIYVxurlKRQypdy8hPma0Vo
OW5TaosamoC/ZPBguAJ1zp+MTunWXoWWA2cXEJF2zANjZR/8BuM3k0fqEwuFOhBk
qXkhId6eBQu9/bUCvka48zAaPWcWJGUduNKa7U1fB9BuDzCUcb85A1jrAFoV9GGp
42+C9ISlmAElnXN2tphEbC4z0d++Mt2ZfxoYCmw=

 
Ответы:
25.09.2007 16:18:01Kirill Sobolev
А когда проверяете используете параметр -base64?
25.09.2007 16:44:11caduser
обязательно использую -base64
25.09.2007 17:05:12caduser
Вот такие параметры задаю (detached_sign.sig -содержит приведенную выше ЭЦП):
csptest -sfsign -in c:\src_mes.bin -my "SertName" -verify -signature c:\detached_sign.sig -detached -base64
Ошибка "Неправильное значение хеша"
25.09.2007 17:42:36Василий
csptest - это тестовая утилитка, предназначенная в первую очередь для проверки работоспособности "КриптоПро CSP".
Данная подпись сделана на алгоритме RSA/SHA1, т.е. при использовании не-КриптоПро CSP.

По умолчанию csptest, разумеется, работает на алгоритмах ГОСТ.

Т.е. как минимум не хватает параметра -alg SHA1
25.09.2007 17:57:34caduser
Я отлично понимаю, что в первую очередь для "КриптоПро CSP". Надеюсь, разработчики не будут возражать, если я использую эту утилиту в целях изучения работы с ЭЦП.

"по умолчанию csptest, разумеется, работает на алгоритмах ГОСТ." не совсем так, алгоритм нужно указывать только для создания ЭЦП. Для проверки ЭЦП алгоритм указывать не нужно.
25.09.2007 18:13:49Kirill Sobolev
Не признает формат - это одно.
Ошибка "Неправильное значение хеша" - это совсем другое. Подпись не сходится, по какой-то причине. Самое вероятное - проверяете не то, что подписали. Как именно Вы подписываете с помощью CAPICOM? Попробуйте сделать тоже самое с присоединенной подписью.
26.09.2007 16:20:14caduser
"Самое вероятное - проверяете не то, что подписали." - это исключено.
Однако удалось выяснить, что при подписывании через Capicom, в атрибут подписи добавляли дату и время подписания. После того как этот атрибут исключили csptest выдает другую ошибку:
80090006 - неправильная подпись.
Для примера привожу подписываемые данные (всего одно слово):
Content

и ЭЦП созданная через Capicom:
MIIG7wYJKoZIhvcNAQcCoIIG4DCCBtwCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCBZswggJUMIIBvaADAgECAhBCo4kC5b2Z2Cvc+JfnD2u3MA0GCSqGSIb3
DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGlu
ZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg
SXNzdWluZyBDQTAeFw0wNzA4MDkxNDI3MzhaFw0wODA4MDgxNDI3MzhaMEExHzAd
BgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBNZW1iZXIxHjAcBgkqhkiG9w0BCQEWD2Nh
ZHVzZXJAbWFpbC5ydTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7QgdJCVr
IjL2ZiFdddc9eknSFriCaxcfysTj3buM1z1thbj5ixllzsfnKMtjksrP3+GekDq5
e7aC7rZGwQbBufBs7iJnxtyqrf8swa+8rjUoRBRjzd13v+TThnu/kImfWs5rU27C
Rl7+7fCy2wZstuh+5reeFM9SW/MtFFv0sBkCAwEAAaMsMCowGgYDVR0RBBMwEYEP
Y2FkdXNlckBtYWlsLnJ1MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEA
DDwQTYVOSYYNroROtx7JSYUD16VK+jMGyTbuVHEH7/SzNGE3SeToS8dZdTRuo14P
tRH9ul3gXG5qgx9Zw5fHziENAFYFEfrxH+93zI6EVZW0B9g2QYznFz08m89yin7p
OS5LD5u5Lz2+u1OiNl63RfDfKzD6RZfXFiwFoNas46owggM/MIICqKADAgECAgEN
MA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVy
biBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25z
dWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
MSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG
9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAw
MDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv
bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTl
UAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsY
Pge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEw
EgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js
LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8E
BAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4
MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0wh
uPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRix9sncVcl
jd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9d
X2VPMYIBHDCCARgCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl
IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFs
IEZyZWVtYWlsIElzc3VpbmcgQ0ECEEKjiQLlvZnYK9z4l+cPa7cwCQYFKw4DAhoF
ADANBgkqhkiG9w0BAQEFAASBgHIREZ7FZ1Emes2y25uYRwsB+uldOuE6/1P5qdp+
HidBG0s2fOmxleTVla0r9yyI0OOF9Gh2eCZT27RHT1ErTxJego0Clis5dypdBYIN
sLyprz5JLhpyhIrPDzEmVftCU0t/nh9Bd2FmyCHCAsD+rju0PDw7m/osM+YBHJYm
E3Qa
26.09.2007 17:08:44Kirill Sobolev
"Самое вероятное - проверяете не то, что подписали." - это именно Ваш случай.
Который детально описан в
http://www.cryptopro.ru/CryptoPro/forum/view.asp?q=4144, не знаю почему Вы решили что это не так.
Сохраните слово Content в юникоде и дайте csptest - все отлично проверится.
26.09.2007 18:53:51caduser
"Сохраните слово Content в юникоде и дайте csptest - все отлично проверится."
Сработало! Большое спасибо.