tree: 9bb38cef76147647223484d01a0dbd789e5c05b0 [path history] [tgz]
  1. audio_ref_dev_test_chain_3.pem
  2. cast_crl_test_root_ca.pem
  3. cast_root_ca.pem
  4. cast_test_root_ca.pem
  5. chromecast_audio.pem
  6. chromecast_gen1.pem
  7. chromecast_gen1_reissue.pem
  8. chromecast_gen2.pem
  9. expired_root.pem
  10. extensions.conf
  11. fugu.pem
  12. mtk_audio_dev.pem
  13. nc.pem
  14. nc_fail.pem
  15. policies_ica_anypolicy_leaf_anypolicy.pem
  16. policies_ica_anypolicy_leaf_audioonly.pem
  17. policies_ica_anypolicy_leaf_foo.pem
  18. policies_ica_anypolicy_leaf_none.pem
  19. policies_ica_audioonly_leaf_anypolicy.pem
  20. policies_ica_audioonly_leaf_audioonly.pem
  21. policies_ica_audioonly_leaf_foo.pem
  22. policies_ica_audioonly_leaf_none.pem
  23. policies_ica_none_leaf_anypolicy.pem
  24. policies_ica_none_leaf_audioonly.pem
  25. policies_ica_none_leaf_foo.pem
  26. policies_ica_none_leaf_none.pem
  27. README.md
  28. rsa1024_device_cert.pem
  29. rsa2048_device_cert.pem
  30. test_tls_cert.pem
  31. unchained.pem
  32. violates_root_pathlen_constraint.pem
  33. vizio.pem
test/data/cast/common/certificate/certificates/README.md

Generating Certificates

Name Constraints Examples

The following commands were used along with extensions.conf to generate the certificates in nc.pem and nc_fail.pem.

# Once for each certificate.
$ openssl genrsa -out keyN.pem 2048
$ openssl req -new -key keyN.pem -out certN.csr

# <extension> will be v3_ca_nc for the intermediate and v3_req for the device.
$ openssl x509 -req -in certN.csr -CA certN-1.pem -CAkey keyN-1.pem
    -CAcreateserial -extensions <extension> -extfile extensions.conf -out
    certN.pem -days 365 -sha256

Note: it looks like openssl req also accepts extensions via -reqexts but there is a known bug in openssl where extensions are transferred between CSRs and X509 certs.