mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
26 lines
1.2 KiB
C#
26 lines
1.2 KiB
C#
namespace SabreTools.Data.Models.AACS
|
|
{
|
|
/// <summary>
|
|
/// A properly formatted MKB shall have exactly one Verify Media Key Record
|
|
/// as its first record. The presence of the Verify Media Key Record in an MKB
|
|
/// is mandatory, but the use of the Record by a device is not mandatory. The
|
|
/// device may use the Verify Media Key Record to verify the correctness of a
|
|
/// given MKB, or of its processing of it. If everything is correct, the device
|
|
/// should observe the condition:
|
|
/// [AES_128D(vKm, C]msb_64 == 0x0123456789ABCDEF)]
|
|
/// where Km is the Media Key value.
|
|
/// </summary>
|
|
/// <see href="https://aacsla.com/wp-content/uploads/2019/02/AACS_Spec_Common_Final_0953.pdf"/>
|
|
public sealed class VerifyMediaKeyRecord : Record
|
|
{
|
|
/// <summary>
|
|
/// Bytes 4 through 19 of the Record contain the ciphertext value
|
|
/// Cv = AES-128E (Km, 0x0123456789ABCDEF || 0xXXXXXXXXXXXXXXXX)
|
|
/// where 0xXXXXXXXXXXXXXXXX is an arbitrary 8-byte value, and Km is
|
|
/// the correct final Media Key value.
|
|
/// </summary>
|
|
/// <remarks>0x10 bytes</remarks>
|
|
public byte[] CiphertextValue { get; set; } = new byte[0x10];
|
|
}
|
|
}
|