IdentityServer4 SigningCredential(RSA 证书加密)实例详解
IdentityServer4 默认提供了两种证书加密配置:
services.AddIdentityServer() .AddDeveloperSigningCredential() .AddTemporarySigningCredential();
这两种证书加密方式,都是临时使用,每次重启项目的时候,都会重新生成一个新的证书,这时候就会导致一个问题,重启之前生成的access_token
,在重启之后,就不适用了,因为证书改变了,对应的加密方式也改变了,所以,就会出现下面这个问题:
错误信息:
Www-Authenticate:Bearer error="invalid_token", error_description="The signature key was not found"
解决方式,就是始终使用一个证书,我们先这样配置:
services.AddIdentityServer() .AddDeveloperSigningCredential();
可以查看下AddDeveloperSigningCredential
实现源码,启动项目,IdentityServer4 会在项目目录中生成一个tempkey.rsa
证书文件:
{ "KeyId": "4e1765de45ef639261115198826dfea7", "Parameters": { "D": "FnB7kIinBgoZDaRqIrRQHEF45FBF9amOrTn8oFdmsxPqJbh11bHeCw11AtCCC4p1mm750onDXeP+yoBHymr/wNn40VmGdhR4hnObHhhw5pyQKECIS41DFDatCZif9uhDgHsOvYHMRVNSapDFoDUvbTE6t7rv4prn2fDt5mzRD9AqdT2HyTcwa/H1haaZNwmy3UevYYy8ya4kKXvjRo6+O7BMBh+yBvHgezQ57Ye/NfZfDMITs4djbqELrYVXCTMltNsWWhQtS62cqvKboxoiXfSm67u/li5Fdusc5Z2zsyt5rE/V8h/ffBvS9N9v0VoDTdFqLYkuul0DvTZ/pqXtMQ==", "DP": "XQDf46csbwu/xX+jwo5VQQ8sKVlVBLuxSNTAbNS6O/aCg9eEjZ58EJ712JgqqORcDMg5JRejN3Zxxoij4roJogyvvw6QSws/H+UTmtuuudgT59OB1TyNGihMVSTLXaw4Kgdj8D8IK8v0okdFEpYugzIIFe1yl0lSzR7fkF+NKC0=", "DQ": "4TvT9ujJ38sTluz0dUSIUD3NCWJOMDKOB/cL3RaDyMf/MTSxNFfWDuuW55F2P8mncHhqLuANcg2l3h8xom+1ucn+ve45JNoWja4fpWQ16rmijPc5yKRe0uAGEaXJiTAEvIxXG18zvNA8Fab+L2X1h+1r35ZLZFYj+EyhkqQ7u5k=", "Exponent": "AQAB", "InverseQ": "nTAEt8v+DlAn6h7Z1Ey1x4Z56OfOmCvY01nte4f3OuSmBXoEaTSoGsXScweAMoSGb0aOG1qpvErtY+JykREeLJxvm4P3DAHL5lJWvDKPvCWJOD9jfzhBUyIhCoqQ8EIHjFxBNKyNefAsVuKdH6R+ApuhpF8XVhR59zLawUQWLEg=", "Modulus": "43j4tvNZy7IxuiDwZzWv9KiS5kSYIeBqEvQ7zkQmRT3IEsseiTv698iQx8qn+de8FeGFEa8O6igFU2VXqFyWJilTuPmeBPJxIMCqfxdxF+96giVSpN4rOFaH/V+IPNTQoYCLFwcUR2saFywUeKWpsRFhQCymsFIk3AlWu7jcqgKHrELsJpn5KVmedb6JZcVKMIfTrcY6hWQz2JNEhTOEI10ZVZ7ueEp2Q2+1/udvp47wPMhzriXJTFP7Y4ozU2THbuwIqCXM5DNBGUpEug0vlCAhwn6nvAo8e9fT0lpUzTd2T8wWzwuHkAgyjB0XTzSYR1fMJIKH1zDs25RqmlepgQ==", "P": "9lGtQw9yXz4nbepESFDxAMfDlmiI9Gj3Q3FecKIgGVVi9WVr19lzBcszhsVybA8n1OyPXHdOyuSWOiVp69ibo5OOXLL4iWzY1VOouXeZrYimxNPvVKlRf8AsVcv3n/0/FEhwY9gnQm4PZYUGwQ96WZ5Z/CWJ9xTORg54Wh79hk0=", "Q": "7Gmr/h33bM+9W4Ygh+tNh3/etECuT/RQ1LMS5uBXxXdvUl6wSm2+ec/CBRobxVHG2pDXdr0pegn0Yz4MprsLtS5KvFg6yopI3Y3TptTGNZPtbd1O7P4i6b+RNOYCq0Y99mkGofqAlAMnDG+SA2EJN2ugPjLelC7GWtfzNG5NMgU=" } }
AddDeveloperSigningCredential
中代码执行,会先判断tempkey.rsa
证书文件是否存在,如果不存在的话,就创建一个新的tempkey.rsa
证书文件,如果存在的话,就使用此证书文件。
所以,我们配置的时候,传递一个tempkey.rsa
证书文件名,就可以了:
services.AddIdentityServer() .AddDeveloperSigningCredential("tempkey.rsa");
当然,你也可以对tempkey.rsa
证书文件,进行重命名操作。
参考资料:
The signature key was not found
IdentityServer4 Configuring services
IdentityServer4 Cryptography, Keys and HTTPS
ASP.NET Core 实现 OAuth2.0 的 ResourceOwnerPassword 和 ClientCredentials 模式
IdentityServerBuilderExtensionsCrypto.cs
以上是IdentityServer4 SigningCredential(RSA 证书加密)实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Bitlocker是Windows操作系统的默认加密技术。它在Windows上被广泛使用,但一些用户更喜欢第三方解决方案,例如VeraCrypt。Bitlocker的许多用户不知道的是,它默认为128位加密,即使256位也可用。无需过多地介绍差异的细节;AES128位和256位加密之间的核心区别在于安全密钥的长度。更长的密钥使暴力攻击更加困难。虽然默认为128位,但即使是Microsoft也建议使用256位来提高安全性。问题是,大多数用户可能不知道较弱的默认值或如何进行更改。首先,您可能想知道W

