aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorbtolsch <btolsch@chromium.org>2019-12-17 18:23:10 -0800
committerCommit Bot <commit-bot@chromium.org>2019-12-18 02:36:32 +0000
commit3fb84816856bd15c694fb275b40e609472064c4f (patch)
tree81c786d9a305a4ec72366b51ba3be57a7a4ae2f9 /test
parentc310e1bbcb8df5802ea9ea7598a16ea82e122cf9 (diff)
downloadopenscreen-3fb84816856bd15c694fb275b40e609472064c4f.tar.gz
Add receiver authentication steps
This change adds the necessary crypto + messaging steps for a Cast receiver to authenticate itself as such. It also adds an integration test that checks our sender authentication code against this receiver authentication code. Bug: openscreen:91 Change-Id: If298b8781bc95116714eb36fa68ef96ba82742a3 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1954745 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/data/cast/receiver/channel/auth_challenge.pbbin0 -> 92 bytes
-rw-r--r--test/data/cast/receiver/channel/auth_response.pbbin0 -> 2069 bytes
-rw-r--r--test/data/cast/receiver/channel/bad_signature_crl.pbbin0 -> 1290 bytes
-rw-r--r--test/data/cast/receiver/channel/bad_signer_cert_crl.pbbin0 -> 1283 bytes
-rw-r--r--test/data/cast/receiver/channel/crl_inter.pem82
-rw-r--r--test/data/cast/receiver/channel/crl_inter_key.pem27
-rw-r--r--test/data/cast/receiver/channel/crl_root.pem80
-rw-r--r--test/data/cast/receiver/channel/device_chain.pem238
-rw-r--r--test/data/cast/receiver/channel/device_key.pem27
-rw-r--r--test/data/cast/receiver/channel/device_revoked_crl.pbbin0 -> 1324 bytes
-rw-r--r--test/data/cast/receiver/channel/device_serial_revoked_crl.pbbin0 -> 1333 bytes
-rw-r--r--test/data/cast/receiver/channel/device_tls.pem75
-rw-r--r--test/data/cast/receiver/channel/good_crl.pbbin0 -> 1290 bytes
-rw-r--r--test/data/cast/receiver/channel/inter_key.pem27
-rw-r--r--test/data/cast/receiver/channel/invalid_time_crl.pbbin0 -> 1290 bytes
-rw-r--r--test/data/cast/receiver/channel/issuer_revoked_crl.pbbin0 -> 1324 bytes
-rw-r--r--test/data/cast/receiver/channel/issuer_serial_revoked_crl.pbbin0 -> 1331 bytes
17 files changed, 556 insertions, 0 deletions
diff --git a/test/data/cast/receiver/channel/auth_challenge.pb b/test/data/cast/receiver/channel/auth_challenge.pb
new file mode 100644
index 00000000..9848ee52
--- /dev/null
+++ b/test/data/cast/receiver/channel/auth_challenge.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/auth_response.pb b/test/data/cast/receiver/channel/auth_response.pb
new file mode 100644
index 00000000..0ead68d2
--- /dev/null
+++ b/test/data/cast/receiver/channel/auth_response.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/bad_signature_crl.pb b/test/data/cast/receiver/channel/bad_signature_crl.pb
new file mode 100644
index 00000000..bcf8029d
--- /dev/null
+++ b/test/data/cast/receiver/channel/bad_signature_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/bad_signer_cert_crl.pb b/test/data/cast/receiver/channel/bad_signer_cert_crl.pb
new file mode 100644
index 00000000..1b8a4294
--- /dev/null
+++ b/test/data/cast/receiver/channel/bad_signer_cert_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/crl_inter.pem b/test/data/cast/receiver/channel/crl_inter.pem
new file mode 100644
index 00000000..149aa3d3
--- /dev/null
+++ b/test/data/cast/receiver/channel/crl_inter.pem
@@ -0,0 +1,82 @@
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 765 (0x2fd)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast CRL Root
+ Validity
+ Not Before: Dec 16 23:48:03 2019 GMT
+ Not After : Dec 15 23:48:03 2020 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast CRL Inter
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:c9:1d:60:99:43:e8:f6:67:20:6e:22:10:95:02:
+ 7b:dc:00:39:59:9c:b1:93:0a:14:5f:a8:03:d9:69:
+ a1:67:f0:7a:03:db:28:b1:8a:e1:8a:22:19:2f:4c:
+ 58:25:dc:80:70:4e:9b:95:c7:ab:d0:8a:f2:13:4f:
+ 84:70:dc:7a:01:bc:0c:21:d7:11:c6:cf:2d:3c:7e:
+ 0b:be:19:eb:7e:7a:27:4b:5b:fd:ba:7f:04:4e:9e:
+ 54:f7:9b:56:26:03:d8:a1:ec:7a:c7:fe:7c:4c:69:
+ df:62:fc:71:7f:92:ce:d1:48:4e:a6:20:16:2e:c2:
+ 00:e8:e1:8e:08:8e:e2:1f:d8:c5:ae:6e:47:0a:ad:
+ 88:41:19:e8:fd:c1:ce:72:1a:b7:96:ac:9a:35:72:
+ bd:a1:8f:38:fc:f8:1c:b1:75:7d:f9:25:cf:64:ba:
+ 18:43:47:12:61:98:52:1c:1a:db:66:a0:17:b1:f4:
+ 11:50:b2:6f:9f:21:38:6f:5a:bb:cd:ed:57:16:b2:
+ 6c:e7:ef:ae:8a:9a:9b:64:73:21:da:95:66:2e:aa:
+ f2:6b:19:1a:e5:7e:76:30:24:d4:8e:3b:41:55:5f:
+ 58:f6:66:ce:e3:14:d5:0b:04:08:8c:5a:39:83:cb:
+ c6:93:2f:3f:b1:f9:6d:e6:2e:a1:4c:50:75:24:c7:
+ fc:8d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 4D:5B:60:B6:1F:71:39:3B:17:E9:51:9C:40:DA:12:18:C0:BC:72:3A
+ X509v3 Authority Key Identifier:
+ keyid:CA:92:70:6E:A5:C9:4A:25:49:04:54:33:27:61:36:16:03:4A:2E:6E
+
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Certificate Sign
+ Signature Algorithm: sha256WithRSAEncryption
+ 52:49:20:cc:8b:3f:3b:49:8f:8b:80:8a:f6:a3:fc:0f:af:9a:
+ 44:c2:7f:62:bb:31:70:6b:e4:79:d7:00:6d:70:4d:a1:a4:da:
+ 62:da:02:fd:a9:c8:52:dd:a5:be:e8:c2:6b:c0:32:f6:31:3b:
+ 69:c7:4a:3a:f6:e9:b7:57:92:9d:75:23:a3:5b:68:e8:26:ec:
+ 18:3d:9f:55:bd:52:a1:2b:ae:d8:9d:4d:ef:10:53:ec:13:70:
+ 4a:c8:13:a4:62:43:54:f6:18:9b:0e:13:23:05:42:fd:9e:b1:
+ 7f:f5:07:ff:6b:c7:e9:85:af:cb:4a:54:fa:46:81:2b:79:78:
+ c9:8f:c5:e2:07:1b:ed:79:df:34:76:f4:61:dc:92:6f:e6:8b:
+ b9:e6:91:b2:fc:29:bf:f9:31:d7:38:da:c5:66:e2:db:d9:d3:
+ 3f:26:e0:4e:d1:78:7d:1a:68:5c:36:60:28:51:b4:66:26:19:
+ e0:46:df:0a:d1:ca:a6:87:a8:bf:ed:97:ca:bc:3e:a7:7f:2b:
+ 56:c3:b0:c2:b3:01:b4:1c:b0:96:5d:7f:ef:2e:cb:cb:26:ef:
+ a5:2e:c0:e7:8a:07:42:16:59:ec:9a:6d:0a:4a:02:d3:cf:dd:
+ 31:ba:88:91:01:c2:5c:e6:5f:42:dc:a0:1b:4c:a9:d0:ae:c6:
+ d7:81:9c:a2
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgICAv0wDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMx
+EzARBgNVBAgMCldhc2hpbmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQK
+DApHb29nbGUgSW5jMRYwFAYDVQQDDA1DYXN0IENSTCBSb290MB4XDTE5MTIxNjIz
+NDgwM1oXDTIwMTIxNTIzNDgwM1owYzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh
+c2hpbmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQKDApHb29nbGUgSW5j
+MRcwFQYDVQQDDA5DYXN0IENSTCBJbnRlcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMkdYJlD6PZnIG4iEJUCe9wAOVmcsZMKFF+oA9lpoWfwegPbKLGK
+4YoiGS9MWCXcgHBOm5XHq9CK8hNPhHDcegG8DCHXEcbPLTx+C74Z6356J0tb/bp/
+BE6eVPebViYD2KHsesf+fExp32L8cX+SztFITqYgFi7CAOjhjgiO4h/Yxa5uRwqt
+iEEZ6P3BznIat5asmjVyvaGPOPz4HLF1ffklz2S6GENHEmGYUhwa22agF7H0EVCy
+b58hOG9au83tVxaybOfvroqam2RzIdqVZi6q8msZGuV+djAk1I47QVVfWPZmzuMU
+1QsECIxaOYPLxpMvP7H5beYuoUxQdSTH/I0CAwEAAaNgMF4wHQYDVR0OBBYEFE1b
+YLYfcTk7F+lRnEDaEhjAvHI6MB8GA1UdIwQYMBaAFMqScG6lyUolSQRUMydhNhYD
+Si5uMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgKkMA0GCSqGSIb3DQEBCwUA
+A4IBAQBSSSDMiz87SY+LgIr2o/wPr5pEwn9iuzFwa+R51wBtcE2hpNpi2gL9qchS
+3aW+6MJrwDL2MTtpx0o69um3V5KddSOjW2joJuwYPZ9VvVKhK67YnU3vEFPsE3BK
+yBOkYkNU9hibDhMjBUL9nrF/9Qf/a8fpha/LSlT6RoEreXjJj8XiBxvted80dvRh
+3JJv5ou55pGy/Cm/+THXONrFZuLb2dM/JuBO0Xh9GmhcNmAoUbRmJhngRt8K0cqm
+h6i/7ZfKvD6nfytWw7DCswG0HLCWXX/vLsvLJu+lLsDnigdCFlnsmm0KSgLTz90x
+uoiRAcJc5l9C3KAbTKnQrsbXgZyi
+-----END CERTIFICATE-----
diff --git a/test/data/cast/receiver/channel/crl_inter_key.pem b/test/data/cast/receiver/channel/crl_inter_key.pem
new file mode 100644
index 00000000..f0725b4c
--- /dev/null
+++ b/test/data/cast/receiver/channel/crl_inter_key.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAyR1gmUPo9mcgbiIQlQJ73AA5WZyxkwoUX6gD2WmhZ/B6A9so
+sYrhiiIZL0xYJdyAcE6blcer0IryE0+EcNx6AbwMIdcRxs8tPH4LvhnrfnonS1v9
+un8ETp5U95tWJgPYoex6x/58TGnfYvxxf5LO0UhOpiAWLsIA6OGOCI7iH9jFrm5H
+Cq2IQRno/cHOchq3lqyaNXK9oY84/PgcsXV9+SXPZLoYQ0cSYZhSHBrbZqAXsfQR
+ULJvnyE4b1q7ze1XFrJs5++uipqbZHMh2pVmLqryaxka5X52MCTUjjtBVV9Y9mbO
+4xTVCwQIjFo5g8vGky8/sflt5i6hTFB1JMf8jQIDAQABAoIBAQCUYC8nhDm4qKb9
+efZf6UA2NJgbLAa6o8IaPJvyaAMj6wAqHiOssPjq73NDOQEDleXQdb5Fx9VT+17T
+rmPY3GDLLNCKmuDLm4gVTC0fqIHcgwTAjXLph9JGqnunXhw12bqW5CBFstRDkAy2
+O+cEpuwc7UrRN3UGNC11owsl9zyPHw9T/JC7aynYBfko/EXE3QKXvZeZrl6t503p
+KMEaqVOGjJ5pa1EyofFEllgLIQI7W37ly8zkljq5Q1a7FTCdP84ciS5VnVZ0oLyo
+FU5uHIzXzV86HoO2U/ZT6Gi8tvqceOJBjqPtw3vM0MWooe3R1r9VST9r0SWdMjB5
+m93a2SLhAoGBAPtDtFmua3YTimfTxx3pfmoDDQM34uvhvohAZeqtlDnV2gpnUG4b
+vOCtm1ZhI9FqFMZZKehqU65OzyXgAycm+dQFmcNYxcTX9qWC5IUQu5iEuqLkx3fO
+XlRf5yO0lDEMKR0T53D1HXQIyUBvy73LoWgzEjBhobxvXiSvWou0xLblAoGBAMzn
+tiiubQDwDdE2qFaiuC/3FksV3T7zBP8zS0XIdiOih7cg3e+8j7TVAJB+91QLsDGD
+mSeJgH2kAcjzslpqEk22DG617WZ8n6+rjVw2j1nIswUfRA6pcae1reVuLb21cRh6
+MbKWnRIrl+qxn5Z5bTT8vFxJYIslKXAlNzql2+yJAoGAHWEiQmY5nHnWciN6Ic4+
+gMjQibLMLsabj7Tv9cvMDCMsNpEz/1vw7th91FDRblgYC8U7ODjOhhAi+ovB8p8F
+ETyCaSwFG+ogpeOzMrftJ31FkWxswl53+yenkC46Ma35VLQSGMwgYIPyfD1WNmAM
+BHIMS2nvDmh7OpDiZnmBkt0CgYAJlGu3yy/dc1uyBFQqeMETvQGV0Rfe8Y2yQLus
+L4sWb2rY7PhzVOWDFtJH7yexDjrWlch7SLpxJVHQC1SzVXI1n+VE58yJlhoBJIwf
+W42oLPHxs1yDMvjVVnEi4NvSmsEG2++m4dPGHbOkjVlgt5ybdZV42xVgbARb8eF7
+JHX7wQKBgHimkgN/VkScqAS2WWmtps33GnPP2z1BQ+ozQZ2GXUyZmPOYqH6kkpIk
+PaXIT4tbHaTzQhqbrxdIOd1OgDi0BqBrGvWZtBwJoIVt/bzzYY8cLl31bClACYoI
+rtofRafSfZZ0guQBIi9sbByJGSJL5gD59xTgEQsnvx8VQb6E1tO8
+-----END RSA PRIVATE KEY-----
diff --git a/test/data/cast/receiver/channel/crl_root.pem b/test/data/cast/receiver/channel/crl_root.pem
new file mode 100644
index 00000000..9523afa7
--- /dev/null
+++ b/test/data/cast/receiver/channel/crl_root.pem
@@ -0,0 +1,80 @@
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4891 (0x131b)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast CRL Root
+ Validity
+ Not Before: Dec 16 23:47:17 2019 GMT
+ Not After : Dec 15 23:47:17 2020 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast CRL Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:b4:e0:e9:cb:ed:68:ad:22:41:97:6d:20:23:9f:
+ 6d:33:ca:2f:a7:a4:16:71:21:9b:fa:82:fa:9f:d9:
+ 5e:a0:97:de:a0:49:a7:fe:df:e3:26:5e:17:23:f9:
+ 69:62:44:fb:5d:49:92:63:d5:b4:dd:f9:5b:9f:b0:
+ 74:ca:56:62:d7:21:ac:e4:6e:91:b8:bf:0e:02:2c:
+ 89:96:af:3c:e1:d0:df:e6:6f:5c:21:c7:a0:75:4c:
+ 30:1d:cd:5f:f2:01:c1:5a:59:d6:5a:07:16:cb:f7:
+ f7:ab:ad:ed:b3:dc:27:ec:f5:b4:48:ee:61:54:38:
+ 23:33:36:19:31:9a:09:da:6c:2b:e6:3f:ec:48:06:
+ 3e:ce:1b:9f:11:b0:19:32:5b:a9:93:05:67:4e:c5:
+ a1:1d:6c:14:ab:ce:b6:cf:8e:5d:38:6d:20:01:0b:
+ 9c:5d:43:29:f3:47:98:06:41:f1:92:de:d4:46:6f:
+ 50:b3:b7:19:98:57:27:71:d8:d9:60:e0:b8:8d:4b:
+ b3:47:f3:ab:e7:da:48:85:d4:c0:79:97:01:92:ed:
+ 8c:c3:e5:ab:0c:07:0d:b7:dd:8d:ee:d0:ba:26:51:
+ f5:21:d9:c7:83:6e:19:bf:23:19:e3:6a:c7:5b:49:
+ cd:22:26:d6:eb:f4:9c:2b:37:fd:17:93:9c:9d:25:
+ fa:57
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ CA:92:70:6E:A5:C9:4A:25:49:04:54:33:27:61:36:16:03:4A:2E:6E
+ X509v3 Authority Key Identifier:
+ keyid:CA:92:70:6E:A5:C9:4A:25:49:04:54:33:27:61:36:16:03:4A:2E:6E
+
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ Signature Algorithm: sha256WithRSAEncryption
+ 8b:c1:c5:7c:40:83:69:c2:78:26:35:f1:41:fa:f5:6a:be:6a:
+ 36:10:7d:97:3e:c8:6a:4b:48:68:23:49:c3:d2:0b:e0:ec:ff:
+ 4e:57:9e:59:a5:f6:b4:49:d7:79:fe:c6:4b:60:bc:16:75:31:
+ 51:42:87:a8:82:b9:2f:0d:e5:b9:cf:80:14:31:4c:29:41:b0:
+ f4:aa:7a:6c:69:bf:6a:cf:0a:40:18:31:df:1b:ec:a8:97:69:
+ 22:b2:1d:c9:51:7e:6e:90:86:23:1e:dc:f9:01:ec:39:7e:70:
+ b0:0d:87:4a:88:88:25:86:a1:67:9f:5f:59:5d:ac:ac:97:2a:
+ ec:a0:f8:13:3c:34:43:51:4c:2f:fd:56:c1:b9:29:c5:77:9c:
+ f5:a8:4d:4b:99:a4:6a:3f:cd:ec:6d:9e:08:a0:ff:01:f5:39:
+ fb:a2:92:a6:72:c3:28:70:14:d2:99:a0:a1:c3:96:8c:45:80:
+ 67:18:b9:c8:f9:3a:03:35:9e:de:36:1a:a1:9f:b3:77:52:9c:
+ 54:25:1d:6f:f2:93:d9:c0:db:65:3a:c3:59:16:e5:86:7f:27:
+ 7e:ca:39:5b:cf:32:db:cc:dd:4b:e4:1f:ea:45:b4:08:21:c0:
+ 96:e7:e5:27:f6:c1:92:ee:54:f0:15:40:01:61:4e:ff:88:57:
+ 62:ec:ac:c4
+-----BEGIN CERTIFICATE-----
+MIIDkzCCAnugAwIBAgICExswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMx
+EzARBgNVBAgMCldhc2hpbmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQK
+DApHb29nbGUgSW5jMRYwFAYDVQQDDA1DYXN0IENSTCBSb290MB4XDTE5MTIxNjIz
+NDcxN1oXDTIwMTIxNTIzNDcxN1owYjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh
+c2hpbmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQKDApHb29nbGUgSW5j
+MRYwFAYDVQQDDA1DYXN0IENSTCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAtODpy+1orSJBl20gI59tM8ovp6QWcSGb+oL6n9leoJfeoEmn/t/j
+Jl4XI/lpYkT7XUmSY9W03flbn7B0ylZi1yGs5G6RuL8OAiyJlq884dDf5m9cIceg
+dUwwHc1f8gHBWlnWWgcWy/f3q63ts9wn7PW0SO5hVDgjMzYZMZoJ2mwr5j/sSAY+
+zhufEbAZMlupkwVnTsWhHWwUq862z45dOG0gAQucXUMp80eYBkHxkt7URm9Qs7cZ
+mFcncdjZYOC4jUuzR/Or59pIhdTAeZcBku2Mw+WrDAcNt92N7tC6JlH1IdnHg24Z
+vyMZ42rHW0nNIibW6/ScKzf9F5OcnSX6VwIDAQABo1MwUTAdBgNVHQ4EFgQUypJw
+bqXJSiVJBFQzJ2E2FgNKLm4wHwYDVR0jBBgwFoAUypJwbqXJSiVJBFQzJ2E2FgNK
+Lm4wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAi8HFfECDacJ4
+JjXxQfr1ar5qNhB9lz7IaktIaCNJw9IL4Oz/TleeWaX2tEnXef7GS2C8FnUxUUKH
+qIK5Lw3luc+AFDFMKUGw9Kp6bGm/as8KQBgx3xvsqJdpIrIdyVF+bpCGIx7c+QHs
+OX5wsA2HSoiIJYahZ59fWV2srJcq7KD4Ezw0Q1FML/1WwbkpxXec9ahNS5mkaj/N
+7G2eCKD/AfU5+6KSpnLDKHAU0pmgocOWjEWAZxi5yPk6AzWe3jYaoZ+zd1KcVCUd
+b/KT2cDbZTrDWRblhn8nfso5W88y28zdS+Qf6kW0CCHAluflJ/bBku5U8BVAAWFO
+/4hXYuysxA==
+-----END CERTIFICATE-----
diff --git a/test/data/cast/receiver/channel/device_chain.pem b/test/data/cast/receiver/channel/device_chain.pem
new file mode 100644
index 00000000..1286c0a9
--- /dev/null
+++ b/test/data/cast/receiver/channel/device_chain.pem
@@ -0,0 +1,238 @@
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1234 (0x4d2)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Intermediate
+ Validity
+ Not Before: Dec 12 02:58:20 2019 GMT
+ Not After : Dec 11 02:58:20 2020 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Device
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:e2:12:58:61:b3:d6:2e:b0:36:ed:38:66:2d:ff:
+ ee:f6:df:7e:44:de:9f:fa:91:87:66:9c:36:16:b5:
+ b0:67:b6:3c:f7:5c:89:68:44:71:98:15:f1:d1:08:
+ 13:4d:48:3a:62:96:23:1d:cf:36:0f:96:20:ed:cf:
+ 7d:c1:3d:dd:83:84:7e:e1:7d:78:29:54:53:a0:87:
+ cb:27:b6:e2:6b:fd:66:a9:7e:8f:92:d7:9e:8a:f6:
+ 27:ef:fd:f1:01:f8:f7:27:b1:6c:8c:0d:a2:b0:07:
+ c9:06:24:07:87:62:5f:00:1d:61:4a:cd:6f:31:76:
+ 6a:68:be:77:da:d8:76:13:93:cc:2f:80:79:eb:ae:
+ 47:a9:8e:ac:ff:85:ea:59:b6:e5:76:b8:a9:33:6b:
+ dc:ea:ab:92:48:fb:a7:b2:2b:4c:e5:74:ac:6c:5a:
+ 69:aa:c1:65:96:98:b7:4f:b4:08:4a:e5:46:16:54:
+ 18:93:e7:b1:ae:e9:a7:84:73:29:7f:d6:76:f8:2a:
+ 26:97:6c:23:0f:61:7e:1e:fc:fb:6d:f4:62:4c:d7:
+ a2:e9:d3:80:22:9f:fc:4e:9c:4f:51:fd:a3:66:76:
+ ec:96:b9:4d:16:e6:dc:d5:49:bc:12:76:89:ea:8a:
+ ab:85:69:02:b2:c5:17:e6:1c:9c:f9:ea:2f:62:5d:
+ 24:b9
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment
+ Signature Algorithm: sha256WithRSAEncryption
+ 65:86:e4:c3:6f:a8:80:7f:1d:cc:64:8d:c2:cb:01:f9:40:5e:
+ c2:0d:98:25:9d:18:1d:7d:f9:a2:be:4a:4b:ab:38:ad:f0:b1:
+ fd:1d:87:fa:f4:a5:9d:f2:ca:86:de:7c:fa:99:56:79:3a:06:
+ fa:24:2d:c3:19:ba:5a:8d:5e:f4:8a:8a:63:87:6b:45:6c:2a:
+ 91:f0:5a:b2:bc:78:9c:10:c9:c4:a7:88:23:c8:d7:a7:8a:c0:
+ 23:4a:d9:9c:a4:f8:6e:d3:9b:e6:c8:40:ef:ee:bc:58:cd:91:
+ 98:7b:32:d5:6f:f7:1d:87:79:ec:25:d1:e6:b8:0c:7d:e8:76:
+ ec:2a:4d:75:36:f2:27:0b:56:f4:70:9c:22:3c:e7:03:00:ff:
+ 71:ff:57:6b:10:c1:d7:76:b5:09:5f:43:25:59:d3:fd:12:56:
+ fb:5b:56:38:5d:c7:60:a6:42:13:71:f1:a6:9d:d7:2d:17:69:
+ c7:20:67:81:52:f2:98:3d:9a:91:39:12:b2:54:ad:61:7f:98:
+ 74:c2:4d:5c:a2:7e:94:95:dd:36:f3:f3:5c:36:a0:d8:62:32:
+ a8:d5:44:05:46:09:29:4b:be:cb:19:39:1a:0e:7f:bf:32:05:
+ 98:00:9e:6c:2b:a6:a1:72:e9:a3:70:01:32:a3:d4:39:ea:2c:
+ d8:dc:19:5a
+-----BEGIN CERTIFICATE-----
+MIIDUjCCAjqgAwIBAgICBNIwDQYJKoZIhvcNAQELBQAwYTELMAkGA1UEBhMCVVMx
+EzARBgNVBAgMCldhc2hpbmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQK
+DApHb29nbGUgSW5jMRUwEwYDVQQDDAxJbnRlcm1lZGlhdGUwHhcNMTkxMjEyMDI1
+ODIwWhcNMjAxMjExMDI1ODIwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz
+aGluZ3RvbjERMA8GA1UEBwwIQmVsbGV2dWUxEzARBgNVBAoMCkdvb2dsZSBJbmMx
+DzANBgNVBAMMBkRldmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AOISWGGz1i6wNu04Zi3/7vbffkTen/qRh2acNha1sGe2PPdciWhEcZgV8dEIE01I
+OmKWIx3PNg+WIO3PfcE93YOEfuF9eClUU6CHyye24mv9Zql+j5LXnor2J+/98QH4
+9yexbIwNorAHyQYkB4diXwAdYUrNbzF2ami+d9rYdhOTzC+AeeuuR6mOrP+F6lm2
+5Xa4qTNr3Oqrkkj7p7IrTOV0rGxaaarBZZaYt0+0CErlRhZUGJPnsa7pp4RzKX/W
+dvgqJpdsIw9hfh78+230YkzXounTgCKf/E6cT1H9o2Z27Ja5TRbm3NVJvBJ2ieqK
+q4VpArLFF+YcnPnqL2JdJLkCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMC
+BaAwDQYJKoZIhvcNAQELBQADggEBAGWG5MNvqIB/HcxkjcLLAflAXsINmCWdGB19
++aK+SkurOK3wsf0dh/r0pZ3yyobefPqZVnk6BvokLcMZulqNXvSKimOHa0VsKpHw
+WrK8eJwQycSniCPI16eKwCNK2Zyk+G7Tm+bIQO/uvFjNkZh7MtVv9x2Heewl0ea4
+DH3oduwqTXU28icLVvRwnCI85wMA/3H/V2sQwdd2tQlfQyVZ0/0SVvtbVjhdx2Cm
+QhNx8aad1y0XaccgZ4FS8pg9mpE5ErJUrWF/mHTCTVyifpSV3Tbz81w2oNhiMqjV
+RAVGCSlLvssZORoOf78yBZgAnmwrpqFy6aNwATKj1DnqLNjcGVo=
+-----END CERTIFICATE-----
+
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 42 (0x2a)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast Root
+ Validity
+ Not Before: Dec 12 02:57:32 2019 GMT
+ Not After : Dec 11 02:57:32 2020 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Intermediate
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:cc:58:a0:60:e9:3b:b8:31:03:e7:70:d7:81:ca:
+ e7:f6:a9:cb:75:44:91:01:ff:4f:3a:96:4a:cb:01:
+ 80:97:29:90:d5:70:7a:7c:ee:7c:a7:9e:19:94:74:
+ 3a:54:af:47:d9:21:c2:04:a9:b3:e9:59:c8:91:71:
+ aa:a8:2f:82:e1:de:40:97:42:54:26:51:5b:7c:fc:
+ c7:71:e2:5e:1f:c2:14:51:db:5d:6e:de:f5:42:71:
+ 1c:48:17:7e:f3:79:9e:05:d1:b4:91:12:8e:9c:15:
+ 1b:48:73:21:ed:f8:c3:63:ae:d9:6a:3f:6a:fe:41:
+ 5a:7c:8d:8b:c1:ec:d8:80:67:ac:24:b2:56:bf:9b:
+ 04:47:eb:a6:88:72:ce:20:dd:4b:f9:37:07:4e:a9:
+ 4f:83:d5:08:80:e6:81:4d:f6:b7:da:29:e1:f2:47:
+ 1e:2f:79:aa:a7:33:e0:cd:7d:0e:19:8a:02:0a:95:
+ 3c:33:c3:c2:aa:28:4d:57:92:11:86:1b:77:40:f5:
+ 6e:a6:9a:11:68:65:54:1f:83:50:7c:6e:0c:61:dc:
+ 5a:0b:65:f9:53:d2:ab:6e:a0:3c:b5:ed:b8:3e:1f:
+ 3b:2c:55:50:6d:95:d8:70:cf:7f:b4:b3:48:70:13:
+ 25:6c:00:f3:71:33:29:ad:72:a6:f6:ee:06:14:8a:
+ b6:8d
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ B2:26:7F:CB:C6:F8:A8:0A:49:71:E3:05:03:D3:85:06:7D:F1:F7:8A
+ X509v3 Authority Key Identifier:
+ keyid:78:87:D8:AC:5F:0D:C7:15:CA:BC:7D:71:DF:E9:AF:13:FD:C1:0B:B5
+
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Certificate Sign
+ Signature Algorithm: sha256WithRSAEncryption
+ 38:b3:29:b3:ff:3f:5b:3d:1a:31:d6:88:5d:b1:ef:40:af:a0:
+ d9:8b:22:d9:c6:d1:b7:93:2b:06:7b:c7:7a:14:ec:57:3b:0e:
+ b8:df:f5:ad:6a:3e:6d:7e:90:d5:d6:ff:74:82:c4:e3:29:34:
+ c2:04:0b:66:44:01:5b:68:37:a5:62:6e:05:35:f5:a5:44:23:
+ 04:2c:bb:52:68:31:1e:9d:d2:0a:f2:78:25:4c:2f:00:b5:19:
+ fe:e2:23:d3:1b:4d:7a:c4:c0:51:62:80:82:06:4d:6f:49:e6:
+ 6e:db:bb:28:e3:34:4f:38:2a:2d:95:89:d6:de:e5:0d:99:89:
+ 6a:d0:17:07:38:41:2b:7c:6e:c9:04:2e:e6:00:b4:03:9a:a2:
+ 38:08:be:a2:3e:fa:29:f0:1a:11:45:89:39:21:46:1e:8a:a0:
+ e4:bd:0f:e9:4b:7d:20:ca:18:55:59:95:05:5c:a8:2a:bb:7a:
+ 05:3c:28:8d:f1:62:20:96:81:44:31:bd:11:2f:8a:82:43:2f:
+ 8b:e8:39:91:7a:ac:1e:36:0c:6d:05:5b:4a:a4:73:67:d8:5a:
+ eb:6b:9f:f5:2e:af:00:75:c4:61:1e:17:f4:62:85:c4:a8:1e:
+ 4d:9a:d9:b2:22:13:15:95:c1:b2:0b:d0:b6:29:8d:77:54:b2:
+ d2:a7:46:0f
+-----BEGIN CERTIFICATE-----
+MIIDmjCCAoKgAwIBAgIBKjANBgkqhkiG9w0BAQsFADBeMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIQmVsbGV2dWUxEzARBgNVBAoM
+Ckdvb2dsZSBJbmMxEjAQBgNVBAMMCUNhc3QgUm9vdDAeFw0xOTEyMTIwMjU3MzJa
+Fw0yMDEyMTEwMjU3MzJaMGExCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5n
+dG9uMREwDwYDVQQHDAhCZWxsZXZ1ZTETMBEGA1UECgwKR29vZ2xlIEluYzEVMBMG
+A1UEAwwMSW50ZXJtZWRpYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAzFigYOk7uDED53DXgcrn9qnLdUSRAf9POpZKywGAlymQ1XB6fO58p54ZlHQ6
+VK9H2SHCBKmz6VnIkXGqqC+C4d5Al0JUJlFbfPzHceJeH8IUUdtdbt71QnEcSBd+
+83meBdG0kRKOnBUbSHMh7fjDY67Zaj9q/kFafI2LwezYgGesJLJWv5sER+umiHLO
+IN1L+TcHTqlPg9UIgOaBTfa32inh8kceL3mqpzPgzX0OGYoCCpU8M8PCqihNV5IR
+hht3QPVuppoRaGVUH4NQfG4MYdxaC2X5U9KrbqA8te24Ph87LFVQbZXYcM9/tLNI
+cBMlbADzcTMprXKm9u4GFIq2jQIDAQABo2AwXjAdBgNVHQ4EFgQUsiZ/y8b4qApJ
+ceMFA9OFBn3x94owHwYDVR0jBBgwFoAUeIfYrF8NxxXKvH1x3+mvE/3BC7UwDwYD
+VR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAqQwDQYJKoZIhvcNAQELBQADggEBADiz
+KbP/P1s9GjHWiF2x70CvoNmLItnG0beTKwZ7x3oU7Fc7Drjf9a1qPm1+kNXW/3SC
+xOMpNMIEC2ZEAVtoN6VibgU19aVEIwQsu1JoMR6d0gryeCVMLwC1Gf7iI9MbTXrE
+wFFigIIGTW9J5m7buyjjNE84Ki2Vidbe5Q2ZiWrQFwc4QSt8bskELuYAtAOaojgI
+vqI++inwGhFFiTkhRh6KoOS9D+lLfSDKGFVZlQVcqCq7egU8KI3xYiCWgUQxvREv
+ioJDL4voOZF6rB42DG0FW0qkc2fYWutrn/UurwB1xGEeF/RihcSoHk2a2bIiExWV
+wbIL0LYpjXdUstKnRg8=
+-----END CERTIFICATE-----
+
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 89 (0x59)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast Root
+ Validity
+ Not Before: Dec 12 02:56:51 2019 GMT
+ Not After : Dec 11 02:56:51 2020 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Cast Root
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:cc:43:8b:9b:7a:4e:fe:d7:e8:f5:b4:98:f5:d0:
+ 1a:e8:b5:e9:7a:01:68:1d:13:de:4f:bf:51:f6:4f:
+ ac:3e:ec:2e:f9:a1:9b:33:f1:01:d1:9a:d9:91:48:
+ d7:cd:55:88:45:22:8f:77:d3:32:77:4f:75:fd:b4:
+ 97:6f:82:9e:88:c5:bd:24:9a:0d:8c:65:91:49:7f:
+ 69:35:cf:82:9e:ef:a0:d7:b9:cb:f1:d8:85:28:62:
+ 48:fb:9f:a3:a3:a5:81:06:e5:95:54:0b:67:c3:3c:
+ c7:7b:08:f1:e6:31:5e:a8:cf:a0:e2:9c:44:90:32:
+ fb:7e:d9:84:2b:18:f4:ab:32:9c:0a:99:53:27:33:
+ cf:4c:cd:f2:fa:d7:be:52:40:d1:45:c1:3a:51:ae:
+ cb:a4:0c:66:66:5a:2f:2f:ae:9b:88:e6:69:df:c5:
+ da:56:3f:1d:1a:9e:95:e8:ec:5f:ad:14:d9:fb:83:
+ 76:31:e1:ed:bf:cb:dc:da:4f:ca:95:0c:3d:2b:fd:
+ b3:37:c4:d9:e5:5c:1b:70:91:4a:ec:6c:2e:ec:9a:
+ 24:0d:92:df:be:93:33:8e:4a:37:32:86:db:d5:08:
+ 9c:86:6e:56:70:9e:e4:26:64:21:87:76:b0:c3:ce:
+ df:7d:bd:26:f2:2a:b1:d3:05:67:72:52:4a:19:e1:
+ 3d:ab
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Key Identifier:
+ 78:87:D8:AC:5F:0D:C7:15:CA:BC:7D:71:DF:E9:AF:13:FD:C1:0B:B5
+ X509v3 Authority Key Identifier:
+ keyid:78:87:D8:AC:5F:0D:C7:15:CA:BC:7D:71:DF:E9:AF:13:FD:C1:0B:B5
+
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ Signature Algorithm: sha256WithRSAEncryption
+ 06:b4:da:ca:2c:7b:46:9c:61:03:9b:ba:38:e8:8e:25:30:64:
+ 56:08:01:bc:da:1a:ff:60:be:aa:fd:63:65:92:6e:39:b1:8c:
+ de:fb:8c:92:fb:6a:a1:02:11:bb:ed:d6:40:fa:0c:0a:99:8d:
+ 74:db:9f:8f:e9:9d:e4:98:51:b5:c6:30:ff:08:19:19:4f:bd:
+ 4c:05:03:f6:20:99:79:24:b7:39:cc:c8:70:02:be:c1:90:b7:
+ b7:e5:5b:40:ce:9f:9c:37:19:c4:81:b0:10:ac:d2:6c:33:09:
+ 6c:6e:88:43:fc:23:24:8d:34:c6:46:b0:79:dc:46:97:92:9c:
+ 53:b6:3d:48:3d:07:2f:b4:d5:b0:4a:de:e2:e6:7c:02:18:e4:
+ c1:c5:58:51:92:2c:a6:b2:50:53:d1:ae:1f:50:1d:1f:35:45:
+ bd:b6:24:7e:cf:e9:d3:a9:1d:84:26:51:7e:da:de:81:3d:5d:
+ 29:43:66:d8:71:6f:81:4e:1d:a8:9f:06:85:cd:ee:19:17:38:
+ 9f:03:ad:8e:06:09:b0:94:16:57:ad:96:cc:25:4b:80:3f:91:
+ b0:dd:dc:ec:fb:0f:ea:93:10:10:48:90:06:82:5e:35:93:35:
+ 1f:fb:a5:81:53:2b:27:e8:59:1c:3b:8d:3d:41:1d:08:96:39:
+ 2b:4f:aa:3e
+-----BEGIN CERTIFICATE-----
+MIIDijCCAnKgAwIBAgIBWTANBgkqhkiG9w0BAQsFADBeMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIQmVsbGV2dWUxEzARBgNVBAoM
+Ckdvb2dsZSBJbmMxEjAQBgNVBAMMCUNhc3QgUm9vdDAeFw0xOTEyMTIwMjU2NTFa
+Fw0yMDEyMTEwMjU2NTFaMF4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5n
+dG9uMREwDwYDVQQHDAhCZWxsZXZ1ZTETMBEGA1UECgwKR29vZ2xlIEluYzESMBAG
+A1UEAwwJQ2FzdCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+zEOLm3pO/tfo9bSY9dAa6LXpegFoHRPeT79R9k+sPuwu+aGbM/EB0ZrZkUjXzVWI
+RSKPd9Myd091/bSXb4KeiMW9JJoNjGWRSX9pNc+Cnu+g17nL8diFKGJI+5+jo6WB
+BuWVVAtnwzzHewjx5jFeqM+g4pxEkDL7ftmEKxj0qzKcCplTJzPPTM3y+te+UkDR
+RcE6Ua7LpAxmZlovL66biOZp38XaVj8dGp6V6OxfrRTZ+4N2MeHtv8vc2k/KlQw9
+K/2zN8TZ5VwbcJFK7Gwu7JokDZLfvpMzjko3Mobb1Qichm5WcJ7kJmQhh3aww87f
+fb0m8iqx0wVnclJKGeE9qwIDAQABo1MwUTAdBgNVHQ4EFgQUeIfYrF8NxxXKvH1x
+3+mvE/3BC7UwHwYDVR0jBBgwFoAUeIfYrF8NxxXKvH1x3+mvE/3BC7UwDwYDVR0T
+AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEABrTayix7RpxhA5u6OOiOJTBk
+VggBvNoa/2C+qv1jZZJuObGM3vuMkvtqoQIRu+3WQPoMCpmNdNufj+md5JhRtcYw
+/wgZGU+9TAUD9iCZeSS3OczIcAK+wZC3t+VbQM6fnDcZxIGwEKzSbDMJbG6IQ/wj
+JI00xkawedxGl5KcU7Y9SD0HL7TVsEre4uZ8AhjkwcVYUZIsprJQU9GuH1AdHzVF
+vbYkfs/p06kdhCZRftregT1dKUNm2HFvgU4dqJ8Ghc3uGRc4nwOtjgYJsJQWV62W
+zCVLgD+RsN3c7PsP6pMQEEiQBoJeNZM1H/ulgVMrJ+hZHDuNPUEdCJY5K0+qPg==
+-----END CERTIFICATE-----
diff --git a/test/data/cast/receiver/channel/device_key.pem b/test/data/cast/receiver/channel/device_key.pem
new file mode 100644
index 00000000..4d58a004
--- /dev/null
+++ b/test/data/cast/receiver/channel/device_key.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA4hJYYbPWLrA27ThmLf/u9t9+RN6f+pGHZpw2FrWwZ7Y891yJ
+aERxmBXx0QgTTUg6YpYjHc82D5Yg7c99wT3dg4R+4X14KVRToIfLJ7bia/1mqX6P
+kteeivYn7/3xAfj3J7FsjA2isAfJBiQHh2JfAB1hSs1vMXZqaL532th2E5PML4B5
+665HqY6s/4XqWbbldripM2vc6quSSPunsitM5XSsbFppqsFllpi3T7QISuVGFlQY
+k+exrumnhHMpf9Z2+Coml2wjD2F+Hvz7bfRiTNei6dOAIp/8TpxPUf2jZnbslrlN
+Fubc1Um8EnaJ6oqrhWkCssUX5hyc+eovYl0kuQIDAQABAoIBAHsbUlWiALhb7Q0w
+8TOLcy2sdq46LRPdu8X8uteTCQTxEDIDii/lVZZkHNKfeyNSebjF2UmaVO4X6saV
+fv2EGuRLemyATrby3LdGOzLdPF9iFk2mRbjJAeTaNtVRi7RvRueujlWV90m0c5uM
+cy0ePG1rkleRl0NwIHH5hnr99Q6jHuyA/OOJQalsOsuRQsWbz1XZQiYG4Mnin3gW
+Ym1citWz1Wz4T7bsQiGiYUjMgMmx6ZDRJBdmyTyUlThi6UHx61zO+LJ1dGCmGoz0
+wq0spIo9N8LknCPiuTQwJ0Xg/sVluPpF8B3pd7pbrg8xvJ7scJk97L89EZ39IC4d
+K2PzWyECgYEA/SLdTfERWuCS/ONrWWejppulxB1FAfvDh6aQ2MRLxxcpEi0MO9xm
+YrOvXQSYZd+LG/PSCKh/G5mbvVXGAp6h4NYbWtms5FI/lv+OsDmUJaTWSvxmI7FV
+33SSYs/UZJcci/Ht7uVAkBpS4mtQJCZZiU9dCgruVKMkxFuva8O7g2cCgYEA5KEY
+oaVK/1voNCgu5JDCH5GAGdRhObrVJtlZ6zGYpjaErezM2qiugCz2/Vy9y+wqOUPj
+Lo9XIuKIfkK0BsQWel4CeciMhiQQx13B2cumozanomn7OhCLYbkW3kpv6W5H2nmI
+cD40sSD4+HLfYiV0OLkgpRBw5WJswUvI13eeIt8CgYEA6bFBK86NHh/Ls0nk9gH3
+FD4HeBkpdx5NsjL08Bmwd5mLIiuSasUbhK2sDKzMYOhSTbj3w2SDDCDwpYfFKO/4
+NFCVqnbg5VyFNkqyGUDe4y3dZBbF2NfDlmrRJgYGZ+MVyKDN70mYJDEZKcy2jNkW
+uewZ0carplmC/QBD37Iwr6sCgYA7+aakgN/zrQB07jWe7/p8nYalP/lhU4mm702P
+TStmLtcPaRc0JRvhs+n2/OUtIX7SFuT5ydBp7lMwC/995uKepxqvJ9T1O3DLW+UG
+ZU4JcsT27iZhTQXDVPKSzaQd8DgZL9iC2U6pSKUHR9shvAGI/8d4hZ+YDQHKkz7U
+hySMsQKBgQCxcGVxBFc2GYwmGz3gKnImjuhMpysoPwLxfsW/XLsc+oqgKCNal8lz
+3IiUfD/NYIeuBhO5QTD8bEFm7XWXwNbltNJ5LiHCuOZ5sA7jLwztDjo8BSH8B9Cs
+KYfQKCIjliQ8Og/8rDbEEAXzhiFMohfDJKnbcBMHWU50lZDq1M+dNw==
+-----END RSA PRIVATE KEY-----
diff --git a/test/data/cast/receiver/channel/device_revoked_crl.pb b/test/data/cast/receiver/channel/device_revoked_crl.pb
new file mode 100644
index 00000000..8974b4b9
--- /dev/null
+++ b/test/data/cast/receiver/channel/device_revoked_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/device_serial_revoked_crl.pb b/test/data/cast/receiver/channel/device_serial_revoked_crl.pb
new file mode 100644
index 00000000..d39d15ba
--- /dev/null
+++ b/test/data/cast/receiver/channel/device_serial_revoked_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/device_tls.pem b/test/data/cast/receiver/channel/device_tls.pem
new file mode 100644
index 00000000..0e9b6c27
--- /dev/null
+++ b/test/data/cast/receiver/channel/device_tls.pem
@@ -0,0 +1,75 @@
+$ openssl x509 -text -noout < [CERTIFICATE]
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 15 (0xf)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Test Device
+ Validity
+ Not Before: Dec 16 23:56:49 2019 GMT
+ Not After : Dec 18 23:56:49 2019 GMT
+ Subject: C = US, ST = Washington, L = Bellevue, O = Google Inc, CN = Test Device
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public-Key: (2048 bit)
+ Modulus:
+ 00:d8:82:71:27:1f:1b:26:82:04:f8:e0:3e:32:8d:
+ ed:a1:4e:e7:29:fc:a9:dc:0e:b8:a3:2b:6d:ae:79:
+ 3d:ce:14:9a:6c:0d:59:ff:5b:96:fe:93:fb:5f:d6:
+ 4b:db:03:c5:f0:c9:4c:6d:25:5f:50:84:33:03:0a:
+ dc:36:5b:2e:27:33:94:5e:9a:97:57:9c:78:16:44:
+ 68:6e:c5:6d:38:1c:af:33:2b:69:e8:be:50:77:0d:
+ b0:2f:6f:df:f9:20:0d:b9:ad:95:b6:00:40:ba:4a:
+ 73:e3:f2:d2:48:b7:ff:ae:87:24:95:ce:f7:d5:74:
+ 78:cd:21:5c:d4:14:52:7e:70:83:2d:2b:06:09:c1:
+ 35:ab:3c:e4:41:90:17:d5:54:46:40:c4:03:62:ba:
+ 37:47:f3:b6:2f:c8:c4:60:70:2e:88:9b:a8:da:28:
+ 08:65:95:38:22:e2:04:ef:9e:7d:ea:3a:45:5b:04:
+ 11:e9:35:c7:40:e5:e3:b3:7d:c1:54:c6:00:1a:84:
+ 87:5e:33:d2:19:e9:f3:16:bf:bb:d5:e8:60:7f:9a:
+ 73:cd:25:fd:88:f1:d0:9d:8b:38:2e:3d:0a:71:ae:
+ 55:86:62:b5:2a:eb:fa:8b:25:2f:97:be:db:6b:bd:
+ fe:dd:95:44:5b:38:ae:8c:77:7e:7c:5b:a2:78:09:
+ 3e:f7
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment
+ Signature Algorithm: sha256WithRSAEncryption
+ 60:e1:58:12:04:35:54:12:50:47:db:53:67:6a:ed:25:56:d6:
+ 6c:2e:04:d9:8e:7b:e9:24:82:ad:05:6e:9a:d2:77:02:71:39:
+ 43:a6:a5:01:3c:6c:16:0a:fb:17:21:b9:2e:fb:a7:96:44:12:
+ fc:46:2a:16:77:c9:3e:fc:59:2b:96:da:8f:fb:28:e1:a0:be:
+ 4a:ef:b4:80:02:e3:8d:12:a0:58:78:83:3b:a9:0e:01:8c:45:
+ 4e:01:ff:a5:47:dc:f4:e6:04:67:4d:0e:45:02:26:34:db:b9:
+ b4:e4:e8:6a:2d:f1:99:96:3c:7c:d5:2d:f0:c2:bf:55:d7:1d:
+ 7b:9d:ed:b8:3d:a1:94:31:8f:24:4d:ac:84:a8:58:14:3f:9f:
+ 8d:a8:8e:05:1b:16:c3:5e:6f:39:f5:bb:93:3b:9b:fb:11:d0:
+ 6e:4c:82:78:b5:b9:c8:3b:ca:a4:03:f5:ef:f6:28:ca:ce:34:
+ 15:c2:6e:46:ea:45:ee:10:de:5e:f9:95:e5:3d:e4:4b:ab:ca:
+ e8:55:d8:fd:bd:36:31:cf:2f:b1:ef:84:b9:73:31:77:ee:ed:
+ 73:8b:c5:c6:fc:5c:24:79:45:f0:98:e0:6d:4a:b0:d2:03:80:
+ 1a:8c:ff:0a:27:50:50:72:59:7f:ff:4e:a4:dd:12:97:c1:91:
+ 5a:44:57:86
+-----BEGIN CERTIFICATE-----
+MIIDVTCCAj2gAwIBAgIBDzANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIQmVsbGV2dWUxEzARBgNVBAoM
+Ckdvb2dsZSBJbmMxFDASBgNVBAMMC1Rlc3QgRGV2aWNlMB4XDTE5MTIxNjIzNTY0
+OVoXDTE5MTIxODIzNTY0OVowYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hp
+bmd0b24xETAPBgNVBAcMCEJlbGxldnVlMRMwEQYDVQQKDApHb29nbGUgSW5jMRQw
+EgYDVQQDDAtUZXN0IERldmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBANiCcScfGyaCBPjgPjKN7aFO5yn8qdwOuKMrba55Pc4UmmwNWf9blv6T+1/W
+S9sDxfDJTG0lX1CEMwMK3DZbLiczlF6al1eceBZEaG7FbTgcrzMraei+UHcNsC9v
+3/kgDbmtlbYAQLpKc+Py0ki3/66HJJXO99V0eM0hXNQUUn5wgy0rBgnBNas85EGQ
+F9VURkDEA2K6N0fzti/IxGBwLoibqNooCGWVOCLiBO+efeo6RVsEEek1x0Dl47N9
+wVTGABqEh14z0hnp8xa/u9XoYH+ac80l/Yjx0J2LOC49CnGuVYZitSrr+oslL5e+
+22u9/t2VRFs4rox3fnxbongJPvcCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8E
+BAMCBaAwDQYJKoZIhvcNAQELBQADggEBAGDhWBIENVQSUEfbU2dq7SVW1mwuBNmO
+e+kkgq0FbprSdwJxOUOmpQE8bBYK+xchuS77p5ZEEvxGKhZ3yT78WSuW2o/7KOGg
+vkrvtIAC440SoFh4gzupDgGMRU4B/6VH3PTmBGdNDkUCJjTbubTk6Got8ZmWPHzV
+LfDCv1XXHXud7bg9oZQxjyRNrISoWBQ/n42ojgUbFsNebzn1u5M7m/sR0G5Mgni1
+ucg7yqQD9e/2KMrONBXCbkbqRe4Q3l75leU95EuryuhV2P29NjHPL7HvhLlzMXfu
+7XOLxcb8XCR5RfCY4G1KsNIDgBqM/wonUFByWX//TqTdEpfBkVpEV4Y=
+-----END CERTIFICATE-----
diff --git a/test/data/cast/receiver/channel/good_crl.pb b/test/data/cast/receiver/channel/good_crl.pb
new file mode 100644
index 00000000..b6bb7e10
--- /dev/null
+++ b/test/data/cast/receiver/channel/good_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/inter_key.pem b/test/data/cast/receiver/channel/inter_key.pem
new file mode 100644
index 00000000..eaf7ff87
--- /dev/null
+++ b/test/data/cast/receiver/channel/inter_key.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAzFigYOk7uDED53DXgcrn9qnLdUSRAf9POpZKywGAlymQ1XB6
+fO58p54ZlHQ6VK9H2SHCBKmz6VnIkXGqqC+C4d5Al0JUJlFbfPzHceJeH8IUUdtd
+bt71QnEcSBd+83meBdG0kRKOnBUbSHMh7fjDY67Zaj9q/kFafI2LwezYgGesJLJW
+v5sER+umiHLOIN1L+TcHTqlPg9UIgOaBTfa32inh8kceL3mqpzPgzX0OGYoCCpU8
+M8PCqihNV5IRhht3QPVuppoRaGVUH4NQfG4MYdxaC2X5U9KrbqA8te24Ph87LFVQ
+bZXYcM9/tLNIcBMlbADzcTMprXKm9u4GFIq2jQIDAQABAoIBAQCv/ahqrpSzZuuA
+2auRaiprQwMqhRoKSVN4FtZljm6sQa0uVgf4LwGG7uAC/jL6mldbxvotP+bmE2Bs
++yNKZFjppJumagbFVY5gz+gJyjbcTS9o7G/EvBso1PfRkwLQOK8DPf+wbfYKsRbl
+R9sx8+x7nqw7GFFSlwCSgumZ5Bz2QEeY35gK+r74dzklMeWLFxTgKiOMYrB57/pw
+ig05Dmy7UHpNx1CVJFHpnZvHknND+Jha+Z7tkfu5wROIG4MuPy4Y5aooS4sMWGnr
+iV1N5y0xAij7q0mK8VnMwY/KWyJopvp/SfRSbYOoLAf1acnid2hCy6J/qjrRCZze
+r34E+8dVAoGBAPx/cEBa3GctJB7kwxsSWErkK4GhyA5oJUsoWtvmwmQ54pMe4PY8
+uKNb/MIZA3JZIz2n678P55ljsIysnNy9O8w8Wc8QDvp9QgShlT1BboXfl4zzZRUa
+lypYvvuEjqLH384182TF2dCaDazeYOUUlavVF0r9YIpmzc8auSBBNaMLAoGBAM8u
+NnVtx8Vst792Btnohb04X1FXfhlJqCCU00N1HKuSUlu1ycXxKZhnir/Hl2Fng64F
+xi02uUgRfAFyvnlzDhCtbTl3P9fcfGtTqXLNZiH6QnhMQ/CHB/xxXo5IsYzdoRpA
+PetKZxfPW0UKUYnivlD//P8LNP3TzB3wBnygNovHAoGAXi42s3pwrXdz+qX/dFCS
+aFTVOYQbt+v2xSLnSRC4v2Or9I5XAOHDSQOdstRbqcI/19aTo2+ORnOdvcsAs4FO
+Fa8JHKfzvlEMV+fhX7jRPdQZljSPJqEFc4Eos25NOcBt5V/QSm1WAm4D3dAQukHE
+VhSknI8H/He+GprwJGzOUeMCgYEAoTpsZPwWv9u4LwYxlLiwAy3wd4On/RPmA9zt
+f4yO0DIhZ39T03e2kATb5Bz2AHYm8nFJ5Pu2OpBouVPLSQYxhub/nf3gMCNEq91C
+e7W+amiv+6AWKwNaQqkTFZUanu4GpkAiL44KJmxWsaazB6PtyWk9QFk/VtzQ9udI
+lQm1CRcCgYB3CjU7ki9NOOecVm3zo2n07XAUM5qOVN1Sba8vcBKN5cHM0w2vI172
+e7s74IB1PSV+FltK/lXHGhTs/k1ltjjmr7v8UE4Xf0MHtI3VeliVtAEIQkt1/SX7
+7nIViKWNJ3ApzaeyoXpeLpo8V0GECBkii3fJ6GMwhgS84jaA+DMW/w==
+-----END RSA PRIVATE KEY-----
diff --git a/test/data/cast/receiver/channel/invalid_time_crl.pb b/test/data/cast/receiver/channel/invalid_time_crl.pb
new file mode 100644
index 00000000..54ff8049
--- /dev/null
+++ b/test/data/cast/receiver/channel/invalid_time_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/issuer_revoked_crl.pb b/test/data/cast/receiver/channel/issuer_revoked_crl.pb
new file mode 100644
index 00000000..808161bd
--- /dev/null
+++ b/test/data/cast/receiver/channel/issuer_revoked_crl.pb
Binary files differ
diff --git a/test/data/cast/receiver/channel/issuer_serial_revoked_crl.pb b/test/data/cast/receiver/channel/issuer_serial_revoked_crl.pb
new file mode 100644
index 00000000..15252bf4
--- /dev/null
+++ b/test/data/cast/receiver/channel/issuer_serial_revoked_crl.pb
Binary files differ