├── .gitignore ├── FairPlay-KSM.csproj ├── LICENSE.md ├── README.md ├── docs └── .gitkeep ├── examples ├── .gitkeep ├── cli-licenser │ ├── cli-licenser.csproj │ └── src │ │ ├── Program.cs │ │ └── fairplay │ │ ├── HardcodedKeyLocator.cs │ │ └── Secrets.cs ├── http-licenser │ ├── appsettings.json │ ├── http-licenser.csproj │ └── src │ │ ├── Program.cs │ │ ├── Startup.cs │ │ ├── controllers │ │ └── FairPlayController.cs │ │ ├── entities │ │ ├── CertificateResponseDto.cs │ │ ├── LicenseRequestDto.cs │ │ └── LicenseResponseDto.cs │ │ └── fairplay │ │ ├── HardcodedKeyLocator.cs │ │ └── Secrets.cs └── spcckc-sniffer │ ├── spcckc-sniffer.csproj │ └── src │ ├── Program.cs │ └── fairplay │ └── Secrets.cs ├── libraries └── .gitkeep ├── sources ├── Crypto │ ├── DFunction.cs │ ├── EncryptedCKCrypto.cs │ ├── SKR1Crypto.cs │ └── TLLVCrypto.cs ├── Entities │ ├── CKCMessage.cs │ ├── Payload │ │ ├── ARPayload.cs │ │ ├── AssetPayload.cs │ │ ├── CapabilitiesPayload.cs │ │ ├── DurationCKPayload.cs │ │ ├── EncryptedCKPayload.cs │ │ ├── HDCPEnforcementPayload.cs │ │ ├── MediaPlaybackPayload.cs │ │ ├── Parcel │ │ │ ├── EncryptedCKParcel.cs │ │ │ └── SKR1Parcel.cs │ │ ├── ProtocolSupportedPayload.cs │ │ ├── ProtocolUsedPayload.cs │ │ ├── R1Payload.cs │ │ ├── R2Payload.cs │ │ ├── SKR1IntegrityPayload.cs │ │ ├── SKR1Payload.cs │ │ ├── StreamingIndicatorPayload.cs │ │ ├── TRRPayload.cs │ │ └── TransactionPayload.cs │ ├── SPCMessage.cs │ ├── TLLVSlab.cs │ └── TLLVTag.cs ├── Exceptions │ ├── FPContextDateViolatedException.cs │ ├── FPContextIntegrityViolatedException.cs │ ├── FPException.cs │ ├── FPInvalidContextException.cs │ ├── FPInvalidKeyException.cs │ ├── FPInvalidProviderException.cs │ └── FPKeyLocatorException.cs ├── FPExtractor.cs ├── FPProvider.cs ├── FPServer.cs ├── Interfaces │ ├── IContentKey.cs │ └── IContentKeyLocator.cs ├── Models │ └── FPStaticKey.cs └── Support │ ├── Binary │ └── BinaryConverter.cs │ └── Throws │ └── ArgumentThrow.cs └── tests └── .gitkeep /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/.gitignore -------------------------------------------------------------------------------- /FairPlay-KSM.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/FairPlay-KSM.csproj -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/README.md -------------------------------------------------------------------------------- /docs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/cli-licenser/cli-licenser.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/cli-licenser/cli-licenser.csproj -------------------------------------------------------------------------------- /examples/cli-licenser/src/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/cli-licenser/src/Program.cs -------------------------------------------------------------------------------- /examples/cli-licenser/src/fairplay/HardcodedKeyLocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/cli-licenser/src/fairplay/HardcodedKeyLocator.cs -------------------------------------------------------------------------------- /examples/cli-licenser/src/fairplay/Secrets.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/cli-licenser/src/fairplay/Secrets.cs -------------------------------------------------------------------------------- /examples/http-licenser/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/appsettings.json -------------------------------------------------------------------------------- /examples/http-licenser/http-licenser.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/http-licenser.csproj -------------------------------------------------------------------------------- /examples/http-licenser/src/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/Program.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/Startup.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/controllers/FairPlayController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/controllers/FairPlayController.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/entities/CertificateResponseDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/entities/CertificateResponseDto.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/entities/LicenseRequestDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/entities/LicenseRequestDto.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/entities/LicenseResponseDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/entities/LicenseResponseDto.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/fairplay/HardcodedKeyLocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/fairplay/HardcodedKeyLocator.cs -------------------------------------------------------------------------------- /examples/http-licenser/src/fairplay/Secrets.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/http-licenser/src/fairplay/Secrets.cs -------------------------------------------------------------------------------- /examples/spcckc-sniffer/spcckc-sniffer.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/spcckc-sniffer/spcckc-sniffer.csproj -------------------------------------------------------------------------------- /examples/spcckc-sniffer/src/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/spcckc-sniffer/src/Program.cs -------------------------------------------------------------------------------- /examples/spcckc-sniffer/src/fairplay/Secrets.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/examples/spcckc-sniffer/src/fairplay/Secrets.cs -------------------------------------------------------------------------------- /libraries/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sources/Crypto/DFunction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Crypto/DFunction.cs -------------------------------------------------------------------------------- /sources/Crypto/EncryptedCKCrypto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Crypto/EncryptedCKCrypto.cs -------------------------------------------------------------------------------- /sources/Crypto/SKR1Crypto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Crypto/SKR1Crypto.cs -------------------------------------------------------------------------------- /sources/Crypto/TLLVCrypto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Crypto/TLLVCrypto.cs -------------------------------------------------------------------------------- /sources/Entities/CKCMessage.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/CKCMessage.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/ARPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/ARPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/AssetPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/AssetPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/CapabilitiesPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/CapabilitiesPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/DurationCKPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/DurationCKPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/EncryptedCKPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/EncryptedCKPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/HDCPEnforcementPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/HDCPEnforcementPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/MediaPlaybackPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/MediaPlaybackPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/Parcel/EncryptedCKParcel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/Parcel/EncryptedCKParcel.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/Parcel/SKR1Parcel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/Parcel/SKR1Parcel.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/ProtocolSupportedPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/ProtocolSupportedPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/ProtocolUsedPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/ProtocolUsedPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/R1Payload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/R1Payload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/R2Payload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/R2Payload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/SKR1IntegrityPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/SKR1IntegrityPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/SKR1Payload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/SKR1Payload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/StreamingIndicatorPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/StreamingIndicatorPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/TRRPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/TRRPayload.cs -------------------------------------------------------------------------------- /sources/Entities/Payload/TransactionPayload.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/Payload/TransactionPayload.cs -------------------------------------------------------------------------------- /sources/Entities/SPCMessage.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/SPCMessage.cs -------------------------------------------------------------------------------- /sources/Entities/TLLVSlab.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/TLLVSlab.cs -------------------------------------------------------------------------------- /sources/Entities/TLLVTag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Entities/TLLVTag.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPContextDateViolatedException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPContextDateViolatedException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPContextIntegrityViolatedException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPContextIntegrityViolatedException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPInvalidContextException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPInvalidContextException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPInvalidKeyException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPInvalidKeyException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPInvalidProviderException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPInvalidProviderException.cs -------------------------------------------------------------------------------- /sources/Exceptions/FPKeyLocatorException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Exceptions/FPKeyLocatorException.cs -------------------------------------------------------------------------------- /sources/FPExtractor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/FPExtractor.cs -------------------------------------------------------------------------------- /sources/FPProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/FPProvider.cs -------------------------------------------------------------------------------- /sources/FPServer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/FPServer.cs -------------------------------------------------------------------------------- /sources/Interfaces/IContentKey.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Interfaces/IContentKey.cs -------------------------------------------------------------------------------- /sources/Interfaces/IContentKeyLocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Interfaces/IContentKeyLocator.cs -------------------------------------------------------------------------------- /sources/Models/FPStaticKey.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Models/FPStaticKey.cs -------------------------------------------------------------------------------- /sources/Support/Binary/BinaryConverter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Support/Binary/BinaryConverter.cs -------------------------------------------------------------------------------- /sources/Support/Throws/ArgumentThrow.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diegojfer/FairPlay-KSM/HEAD/sources/Support/Throws/ArgumentThrow.cs -------------------------------------------------------------------------------- /tests/.gitkeep: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------