Страница 1 из 1
Есть ли на каморке спецы по криптографии?
Добавлено: 24 окт 2007, 16:42
pastor
Есть жаба-тулкит, который выплевывает PKCS#7. Выплюнутый результат им же можно расшифровать (decrypt).
В тестовом режиме приложение (написанное на .NET, в итоге будет Windows Service) запускает командную строку, где запускает жабу чтобы encrypt/decrypt файл. Это естественно уродство, дикие тормоза, короче суть не в этом. Пытаюсь на .NET 2.0 написать аналогичный encryptor/decryptor. Естественно использую те же сертификаты, что и для жаба-тулкита, получаю в итоге PKCS#7, который могу decrypt, но только в .NET! Жабовский тулкит не хочет .netовкий PKCS#7 понимать, а .netовский не понимает то, что генерит жаба. Естественно надо, чтобы было взаимопонимание, т.к. на принимающей стороне крутится все на жабе. Где-то грабли небось, уже второй день гуглюсь, но толку никакого

Пробовал через CAPICOM -- результат тот же, что и с родным System.Security.Cryptography.Pkcs в .NET 2.0

Re: Есть ли на каморке спецы по криптографии?
Добавлено: 26 окт 2007, 15:21
Шэф
Looks like there is some PKCS#7 version inconsistency.
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 02 ноя 2007, 08:58
pika
ну, что, pastor, получилось?
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 04 ноя 2007, 18:09
Karlson
pastor писал(а):Есть жаба-тулкит, который выплевывает PKCS#7. Выплюнутый результат им же можно расшифровать (decrypt).
В тестовом режиме приложение (написанное на .NET, в итоге будет Windows Service) запускает командную строку, где запускает жабу чтобы encrypt/decrypt файл. Это естественно уродство, дикие тормоза, короче суть не в этом. Пытаюсь на .NET 2.0 написать аналогичный encryptor/decryptor. Естественно использую те же сертификаты, что и для жаба-тулкита, получаю в итоге PKCS#7, который могу decrypt, но только в .NET! Жабовский тулкит не хочет .netовкий PKCS#7 понимать, а .netовский не понимает то, что генерит жаба. Естественно надо, чтобы было взаимопонимание, т.к. на принимающей стороне крутится все на жабе. Где-то грабли небось, уже второй день гуглюсь, но толку никакого

Пробовал через CAPICOM -- результат тот же, что и с родным System.Security.Cryptography.Pkcs в .NET 2.0

А сурсы Джавовского тулкита есть?
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 05 ноя 2007, 15:50
pastor
Karlson писал(а):А сурсы Джавовского тулкита есть?
Нету

Да и монстроидальный он, чтобы в нем ковыряться имхо...
pika писал(а):ну, что, pastor, получилось?
Нет, не получилось

Пришел к выводу, что скорее всего проблема кроется в разном подходе к созданию PKCS#7 на .NET и Java и скорее всего в кодировке (.NET: Unicode vs Java: UTF-8/ASCII), используемой для преобразования сообщения в byte array. Кроме того, в Java в моем случае это происходит через Entrust Toolkit, а че он там вытворяет, какую длину ключа задает и т.п. -- непонятно. Возлагал большие надежды на IKVM.NET --
очень интересная штука -- и даже добился компиляции (без ошибок) в .NET assembly жабовского класса, который дергает тулкит для шифрования и адресации PKCS#7 envelope. Но при запуске полученного exe получаю жабовый exception "Self-integrity check failed: file not found" (непонятно вобще что не найдено, т.к. при компиляции через ikvm.net подключались необходимые .jar из тулкита). Короче говоря, сплошная непонятка...
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 05 ноя 2007, 17:16
pika
pastor писал(а):... Возлагал большие надежды на IKVM.NET ...
спасибо за IKVM.NET! интересный проект, да еще и open source.
pastor писал(а): ... Но при запуске полученного exe получаю жабовый exception "Self-integrity check failed: file not found" (непонятно вобще что не найдено, т.к. при компиляции через ikvm.net подключались необходимые .jar из тулкита).
Шо ж, ковыряй. Иначе придется самому прокидывать через Java- JNI - С++ - Managed C++ - .NET...
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 05 ноя 2007, 18:53
pastor
pika писал(а):спасибо за IKVM.NET! интересный проект, да еще и open source.
Welcome

