2.2.11 Viewer Content Stream

The viewer content stream (1) MAY<6> be present. The purpose of the viewer content stream (1) is to provide a MIME Encapsulation of Aggregate HTML Documents (MHTML) representation of the document to enable an application that cannot parse the protected content stream (1) (section 2.2.10) to present a read-only representation of the document to the user. If the viewer content stream (1) is present, the stream (1) MUST be named "\0x09DRMViewerContent".

The viewer content stream (1) has the following structure.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Length

...

Contents (variable)

...

Length (8 bytes): An unsigned 64-bit integer that specifies the size, in bytes, of the compressed plaintext data stored encrypted in the Contents field.

Contents (variable): The MHTML representation of the protected content. The protected content MUST be encrypted or decrypted as specified in [MS-RMPR]. Once decrypted, the plaintext MUST be decompressed with the LZX compression algorithm, as described in [MSDN-CAB].