Class AirPlayHapPairVerifyProcedure
- Namespace
- AppleTvControlLibrary.Mrp.AirPlay.Auth
- Assembly
- AppleTvControlLibrary.Mrp.dll
Verify a previously-paired device is allowed to establish an AirPlay 2 control connection, and derive the resulting session encryption keys.
public sealed class AirPlayHapPairVerifyProcedure
- Inheritance
-
AirPlayHapPairVerifyProcedure
- Inherited Members
Remarks
Only the HAP pair-verify path is ported here (the path used by tvOS Apple TVs); pyatv's legacy and transient AirPlay auth variants are out of scope for MRP-over-AirPlay tunnel support (see auth/init.py — line 84-98 as of pyatv 0.18.0: HAP credentials are required for Apple TV once tvOS >= 13).
Constructors
AirPlayHapPairVerifyProcedure(HttpConnection, SrpAuthHandler, HapCredentials)
Verify a previously-paired device is allowed to establish an AirPlay 2 control connection, and derive the resulting session encryption keys.
public AirPlayHapPairVerifyProcedure(HttpConnection http, SrpAuthHandler srp, HapCredentials credentials)
Parameters
httpHttpConnectionThe AirPlay control connection.
srpSrpAuthHandlerThe SRP handler used for key agreement.
credentialsHapCredentialsThe previously-paired credentials for the device.
Remarks
Only the HAP pair-verify path is ported here (the path used by tvOS Apple TVs); pyatv's legacy and transient AirPlay auth variants are out of scope for MRP-over-AirPlay tunnel support (see auth/init.py — line 84-98 as of pyatv 0.18.0: HAP credentials are required for Apple TV once tvOS >= 13).
Methods
EncryptionKeys(string, string, string)
Return the derived output/input encryption keys for the given salt/info strings.
public (byte[] OutputKey, byte[] InputKey) EncryptionKeys(string salt, string outputInfo, string inputInfo)
Parameters
saltstringThe HKDF salt string.
outputInfostringThe HKDF info string for the output key.
inputInfostringThe HKDF info string for the input key.
Returns
VerifyCredentialsAsync()
Verify the device is allowed to use AirPlay.
public Task<bool> VerifyCredentialsAsync()