dwww Home | Show directory contents | Find package

; libaacs key database file, format 1.0
; -------------------------------------
;
; This config file format is an augmented form of DumpHD's config file
; format 1.4.
;
; This file is provided as documentation and as an example of the key database
; file used by libaacs, it contains no valid keys or entries.
;
; A config file has four main config entry items. The first items are device key
; entry items, the second is host certificate entry items, the third is
; processing key entry items, and the fourth are title entry items. Details on
; these items will be given later.
;
; The encoding of this file is UTF-8 without BOM (if the BOM is present the
; first line will not get recognized). A line delimiter may be either LF (\n) or
; CR (\r). A combination of CR+LF or LF+CR will be considered as a sequence of
; two line delimiters.
;
; Comments can be inserted into the config file. A comment begins with a ';'
; character. Anything after the ';' character, up to the next newline, is
; ignored.
;
; Whitespace in this file is referred to as a single space (' ') or
; a tab ('\t'). Whitespace can be present/omitted except in the case of
; keywords. Keywords must be delimited by at least one whitespace.
;
; Newlines may be escaped. To escape a newline, prepend a '\' character before
; the newline. Escaped newlines are treated as whitespace.
;
; All hexstrings must begin with '0x'. Hexstrings may be broken up into many
; lines or with whitespace.
;
; NOTE: Users switching from the old keydb config format can use this command
; to convert all hexstrings to the proper format.
;
; $ sed -i 's/\([[:xdigit:]]\)\{5,\}/0x&/g' KEYDB.cfg
;
; Device Key entry
; ----------------
; | DK | DEVICE_KEY <HEXSTRING> \
;      | DEVICE_NODE <HEXSTRING> \
;      | KEY_UV <HEXSTRING> \
;      | KEY_U_MASK_SHIFT <HEXSTRING>
;
; The device key entry begins with the entry ID "| DK |". Within a device key
; entry are four hexadecimal strings. The first hexadecimal string is preceded by
; the keyword "DEVICE_KEY" and is the hexadecimal string representing the device
; key. The second hexadecimal string is preceded by the keyword "DEVICE_NODE"
; and is the hexadecimal string representing the device node number. Each of
; four entries is delimited by a vertical bar '|'. Each device key entry must end
; with a newline.
;
; Note that each of these entries must end with at least one new line, as
; shown in the example above.
;
; Processing Key entry
; --------------------
; | PK | <HEXSTRING>
;
; A processing key entry begins with the entry ID "| PK |" followed by a
; hexstring representing the processing key. Each processing key entry must end
; with a newline.
;
; Host Certificate entry
; ----------------------
; | HC | HOST_PRIV_KEY <HEXSTRING> \
;      | HOST_CERT <HEXSTRING>
;
; A Host Certificate entry begins with the entry ID "| HC |". Each host
; certificate entry must contain 2 hexadecimal strings preceded by a keyword that identifies the type of entry
; that the hexadecimal string corresponds to. The first hexstring is the host
; private key, the second is the host certificate. Each of these entry types for a host
; certificate entry must be delimited by vertical bar '|'. A host certificate
; entry must end with a newline.
;
; Title entry
; -----------
; <DISCID> = <TITLE> | <ENTRY ID> | <ENTRY DATA> [ | <ENTRY ID> | <ENTRY DATA> ... ]
;
; DISCID is the calculated identifier of the disc content type, a physical disc
; may have multiple DiscID's (e.g. the disc contains HD-DVD Standard Content and
; HD-DVD Advanced Content). The value is stored as a hexadecimal string and is
; 40 characters long. The DiscID is the SHA-1 hash calculated from the
; following file:
; - HD-DVD Standard Content Audio : AACS\ATKF.AACS
; - HD-DVD Standard Content Video : AACS\VTKF.AACS
; - HD-DVD Advanced Content Audio : AACS\ATKF000.AACS
; - HD-DVD Advanced Content Video : AACS\VTKF000.AACS
; - BD-ROM BDMV                   : AACS\Unit_Key_RO.inf
; - BD-Recordable BDMV            : AACS_mv\Unit_Key_RW.inf
; - BD-Recordable BDAV            : AACS\AACS_av\Unit_Key_RW.inf
;
; TITLE is the title of the content.
;
; ENTRY ID describes the type of the following ENTRY DATA, these IDs are valid:
; - D : Date of the DiscID file
; - M : Media Key
; - I : Volume ID
; - B : Binding Nonce
; - V : Volume Unique Key
; - P : Protected Area Key
; - T : Title Key
; - U : CPS Unit Key
;
; ENTRY DATA is specific for each ENTRY ID:
; - D : <YEAR> - <MONTH> - <DAY>
;       YEAR must be 4 digits, MONTH and DAY 2 digits. An invalid / non present
;       date has the special value 0000-00-00
; - M : <MEK>
;       Hexadecimal string of the Media Key, 32 characters long
; - I : <VID>
;       Hexadecimal string of the Volume ID, 32 characters long
;       This entry applies to prerecorded media only
; - B : <BN NUMBER> - <BN> [ | <BN NUMBER> - <BN> ... ]
;       BN NUMBER is the number of the Binding Nonce, it must be 1 to 5 decimal
;       digits long and starts at 0
;       BN is the hexadecimal string of the Binding Nonce, 32 characters long
;       This entry applies to recordable media only, there may be multiple
;       Binding Nonces
;       For BD recordables BN NUMBER is 0
; - V : <VUK>
;       Hexadecimal string of the Volume Unique Key, 32 characters long
;       This entry applies to prerecorded media only
; - P : <PAK NUMBER> - <PAK> [ | <PAK NUMBER> - <PAK> ... ]
;       PAK NUMBER is the number of the Protected Area Key, it must be 1 to 5
;       decimal digits long and starts at 0
;       PAK is the hexadecimal string of the Protected Area Key, 32 characters
;       long
;       This entry applies to recordable media only, there my be multiple
;       Protected Area Keys
;       For BD recordables PAK NUMBER is 0
; - T : <TK NUMBER> - <TK> [ | <TK NUMBER> - <TK> ... ]
;       TK NUMBER is the number of the Title Key, it must be 1 to 5 decimal
;       digits long and starts at 1
;       TK is the hexadecimal string of the Title Key, 32 characters long
;       This entry applies to HD-DVD only, there may be multiple Title Keys
; - U : <UK NUMBER> - <UK> [ | <UK NUMBER> - <UK> ... ]
;       UK NUMBER is the number of the CPS Unit Key, it must be 1 to 5 decimal
;       digits long and starts at 1
;       UK is the hexadecimal string of the CPS Unit Key, 32 characters long
;       This entry applies to BD only, there may be multiple CPS Unit Keys
;
; All entries are treated case insensitive, whitespace between the
; values / delimiters may be present / omitted.
; Each entry must be delimited by at least one newline, to include the last
; entry. An unlimited number of entries may be given for any type of entry. The
; ordering of any config entry type can be arbitrary. It is also possible to
; give no entries in the config file, though libaacs will not be able to
; decrypt any disc in such a case.
;
;
; Examples
; --------
;

