EmbeddedPDV Type

The ASN.1 EMBEDDED PDV type is a useful type used to include non-ASN.1 or other data within an ASN.1 encoded message. It was introduced in 1994 to replace EXTERNAL by removing unneeded fields and adding a few new ones to hold information that was missing. This type is described using the following ASN.1 SEQUENCE:

   EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE {
      identification CHOICE {
         syntaxes SEQUENCE {
            abstract OBJECT IDENTIFIER,
            transfer OBJECT IDENTIFIER },
         syntax OBJECT IDENTIFIER,
         presentation-context-id INTEGER,
         context-negotiation SEQUENCE {
            presentation-context-id INTEGER,
            transfer-syntax OBJECT IDENTIFIER },
         transfer-syntax OBJECT IDENTIFIER,
         fixed NULL
      },,
      data-value OCTET STRING }
   ( WITH COMPONENTS {
               ... ,
               data-value-descriptor ABSENT } )

The ASN.1 compiler is used to create a meta-definition for this structure. The definition is stored in the file Asn1EmbeddedPDV.java (or Asn1XerEmbeddedPDV.java for XER). An object created from the resulting Java class is populated just like any other compiler-generated structure for working with ASN.1 data.