将私钥证书作为可在azure应用程序服务中导出的证书导入

将私钥证书作为可在azure应用程序服务中导出的证书导入,azure,certificate,azure-web-app-service,pfx,Azure,Certificate,Azure Web App Service,Pfx,我有一些基于两个证书对一些文本进行签名和加密的代码。 代码在本地运行。使代码正常工作的一个重要细节是,在我的开发人员机器上导入证书时,我选中了复选框“将密钥标记为可导出” 我现在已将证书上载到应用程序服务TLS/SSL设置下方的“私钥证书”部分中的my azure应用程序服务。但是这个上传功能似乎没有一个类似于以前的重要复选框的功能 运行在我的应用程序服务上下文中本地工作的代码时,我遇到以下异常: System.Security.Cryptography.Cryptography异常,密钥在指定

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

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

运行在我的应用程序服务上下文中本地工作的代码时,我遇到以下异常:

System.Security.Cryptography.Cryptography异常,密钥在指定状态下无效

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


关于如何解决这个问题有什么想法吗?

不幸的是,这不受支持。虽然您可以使用私钥进行签名或解密,但它不可导出。此设计旨在防止意外委派。我建议通过其他方式获得这些信息。可能会将您的证书上载到,然后再从那里上载。

我的标题可能有点误导。尝试签名/加密时出错:“密钥在指定状态下无效”。我不需要密钥是可导出的,但我假设需要将其标记为可导出密钥,以避免此错误。我正在使用第三方库创建基于证书的签名和加密文本。它在我的本地机器上运行良好,但只有当我将密钥标记为可导出时。这个库使用证书的方式可能会有问题吗?(我知道这可能很难回答,因为你不知道这个库,但有什么想法吗?)没有,因为你还在上传证书供你的应用服务使用。如果第三方库需要将证书用作可导出证书,则同样适用。Ok。因此,由于我只需要从第三方库中获取加密和签名,因此应该可以替换/重写第三方库并实现我的目标。但由于某些原因,第三方库似乎要求证书是可导出的,这使得它与azure应用程序服务不匹配。听起来对吗?