; foo's device key
| DK | DEVICE_KEY 0x00000000000000000000000000000000 \
     | DEVICE_NODE 0x0 \
     | KEY_UV 0x00000000 \
     | KEY_U_MASK 0x00

; bar's device key
| DK | DEVICE_KEY 0x00000000000000000000000000000000 \
     | DEVICE_NODE 0x0

; foo's certificate
| HC | HOST_PRIV_KEY 0x0000000000000000000000000000000000000000 \
     | HOST_CERT 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x000000000000000000000000 \
     | HOST_NONCE 0x0000000000000000000000000000000000000000 \
     | HOST_KEY_POINT 0x0000000000000000000000000000000000000000

; bar's certificate
| HC | HOST_PRIV_KEY 0x0000000000000000000000000000000000000000 \
     | HOST_CERT 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x0000000000000000000000000000000000000000 \
                 0x000000000000000000000000 \
     | HOST_NONCE 0x0000000000000000000000000000000000000000 \
     | HOST_KEY_POINT 0x0000000000000000000000000000000000000000

; foo processing key
| PK | 0x00000000000000000000000000000000

; single line entries
0x0000000000000000000000000000000000000000 = Movie Title                                      | D | 0000-00-00 | V | 0x00000000000000000000000000000000 ; I am a comment
0x0000000000000000000000000000000000000000 = Movie Title ; I am NOT a comment                 | D | 1337-08-15 | T | 1-0x00000000000000000000000000000000 | 2-0x00000000000000000000000000000000 | 3-0x00000000000000000000000000000000
0x0000000000000000000000000000000000000000 = Movie Title                                      | D | 2007-04-01 | V | 0x00000000000000000000000000000000 | T | 1-0x00000000000000000000000000000000
0x0000000000000000000000000000000000000000 = Movie Title                                      | D | 1111-11-11 | U | 1-0x00000000000000000000000000000000 | 2-0x00000000000000000000000000000000 | I | 0x00000000000000000000000000000000

; bar processing key
| PK | 0x00000000000000000000000000000000

; multi line entries
0x0000000000000000000000000000000000000000 = \
  Movie Title \
  | D | 0000-00-00 \
  | V | 0x00000000000000000000000000000000 ; I am a comment
0x0000000000000000000000000000000000000000 = \
  Movie Title ; I am NOT a comment \
  | D | 1337-08-15 \
  | T | 1-0x00000000000000000000000000000000 \
      | 2-0x00000000000000000000000000000000 \
      | 3-0x00000000000000000000000000000000
0x0000000000000000000000000000000000000000 = \
  Movie Title \
  | D | 2007-04-01 \
  | V | 0x00000000000000000000000000000000 \
  | T | 1-0x00000000000000000000000000000000
0x0000000000000000000000000000000000000000 = \
  Movie Title \
  | D | 1111-11-11 \
  | U | 1-0x00000000000000000000000000000000 \
      | 2-0x00000000000000000000000000000000 \
  | I | 0x00000000000000000000000000000000

Generated by dwww version 1.15 on Wed May 22 17:53:55 CEST 2024.