Provisioning
object Provisioning
Turning a group certificate and its private key into a usable device.
A bgroupcert.dat attests to a group, not to a device: its leaf is an ISSUER that is entitled to mint device certificates. Provisioning generates a fresh signing and encryption key pair, issues a DEVICE leaf for them signed by the group key, and prepends it to the chain.
This is library API rather than a CLI; ktvine ships no command-line tool and neither does ktprd.
Functions
Link copied to clipboard
suspend fun createDevice(groupCertificate: CertificateChain, groupKey: EccKey, encryptionKey: EccKey? = null, signingKey: EccKey? = null): PlayreadyDevice
Provision a device from a group certificate and its private key.
Link copied to clipboard
Split a device back into the raw files it was built from.
Link copied to clipboard
suspend fun newLeafCertificate(parent: CertificateChain, groupKey: EccKey, signingKey: EccKey, encryptionKey: EccKey, certId: ByteArray = randomBytes(16), clientId: ByteArray = randomBytes(16), expiry: Long = NEVER_EXPIRES): Certificate
Issue a DEVICE certificate for signingKey and encryptionKey, signed by groupKey.
Link copied to clipboard
suspend fun reprovision(device: PlayreadyDevice, encryptionKey: EccKey? = null, signingKey: EccKey? = null): PlayreadyDevice
Re-issue a device's leaf certificate with fresh keys.
Link copied to clipboard
Unwrap a zgpriv_protected.dat into the group key it holds.