ADFS基于ECC证书的客户端身份认证可行性及报错问题咨询
ADFS基于ECC证书的客户端身份认证可行性及报错问题咨询
您好,针对您遇到的问题,我整理了明确的结论和解决方案:
核心结论
Windows Server 2016版本的ADFS不支持使用ECC证书进行客户端身份认证(CBA),这正是您触发System.NotSupportedException报错的根本原因。
报错原因解析
虽然您的环境安装了.NET 4.7.1(该版本本身已支持基础ECC加密操作),但ADFS 2016的客户端证书认证模块并未适配ECC密钥算法。当ADFS尝试调用System.Security.Cryptography.X509Certificates.PublicKey.get_Key()提取证书公钥时,由于ECC算法不在其支持列表内,就会抛出您看到的"证书密钥算法不被支持"异常。
版本支持情况
微软是在Windows Server 2019及更高版本的ADFS中,才正式添加了对ECC证书用于客户端身份认证的支持。
可行解决方案
- 如果暂时无法升级服务器:只能更换为RSA算法的客户端证书,这是ADFS 2016唯一支持的客户端认证密钥类型;
- 如果可以升级服务器:将ADFS部署升级到Windows Server 2019及以上版本,升级完成后ADFS会默认支持ECC证书的客户端认证,您只需确保客户端证书的ECC算法(如secp256r1等)符合系统要求即可。
备注:内容来源于stack exchange,提问作者Foxy0112
相关产品推荐
相关产品推荐

