首页 后端开发 C#.Net教程 IdentityServer4 SigningCredential(RSA 证书加密)实例详解

IdentityServer4 SigningCredential(RSA 证书加密)实例详解

May 22, 2018 pm 04:08 PM
加密 证书

IdentityServer4 默认提供了两种证书加密配置:

services.AddIdentityServer()
    .AddDeveloperSigningCredential()
    .AddTemporarySigningCredential();
登录后复制

这两种证书加密方式,都是临时使用,每次重启项目的时候,都会重新生成一个新的证书,这时候就会导致一个问题,重启之前生成的access_token,在重启之后,就不适用了,因为证书改变了,对应的加密方式也改变了,所以,就会出现下面这个问题:

IdentityServer4 SigningCredential(RSA 证书加密)实例详解

错误信息:

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在 Windows 11 上启用 256 位 Bitlocker 加密以提高安全性 在 Windows 11 上启用 256 位 Bitlocker 加密以提高安全性 Nov 26, 2023 am 11:21 AM

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

win11加密dns详细教程 win11加密dns详细教程 Dec 25, 2023 am 10:13 AM

此前微软为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家庭版支持文件夹加密功能吗? Jan 09, 2024 am 08:58 AM

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

苹果手机相册加密怎么设置 苹果手机相册加密怎么设置 Mar 02, 2024 pm 05:31 PM

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

文件夹加密如何设置密码不压缩 文件夹加密如何设置密码不压缩 Feb 20, 2024 pm 03:27 PM

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

C#中常见的网络通信和安全性问题及解决方法 C#中常见的网络通信和安全性问题及解决方法 Oct 09, 2023 pm 09:21 PM

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

win11文件加密完整指南 win11文件加密完整指南 Jan 09, 2024 pm 02:50 PM

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

winrar怎么加密压缩包-winrar加密压缩包方法 winrar怎么加密压缩包-winrar加密压缩包方法 Mar 23, 2024 pm 12:10 PM

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

See all articles