【问题标题】:Import private key certificate as exportable in azure app service将私钥证书导入为可在 Azure 应用服务中导出
【发布时间】:2021-01-01 03:48:25
【问题描述】:

我有一些代码可以根据两个证书对一些文本进行签名和加密。 该代码在本地运行。让代码正常工作的一个重要细节是,在我的开发人员机器上导入证书时,我选中了“将密钥标记为可导出”复选框。

我现在已在应用服务 TLS/SSL 设置下方的“私钥证书”部分将证书上传到我的 azure 应用服务。但是这个上传功能似乎没有和之前重要的复选框类似的功能。

在我的应用服务上下文中运行在本地运行的代码时,我得到了这个异常:

System.Security.Cryptography.CryptographicException, Key not valid for use in specified state

如果我没有将证书标记为可导出,我希望这也是我在本地获得的例外情况。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: azure certificate azure-web-app-service pfx


    【解决方案1】:

    很遗憾,这不受支持。虽然您可以使用私钥进行签名或解密,但它是不可导出的。这种预期设计是为了防止意外委托。我建议通过其他方式访问这些内容。也许从那里将您的证书上传到Key Vaultretrieving

    【讨论】:

    • 我的标题可能有点误导。尝试签名/加密时出现错误:“密钥在指定状态下无效”。我不需要可导出密钥,但我认为我需要将其标记为这样以避免此错误。我正在使用第三方库来创建基于证书的签名和加密文本。它在我的本地机器上运行良好,但只有当我将密钥标记为可导出时。这个库使用证书的方式可能是一个问题吗? (我知道这可能很难回答,因为你不知道这个库,但是有什么想法吗?)
    • 否,因为您仍在上传证书以供您的应用服务使用。如果第 3 方库需要使用可导出的证书,则同样适用。
    • 好的。因此,由于我需要从第三方库获得的只是加密和签名,因此应该可以替换/重写第三方库并实现我的目标。但由于某种原因,第三方库似乎要求证书是可导出的,这使得它与 azure 应用服务不匹配。听起来对吗?
    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2013-03-29
    相关资源
    最近更新 更多