此前微软为win11提供了dns加密服务,但是不少用户不知道win11加密dns怎么使用,其实我们只需要打开网络设置下的dns设置即可。win11加密dns详细教程:1、首先进入磁盘,找到想要加密的文件夹。2、接着打开右侧的“以太网”3、然后再下方找到DNS服务器分配,点击“编辑”4、将其中的“自动(DHCP)”改为“手动”后,开启下方“IPv4”5、开启后,在首选DNS中输入“8.8.8.8”6、然后将首选DNS加密改为“仅加密(通过HTTPS的DNS)”7、更改完成后点击“保存”,就可以发现

文件加密,旨在对数据实施专业级别的加密从而更有效地保证数据的安全性!仅有掌握了正确加密密钥方可执行解密操作,切实保障信息资产安全。然而,Win10家庭版文件加密功能尚不具备此项特性。win10家庭版能加密文件夹吗答:win10家庭版不能加密文件夹。Windows系统加密文件的教程1、在想要加密的文件或文件夹上使用右键进行操作(或者长按一段时间),接下来请选中“属性”功能。2、在展开的新界面中,寻找“高级”选项,点击进入后,记得勾选位于下方“加密内容以保护数据”选项。3、设定完成后,点击“确定”来

在苹果手机中,用户们可以根据自己的需要来对相册进行加密。有些用户并不清楚应该怎么设置。可以将需要加密图片添加到备忘录后,再去锁定备忘录即可,接下来就是小编为用户带来的手机相册加密设置方法的介绍,感兴趣的用户快来一起看看吧!苹果手机使用教程苹果手机相册加密怎么设置答:将需要加密图片添加到备忘录后,再去锁定备忘录即可详情介绍:1、进入相册,选择需要加密的图片,再点击下方的【添加到】。2、选择【添加到备忘录】。3、进入备忘录,找到刚更创建的备忘录,进入,点击右上角的【发送】图标。4、点击下方的【锁定备

文件夹加密是一种常见的数据保护方法,它可以将文件夹中的内容进行加密,使得只有掌握解密密码的人能够访问其中的文件。在进行文件夹加密时,有一些常见的方法可以用来设置密码,而不需要对文件进行压缩。首先,我们可以使用操作系统自带的加密功能来设置文件夹密码。对于Windows用户来说,可以通过以下步骤来进行设置:选择要加密的文件夹,鼠标右键点击该文件夹,选择“属性”选

C#中常见的网络通信和安全性问题及解决方法在当今互联网时代,网络通信已经成为了软件开发中必不可少的一部分。在C#中,我们通常会遇到一些网络通信的问题,例如数据传输的安全性、网络连接的稳定性等。本文将针对C#中常见的网络通信和安全性问题进行详细讨论,并提供相应的解决方法和代码示例。一、网络通信问题网络连接中断:网络通信过程中,可能会出现网络连接的中断,这会导致

有的朋友想要保护自己的文件,但是不知道win11文档怎么加密,其实我们可以直接使用文件夹加密也可以用第三方软件加密文件。win11文档加密详细教程:1、首先找到想要加密的文件,右键选中,打开“属性”2、接着点击属性一栏的“高级”3、在高级中选择“加密内容以便保护数据”并点击“确定”4、然后点击“确定”保存。5、最后选择想要的加密模式并“确定”保存即可加密文档了。

小编将为大家介绍加密压缩的三种方法:方法一:加密最简单的加密方法,就是在加密文件时输入想要设置的密码,完成加密和压缩了。方法二:自动加密普通的加密方式,需要我们加密每个文件的时候都需要输入密码,如果你想要加密大量压缩包,并且密码是一样的话,那么我们可以在WinRAR中设置自动加密,之后只要正常压缩文件,WinRAR会给每个压缩包添加密码。方法如下:打开WinRAR,点击选项–设置设置界面中,切换到【压缩】,点击创建默认配置–设置密码在这里输入我们想要设置的密码,点击确定就完成设置了,我们只需要正
