Статус: Участник
Группы: Участники
Зарегистрирован: 14.05.2010(UTC) Сообщений: 10
|
Подпись формируется с помощью "КриптоАРМ" в кодировке base64. Использую примеры CMS (CMSVerify.java) Код:
out = new StringBuffer("");
out1 = new StringBuffer("");
final Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(buffer);
final ContentInfo all = new ContentInfo();
all.decode(asnBuf);
Возникает ошибка на последней строчке кода. Результат: Цитата: 21.05.2010 14:17:07 ru.CryptoPro.JCP.tools.l a INFO: Loading JCP... 21.05.2010 14:17:08 ru.CryptoPro.JCP.tools.l a INFO: JCP loaded. Exception in thread "main" com.objsys.asn1j.runtime.Asn1TagMatchFailedException: ASN.1 decode error @ offset 0: Tag match failed: expected [UNIVERSAL 16], parsed [UNIVERSAL 13] at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:49) at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:65) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:55) at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15) at ecp_tryouts.CMS_try.CMSVerify(CMS_try.java:55) at ecp_tryouts.CMS_try.main(CMS_try.java:45) Java Result: 1
В чем может быть проблема и как ее решить?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.05.2010(UTC) Сообщений: 10
|
Файл На всякий случай выложу содержимое сюда, потому что с форума лично у меня сейчас ничего не скачивается. ----- BEGIN PKCS7 SIGNED ----- MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIB/TCCAfkw ggFioAMCAQICEBWRzBFmY8i+SUY3iNU43hUwDQYJKoZIhvcNAQEEBQAwDjEMMAoGA1UEAxMDYW5u MB4XDTA4MTIzMTIxMDAwMFoXDTE0MTIzMTIxMDAwMFowDjEMMAoGA1UEAxMDYW5uMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDOcb9SiZPYqSvogvcJofhwBYcDXxw6g8jJ9hkVLBOqvQs6iVdJ aMcPoYXRn1z2emKH4Yt6Sw0HhzQOYVrjQkpY/tZUbAGUADRmuQFh9E+dqWOOU4j0ItIaFNl88Fhm Ibk7u0CWtsWo6N8XYNKpw5ui6255Ls5fjFZLzJU/gtQE0wIDAQABo1gwVjATBgNVHSUEDDAKBggr BgEFBQcDAzA/BgNVHQEEODA2gBDcp94nSZxOQjswYms/8FjkoRAwDjEMMAoGA1UEAxMDYW5ughAV kcwRZmPIvklGN4jVON4VMA0GCSqGSIb3DQEBBAUAA4GBAC7LlpEW4A330OFRTk6/eXDqTVvlnbEk xXBpd1GSwbAaOB9Uq5+IFSYV+vkFMOmm2KBiLnGPPUB2WOjtAgAokrruaTeCq8+ix6gXtnzWCZ+/ rwWnXiu12QmU2OfQ894WKzVCmi201HOkpr1wX/3UVYgznjJBvLeCKVFU2v7HbGSoMYIBJzCCASMC AQEwIjAOMQwwCgYDVQQDEwNhbm4CEBWRzBFmY8i+SUY3iNU43hUwCQYFKw4DAhoFAKBdMBgGCSqG SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMDUyMTEwMTMxMlowIwYJKoZI hvcNAQkEMRYEFIJ8L2tMBAxpGTruXnRWnXeNvmAlMA0GCSqGSIb3DQEBAQUABIGAGw+8sQZnECBD 7FzKxhTbUmf6AxaAgqk8PatwTRyiuHoprYI7slm5DhgFxhh7fZu27EddDNH1XDIn70+ddiVprmcl ttiUd5NdJgY3iUTXxiT0mB/1Fy6tBvpkJ7B1RgEXTwkCKHYmigOwyYBJCMhJm/nMXg/p7B+JkSF0 NxOrWlEAAAAAAAA= ----- END PKCS7 SIGNED ----- Отредактировано пользователем 21 мая 2010 г. 18:41:19(UTC)
| Причина: Не указана Вложение(я):  Текстовый документ.html_b_with_time_with_headers_a (2kb) загружен 4 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Asn1BerDecodeBuffer может раскодировать Ber. Отрежьте ----- BEGIN PKCS7 SIGNED ----- и ----- END PKCS7 SIGNED ----- Рсскодируйте Base64 классом ru.CryptoPro.JCP.tools.Decoder Потом уже Asn1BerDecodeBuffer
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.05.2010(UTC) Сообщений: 10
|
Сделал то, что вы сказали. Результат: Цитата: 21.05.2010 15:39:18 ru.CryptoPro.JCP.tools.l a INFO: Loading JCP... 21.05.2010 15:39:19 ru.CryptoPro.JCP.tools.l a INFO: JCP loaded. com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1 decode error @ offset 31: SEQUENCE or SET is missing a required element. at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.SignedData.decode(SignedData.java:171) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:137) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90) at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15) at ecp_tryouts.CMS_try.CMSVerify(CMS_try.java:60) at ecp_tryouts.CMS_try.main(CMS_try.java:50) Exception in thread "main" com.objsys.asn1j.runtime.Asn1Exception: table constraint: content decode failed at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:141) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90) at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15) at ecp_tryouts.CMS_try.CMSVerify(CMS_try.java:60) at ecp_tryouts.CMS_try.main(CMS_try.java:50) Java Result: 1
Подобный результат появляется, если считывать файл подписи в der-кодировке первоначальным вариантом кода. только error @ offset другое число.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
У меня на Ваших данных все получилось Код:String base64 = "MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIB/TCCAfkw\n" +
"ggFioAMCAQICEBWRzBFmY8i+SUY3iNU43hUwDQYJKoZIhvcNAQEEBQAwDjEMMAoGA1UEAxMDYW5u\n" +
"MB4XDTA4MTIzMTIxMDAwMFoXDTE0MTIzMTIxMDAwMFowDjEMMAoGA1UEAxMDYW5uMIGfMA0GCSqG\n" +
"SIb3DQEBAQUAA4GNADCBiQKBgQDOcb9SiZPYqSvogvcJofhwBYcDXxw6g8jJ9hkVLBOqvQs6iVdJ\n" +
"aMcPoYXRn1z2emKH4Yt6Sw0HhzQOYVrjQkpY/tZUbAGUADRmuQFh9E+dqWOOU4j0ItIaFNl88Fhm\n" +
"Ibk7u0CWtsWo6N8XYNKpw5ui6255Ls5fjFZLzJU/gtQE0wIDAQABo1gwVjATBgNVHSUEDDAKBggr\n" +
"BgEFBQcDAzA/BgNVHQEEODA2gBDcp94nSZxOQjswYms/8FjkoRAwDjEMMAoGA1UEAxMDYW5ughAV\n" +
"kcwRZmPIvklGN4jVON4VMA0GCSqGSIb3DQEBBAUAA4GBAC7LlpEW4A330OFRTk6/eXDqTVvlnbEk\n" +
"xXBpd1GSwbAaOB9Uq5+IFSYV+vkFMOmm2KBiLnGPPUB2WOjtAgAokrruaTeCq8+ix6gXtnzWCZ+/\n" +
"rwWnXiu12QmU2OfQ894WKzVCmi201HOkpr1wX/3UVYgznjJBvLeCKVFU2v7HbGSoMYIBJzCCASMC\n" +
"AQEwIjAOMQwwCgYDVQQDEwNhbm4CEBWRzBFmY8i+SUY3iNU43hUwCQYFKw4DAhoFAKBdMBgGCSqG\n" +
"SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMDUyMTEwMTMxMlowIwYJKoZI\n" +
"hvcNAQkEMRYEFIJ8L2tMBAxpGTruXnRWnXeNvmAlMA0GCSqGSIb3DQEBAQUABIGAGw+8sQZnECBD\n" +
"7FzKxhTbUmf6AxaAgqk8PatwTRyiuHoprYI7slm5DhgFxhh7fZu27EddDNH1XDIn70+ddiVprmcl\n" +
"ttiUd5NdJgY3iUTXxiT0mB/1Fy6tBvpkJ7B1RgEXTwkCKHYmigOwyYBJCMhJm/nMXg/p7B+JkSF0\n" +
"NxOrWlEAAAAAAAA=";
Decoder decoder = new Decoder();
byte[] der = decoder.decodeBuffer(base64);
Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(der);
ContentInfo all = new ContentInfo();
all.decode(asnBuf);
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.05.2010(UTC) Сообщений: 10
|
недолго думая скопировал этот кусок кода. файл java: Код:
package ecp_tryouts;
import com.objsys.asn1j.runtime.Asn1BerDecodeBuffer;
import ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo;
import ru.CryptoPro.JCP.tools.Decoder;
/**
*
* @author fetisov
*/
public class try_cms {
public static void main(String[] args) throws Exception{
String base64 = "MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIB/TCCAfkw\n"
+ "ggFioAMCAQICEBWRzBFmY8i+SUY3iNU43hUwDQYJKoZIhvcNAQEEBQAwDjEMMAoGA1UEAxMDYW5u\n"
+ "MB4XDTA4MTIzMTIxMDAwMFoXDTE0MTIzMTIxMDAwMFowDjEMMAoGA1UEAxMDYW5uMIGfMA0GCSqG\n"
+ "SIb3DQEBAQUAA4GNADCBiQKBgQDOcb9SiZPYqSvogvcJofhwBYcDXxw6g8jJ9hkVLBOqvQs6iVdJ\n"
+ "aMcPoYXRn1z2emKH4Yt6Sw0HhzQOYVrjQkpY/tZUbAGUADRmuQFh9E+dqWOOU4j0ItIaFNl88Fhm\n"
+ "Ibk7u0CWtsWo6N8XYNKpw5ui6255Ls5fjFZLzJU/gtQE0wIDAQABo1gwVjATBgNVHSUEDDAKBggr\n"
+ "BgEFBQcDAzA/BgNVHQEEODA2gBDcp94nSZxOQjswYms/8FjkoRAwDjEMMAoGA1UEAxMDYW5ughAV\n"
+ "kcwRZmPIvklGN4jVON4VMA0GCSqGSIb3DQEBBAUAA4GBAC7LlpEW4A330OFRTk6/eXDqTVvlnbEk\n"
+ "xXBpd1GSwbAaOB9Uq5+IFSYV+vkFMOmm2KBiLnGPPUB2WOjtAgAokrruaTeCq8+ix6gXtnzWCZ+/\n"
+ "rwWnXiu12QmU2OfQ894WKzVCmi201HOkpr1wX/3UVYgznjJBvLeCKVFU2v7HbGSoMYIBJzCCASMC\n"
+ "AQEwIjAOMQwwCgYDVQQDEwNhbm4CEBWRzBFmY8i+SUY3iNU43hUwCQYFKw4DAhoFAKBdMBgGCSqG\n"
+ "SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMDUyMTEwMTMxMlowIwYJKoZI\n"
+ "hvcNAQkEMRYEFIJ8L2tMBAxpGTruXnRWnXeNvmAlMA0GCSqGSIb3DQEBAQUABIGAGw+8sQZnECBD\n"
+ "7FzKxhTbUmf6AxaAgqk8PatwTRyiuHoprYI7slm5DhgFxhh7fZu27EddDNH1XDIn70+ddiVprmcl\n"
+ "ttiUd5NdJgY3iUTXxiT0mB/1Fy6tBvpkJ7B1RgEXTwkCKHYmigOwyYBJCMhJm/nMXg/p7B+JkSF0\n"
+ "NxOrWlEAAAAAAAA=";
Decoder decoder = new Decoder();
byte[] der = decoder.decodeBuffer(base64);
Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(der);
ContentInfo all = new ContentInfo();
all.decode(asnBuf);
}
}
Результат: Цитата: com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1 decode error @ offset 31: SEQUENCE or SET is missing a required element. at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.SignedData.decode(SignedData.java:171) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:137) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90) at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15) at ecp_tryouts.try_cms.main(try_cms.java:39) Exception in thread "main" com.objsys.asn1j.runtime.Asn1Exception: table constraint: content decode failed at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:141) at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90) at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15) at ecp_tryouts.try_cms.main(try_cms.java:39) Java Result: 1
В чем может быть проблема??? скачивал JCP с вашего сайта. содержимое пакетов не менял.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.01.2011(UTC) Сообщений: 1 Откуда: РФ
|
У меня такая же проблема, как-нибудь удалось ее решить?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Проверьте версию JCP 1.0.47 Если версия последняя присылайте на support@cryptopro.ru проблемный файл.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close