Então, para quem não entende o que a resposta realmente está aqui:
Este é um problema do selinux. Os arquivos podem ter diferentes "contextos" do selinux e um arquivo com o contexto errado será ilegível pelo daemon httpd, mesmo se as permissões regulares estiverem corretas. No meu caso, a solução foi fazer o seguinte:
chcon --reference /file/with/correct/context /path/to/certificate/file
O qual copiará o contexto do arquivo referenciado para o certificado. Caso você não tenha um arquivo que você possa referenciar, a maneira um pouco complicada (por ter que digitá-lo) para definir o contexto correto é:
chcon unconfined_u:object_r:httpd_config_t:s0 /path/to/certificate/file