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