There seems to be an issue with encrypted SMPTE DCPs on Sony SRX-R510/515 (XCT-S10 Server)
machines.
While unencrypted and encrypted INTEROP DCPs work, as well as unencrypted SMPTE DCPs,
encrypted SMPTE DCPs do not work. They seem to ingest fine, and the KDM is properly
attached to the content, but when trying to play, it gives an error: 'CPL xxx is not
playable. Time period of the CPL or KDM is not present.'
KDM type is Modified Transitional 1.
This may be a Sony specific issue, but maybe someone has an idea what is going on. Seems
that a signature method for the CPL or MXF is not supported or handled properly?
Logs show:
--- bad log ---
imb.log
Sep 3 16:07:36 sh local1.notice mba[1592]: ply:parser_cpl.c:0581::ContentTitleText:
"test for Sony"
Sep 3 16:07:36 sh local1.notice mba[1592]:
ply:play_check_func.c:0110::MbPlayIsEncryptedCPL:Enc(v)
Sep 3 16:07:36 sh local1.notice mba[1592]: ply:play_check_func.c:1083::SMPTE format CPL
[64F16A5977B842A88116E8EDBE8B01AC] Enc:1
Sep 3 16:07:36 sh local1.err mba[1592]: agt:common/xml_verify.c:0329::__checkFormatType:
Not Supported this SignatureMethod attribute.
Sep 3 16:07:36 sh local1.err mba[1592]: agt:common/xml_verify.c:0330::__checkFormatType:
sigAlgType = [0].
Sep 3 16:07:36 sh local1.err mba[1592]: agt:common/xml_verify.c:0729::mandatory field
[fomatType] error
Sep 3 16:07:36 sh local1.err mba[1592]: ply:validation.c:0793::MbPlayVerifyCPLData(): Cert
Format Error
Sep 3 16:07:36 sh local1.notice mba[1592]: ply:validation.c:0393::GetHashValuefromCPL():
CPLID = urn:uuid:64f16a59-77b8-42a8-8116-e8edbe8b01ac
Sep 3 16:07:36 sh local1.notice mba[1592]: ply:validation.c:0533::Number of Assets 2 from
CLIENT, 2 in CPL. res = 0
Sep 3 16:07:36 sh local1.notice mba[1592]: ply:play_check_func.c:0892::mode[2] 0:low
1:middle 2:high
Sep 3 16:07:36 sh local1.err mba[1592]: ply:play_check_func.c:0914::SHOW START FAILED
VERIFY: Verify=NG cpl_id=64F16A5977B842A88116E8EDBE8B01AC
--- end bad log ---
While with proper CPL/KDM, this should be (this example is provided by Sony, but it seems
this is unencrypted, so, no proof):
--- good log ---
imb.log.6
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:parser_cpl.c:0581::ContentTitleText:
"SKYFALL_TLR-C-CCAP_S_EN-MULTI_51_4K_SPE_20121005_SMPTE_TDC"
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:play_check_func.c:1083::SMPTE format CPL
[5868E4BDA14744E898AD8F928F4B1AC0] Enc:0
Aug 26 08:56:09 sh local1.err mba[1585]: agt:common/xml_verify.c:0452::mandatory property
of Reference URI=[]
Aug 26 08:56:09 sh local1.notice mba[1585]: agt:common/xml_verify.c:0615::mandatory field
of Reference DigestValue=[t8lSROJD8AO3pJJOFyiAJZAsr7w=]
Aug 26 08:56:09 sh local1.notice mba[1585]: agt:common/xml_verify.c:0616::Reference
Validation of DigestValue =[t8lSROJD8AO3pJJOFyiAJZAsr7w=]
Aug 26 08:56:09 sh local1.err mba[1585]: agt:common/xml_verify.c:0623::DigestValue
validation is success
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:validation.c:0805::MbPlayVerifyCPLData():
MtXMLVerifyCertChain() res = [0]
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:validation.c:0393::GetHashValuefromCPL():
CPLID = urn:uuid:5868e4bd-a147-44e8-98ad-8f928f4b1ac0
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:validation.c:0533::Number of Assets 8 from
CLIENT, 8 in CPL. res = 0
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:play_func.c:0932::mbPlayPrepCplVerify():
CPL Check rtn = 0 (0x00)
Aug 26 08:56:09 sh local1.notice mba[1585]: ply:play_func.c:0941::mbPlayPrepCplVerify():
KDM Check rtn = 0 (0x00)
Aug 26 08:56:09 sh local1.notice mba[1585]: com:btp/btp_log.c:0188::ES PLAY PREP CPL
0x9166 rs 0x0000 0x00000004
--- end good log ---
- Carsten