Как конвертировать Java Object в поток ASN.1? - PullRequest
2 голосов
/ 21 февраля 2011

Интересно, существует ли простой способ преобразования объекта Java в поток байтов ASN.1?Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 29 марта 2011

Я использую http://bnotes.sourceforge.net/, и это работает довольно хорошо для меня. Это очень просто и удобно, просто прочитайте руководство по разработке , и вы поймете очень быстро.

3 голосов
/ 21 февраля 2011
1 голос
/ 17 марта 2011

Возможно, вам сначала нужно понять, что такое ASN.1, поскольку вы говорите, что вы новичок в этом.

В ASN.1 вы указываете типы, которые могут использоваться для формирования сообщения. Когда это сочетается с определенным набором правил кодирования, вы получаете полную спецификацию байтов, составляющих сообщение.

Инструменты привязки данных (такие как одна моя компания, Objective Systems, продает) могут взять спецификацию ASN.1 и затем сгенерировать классы Java, которые моделируют типы, определенные в ASN.1, и которые включают методы для кодирования / декодирования смоделированных данные, согласно определенному набору правил кодирования (BER, PER), в байтах.

На самом деле не имеет смысла говорить о взятии произвольного объекта Java и превращении его в поток байтов ASN.1, потому что вам не хватает двух ключевых частей: ASN.1, который указывает, что будет в сообщении, и выбор правил кодирования. Теоретически, я предполагаю, что кто-то может придумать стандарт, в соответствии с которым произвольные объекты Java будут сериализованы в ASN.1, но я не знаю об этом, и это будет весьма отличаться от того, что делают инструменты привязки данных.

Надеюсь, я понял.

0 голосов
/ 21 февраля 2011

Я вижу библиотеку Java по крайней мере из нижеприведенного списка

  1. http://www.chaosinmotion.com/asn1.m
  2. bouncycastle
...