Проект действительно очень интересный. Не знаю насколько серьезные вещи поддаются конвертации, но примитив а ля Hello World работает на ура

Кстати, у них блог есть -- там более свежие билды (beta), чем на основном сайте.
pika писал(а):Шо ж, ковыряй. Иначе придется самому прокидывать через Java- JNI - С++ - Managed C++ - .NET...
К сожалению с Java не настолько знаком, да и с C++ тоже

Как в анекдоте: "дядя, я не настоящий сварщик -- я маску на стройке нашел". Моя парафия больше ASP/ASP.NET, MS SQL, а тут пришлось в winforms колупаться, да еще и жабу приклеивать сбоку.
Если не получится через IKVM.NET, то оставлю как есть (запуск процесса в шелле), правда меня аж передергивает как об этом подумаю

Во-первых это дико криво, а во-вторых тормознуто. Пока что криптографическую часть отложил, чтобы время не тратить, и делаю бизнес-логику и БД.
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 05 ноя 2007, 20:20
Marmot
pastor писал(а):а во-вторых тормознуто. Пока что криптографическую часть отложил, чтобы время не тратить, и делаю бизнес-логику и БД.
Можно сделать не менее криво, но значительно менее тормознуто, держать JVM запущеной и и вызывать через sockets/webservices/CORBA/etc.
Через sockets, ежeли умеючи, будет самое быстрое и простое...
Хотя не совсем понятно почему IKVM не сработала, там вроде все должно быть просто.
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 05 ноя 2007, 22:30
Karlson
Marmot писал(а):pastor писал(а):а во-вторых тормознуто. Пока что криптографическую часть отложил, чтобы время не тратить, и делаю бизнес-логику и БД.
Можно сделать не менее криво, но значительно менее тормознуто, держать JVM запущеной и и вызывать через sockets/webservices/CORBA/etc.
Через sockets, ежeли умеючи, будет самое быстрое и простое...
Хотя не совсем понятно почему IKVM не сработала, там вроде все должно быть просто.
Извращченцы!!!
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 06 ноя 2007, 08:28
Marmot
Karlson писал(а):Marmot писал(а):pastor писал(а):а во-вторых тормознуто. Пока что криптографическую часть отложил, чтобы время не тратить, и делаю бизнес-логику и БД.
Можно сделать не менее криво, но значительно менее тормознуто, держать JVM запущеной и и вызывать через sockets/webservices/CORBA/etc.
Через sockets, ежeли умеючи, будет самое быстрое и простое...
Хотя не совсем понятно почему IKVM не сработала, там вроде все должно быть просто.
Извращченцы!!!
Ну а что еще посоветовать если человек маску нашел.
Был бы сварщик я бы его послал на
http://www.bouncycastle.org/ , они теперь не только Java, но C# поддерживают ...
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 06 ноя 2007, 12:20
pastor
На самом деле собака порылась именно в Entrust Security Toolkit for Java, так что bouncycastle не сильно помог бы наверное. Хотя, если я был настоящий сварщик....

Re: Есть ли на каморке спецы по криптографии?
Добавлено: 06 ноя 2007, 12:22
Marmot
pastor писал(а):
На самом деле собака порылась именно в Entrust Security Toolkit for Java, так что bouncycastle не сильно помог бы наверное. Хотя, если я был настоящий сварщик....

Taк оно чего, заработало?
Если да, то в чем была проблема?
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 06 ноя 2007, 12:40
pastor
Marmot писал(а):pastor писал(а):
На самом деле собака порылась именно в Entrust Security Toolkit for Java, так что bouncycastle не сильно помог бы наверное. Хотя, если я был настоящий сварщик....

Taк оно чего, заработало?
Если да, то в чем была проблема?
Сорри, не заработало -- неправильно выразился.

Если б заработало, я б уже пьяный был, отмечая это дело...
Я к тому, что это не просто жабовская криптография, а именно через Entrust Toolkit
Re: Есть ли на каморке спецы по криптографии?
Добавлено: 06 ноя 2007, 12:47
Marmot
pastor писал(а):Сорри, не заработало -- неправильно выразился.

Если б заработало, я б уже пьяный был, отмечая это дело...
Я к тому, что это не просто жабовская криптография, а именно через Entrust Toolkit
aaa..., ну тогда тока через IKVM(если заведется) или sockets. Работал я года 4 назад с Entrust-овскими примочками, и все-то у них через ж... было, похоже ничего не изменилось...