如何从自签名证书中获取证书密码

问题描述 投票:0回答:2

我想通过证书从Azure应用注册中获取令牌。我按照说明here进行操作,并使用Powershell生成了自签名证书。我也将公钥导入门户。但是,如果我想通过.NET访问该应用程序,则需要提供以下MSAL配置:

enter image description here

CertificateFileContents只是我从certgmgr导出的公钥。但是我应该把什么作为CertificatePass?这是哈希吗?还是私钥?我在文档中找不到任何内容,而且上面的链接也没有给我任何建议...

而且我还不太明白为什么不将私钥导入门户?

azure oauth azure-active-directory msal
2个回答
0
投票

根据我的经验,导出私钥时应该要求使用CertificatePass。

此文档之前包含以下内容:

导出私钥,为证书文件指定密码,然后导出到文件。

但是现在它只告诉您导出公共密钥。您可以从this issue查看详细信息。

因此基于SharePoint document,如果您正在从本地计算机读取PFX文件,我认为您应该使用私钥和密码。


0
投票

[好,CertificatePass是证书本身的密码。Azure门户本身仅保存公用密钥。客户端应用程序需要为整个证书提供私钥和公钥。如果您从Windows 10中的证书管理器导出私钥/公钥,则将不能直接将其导出为base64,但是可以创建pfx文件。以后可以使用您选择的工具将这些文件编码为Base64。例如this。证书的密码必须是CertificatePass,FileContents是Base64公钥和私钥,但必须使用密码解密。

这当然只是测试目的。在生产环境中,您宁愿使用密钥保管库或类似的方法在appsettings.json中没有任何秘密。

© www.soinside.com 2019 - 2024. All rights reserved.