# Supported Formats

KeyView support for Azure RMS files depends on the encryption method that Azure RMS uses for each file type, and on whether the file is classified or protected. In Azure RMS, classified files have additional labels to inform users of their sensitivity, while protected files are encrypted so that only authorized users can view them.

In some cases, KeyView format detection returns a different file type depending on whether the file is classified or protected.

The following sections provide information about the Azure RMS support for different file types, and metadata support.

For more information about XrML extraction, see the `subFileType` member of the KVSubFileInfo structure.

## Microsoft Office Files

The following table describes KeyView detected formats for Microsoft Office files that Azure RMS encrypts by creating an OLE container.

For these files:

- KeyView can get classification metadata.
- KeyView can detect whether the file is Azure RMS encrypted (the `kWindowsRMSEncrypted` flag).

- When you configure credentials through `fpConfigureRMS`, HTML Export and File Extraction API functions can operate on the protected data of the file (see fpConfigureRMS()). In this case, you can export, extract, and get summary information.

In most cases, KeyView can also extract the XrML file for these files when they are protected, and identify the XrML files as `KVSubFileType_XrML`.

File extensions | Format detected when file is classified but not protected | Format detected when file is protected | XrML extraction
--- | --- | --- | ---
docx, dotx | MS_Word_2007_Fmt | MS_Office_2007_Fmt | Yes
docm, dotm | MS_Word_Macro_2007_Fmt | MS_Office_2007_Fmt | Yes
pptx, potx, ppsx | MS_PPT_2007_Fmt | MS_Office_2007_Fmt | Yes
pptm, potm, ppsm | MS_PPT_Macro_2007_Fmt | MS_Office_2007_Fmt | Yes
vsdx | MS_Visio_2013_Fmt | MS_Office_2007_Fmt | Yes
vsdm, vssm, vssx, vstm, vstx | MS_Visio_2013_Macro_Fmt MS_Visio_2013_Stencil_Fmt MS_Visio_2013_Stencil_Macro_Fmt MS_Visio_2013_Template_Fmt MS_Visio_2013_Template_Macro_Fmt | MS_Office_2007_Fmt | Yes
xlsx, xltx | MS_Excel_2007_Fmt | MS_Office_2007_Fmt | Yes
xlsm, xlsb, xltm | MS_Excel_Macro_2007_Fmt MS_Excel_Binary_2007_Fmt | MS_Office_2007_Fmt | Yes
xps | MS_XPS_Fmt | MS_Office_2007_Fmt | Yes
doc, dot | MS_Word_95_Fmt MS_Word_97_Fmt MS_Word_2000_Fmt | MS_Word_95_Fmt MS_Word_97_Fmt MS_Word_2000_Fmt | Yes
ppt, pot, pps | PowerPoint_95_Fmt PowerPoint_97_Fmt | PowerPoint_95_Fmt PowerPoint_97_Fmt | Yes
xls, xla, xlam, xlt | Excel_Fmt Excel_Macro_Fmt Excel_95_Fmt Excel_97_Fmt Excel_2000_Fmt | Excel_Fmt Excel_Macro_Fmt Excel_95_Fmt Excel_97_Fmt Excel_2000_Fmt | Yes

## Implemented as pFile

The following table describes the KeyView detected formats for files that Azure RMS encrypts by creating a pFile around the document.

For these files:

- KeyView can get classification metadata.

- KeyView can detect whether the file is Azure RMS encrypted (the `kWindowsRMSEncrypted` flag).

- KeyView can extract the XrML if the file is protected.

- When you configure credentials through `fpConfigureRMS`, HTML Export and File Extraction API functions can operate on the protected data of the file (see fpConfigureRMS()). In this case, you can export, extract, and get summary information.

File extensions | Format detected when file is classified but not protected | Format detected when file is protected | Notes
--- | --- | --- | ---
pfile | n/a | RMS_Protected_Fmt |
vsd | MS_Visio_Fmt | RMS_Protected_Fmt |
vdw, vss, vst | MS_Visio_Fmt | RMS_Protected_Fmt |
mpp, mpt | MS_Project_4_Fmt MS_Project_41_Fmt MS_Project_98_Fmt MS_Project_2000_Fmt MS_Project_2007_Fmt | RMS_Protected_Fmt |
pub | MS_Publisher_98_Fmt | RMS_Protected_Fmt |
jpg | JPEG_File_Interchange_Fmt | RMS_Protected_Fmt | Protected format has extension pjpg. When classified but not protected, the classification metadata is XMP.
png | PNG_Fmt | RMS_Protected_Fmt | Protected format has extension ppng.
gif | GIF_89a_Fmt | RMS_Protected_Fmt | Protected format has extension pgif. When classified but not protected, the classification metadata is XMP.
tif | TIFF_Fmt | RMS_Protected_Fmt | Protected format has extension ptif. When classified but not protected, the classification metadata is XMP.
dng | TIFF_Fmt | RMS_Protected_Fmt | When classified but not protected, the classification metadata is XMP.
dwfx | MS_XPS_Fmt | RMS_Protected_Fmt | When classified but not protected, dwfx is detected and treated as XPS.
psd, psb | PSD_Fmt | RMS_Protected_Fmt | When classified but not protected, the classification metadata is XMP.

## PDF Files

The following table describes the KeyView detected formats for PDF documents, which Azure RMS encrypts by creating an encrypted PDF (in which each stream and metadata value is encrypted), wrapped in a container PDF. KeyView allows you to extract the encrypted PDF from the container, and then for the extracted file:

- KeyView can detect whether the file is Azure RMS encrypted (the `kWindowsRMSEncrypted` flag).

- KeyView can extract the XrML if the file is protected.

- When you configure credentials through `fpConfigureRMS`, HTML Export and File Extraction API functions can operate on the protected data of the file (see fpConfigureRMS()). In this case you can export, extract, and get summary information for PDF formats.

File extensions | Format detected when file is classified but not protected | Format detected when file is protected
--- | --- | ---
pdf | PDF_Fmt PDF_Portfolio_Fmt | PDF_Fmt PDF_Portfolio_Fmt

## Restricted Permission Messages

Azure RMS encrypts email messages by creating an encrypted `rpmsg` attachment, which contains the original message body and attachments, attached to an unencrypted container message, which contains the message metadata. KeyView can extract the metadata and the encrypted `rpmsg` from the container message, and then for the extracted `rpmsg`:

- KeyView can detect that the file is Azure RMS encrypted (the `kWindowsRMSEncrypted` flag).
- When you configure credentials through `fpConfigureRMS`, File Extraction API functions can operate on the protected data of the file (see fpConfigureRMS()). This allows you to extract the message body and attached files, but attached messages are not currently supported.

NOTE: Extraction of the XrML from the encrypted `rpmsg` is not supported.

_FT_HTML5_bannerTitle.htm