HandshakeFailed 的 warp-tls 错误(Error_Misc“未找到密钥”)

warp-tls errors with HandshakeFailed (Error_Misc "no keys found)

我正在尝试在我的网站上设置 https。我在 google 云虚拟机实例 (ubuntu) 上使用 servant exec。这是我的代码:

startApp :: FilePath ->  IO ()
startApp dbFile = do
     let tls = tlsSettings "ssl/22cb488c23a886e2.crt" "ssl/generated-private-key.pem"
     runTLS tls (setPort 443 defaultSettings) $ app dbFile

当我 运行 我的 exec(它与 ssl 目录在同一个目录中)时,我得到以下信息:

HandshakeFailed (Error_Misc "no keys found\nCallStack (from HasCallStack):\n  error, called at ./Network/Wai/Handler/W
arpTLS.hs:265:20 in warp-tls-3.2.5-2FsWeMf1nNvA0nztofVYMj:Network.Wai.Handler.WarpTLS")

我尝试使用 chmod 777 设置我的 .crt 和 .pem 文件的文件权限,但没有成功。

原来是我的私钥格式。 GoDaddy 给了我不正确的私钥格式。我需要生成一个 RSA 2048 位密钥。