ASP.NET Core Data Protection 不仅提供了非对称加密能力,而且提供了灵活的秘钥存储方式以及一致的加解密接口(Protect与Unprotect).Session中用到了它,Cookie验证中用到了它,OpenIdConnect中也用到了它...当然你也可以在应用开发中使用它,比如这篇博文中就是用它生成激活帐户的验证token. 首先在 Startup.ConfigureServices() 中注册 DataProtection 服务(注入 IDataProtection…
引言 最近线上环境遇到一个问题,就是ASP.NET Core Web应用在单个容器使用正常,扩展多个容器无法访问的问题.查看容器日志,发现以下异常: System.Security.Cryptography.CryptographicException: The key {efbb9f35-3a49-4f7f-af19-0f888fb3e04b} was not found in the key ring. 2019-09-30T18:34:55.473037193+08:00 at Micro…
问题 如何在ASP.NET Core中使用Azure Blob存储 解 创建一个类库并添加NuGet包 - WindowsAzure.Storage 添加一个类来封装设置, publicclass AzureBlobSetings { public AzureBlobSetings(string storageAccount, string storageKey, string containerName) { if (string.IsNullOrEmpty(storageAccount))…
使用Azure DevOps Project设置ASP.NET项目 我们需要先在Azure面板中创建一个Azure WebApp服务,此处步骤我将省略,然后点击部署中心如下图所示: 此处我选择的是Azure Repos,当然大家也可以选择Github.Local Git.FTP 我们需要提前在Azure DevOps中提前创建好应用程序,我这边已经提前创建好了名称为Blog . 创建完后我们会在Azure DevOps Pipeline中看到默认为我们生成的管道信息,他是一个构建刚才那个应用程序…
在 ASP.NET Core 中如果在 DataProtection 中使用了 PersistKeysToFileSystem 或 PersistKeysToFileSystem services.AddDataProtection().PersistKeysToFileSystem(); services.AddDataProtection().PersistKeysToRedis(); 会在日志中出现下面的告警: warn: Microsoft.AspNetCore.DataProtecti…
前言 接[中篇],在有一些场景下,我们需要对 ASP.NET Core 的加密方法进行扩展,来适应我们的需求,这个时候就需要使用到了一些 Core 提供的高级的功能. 本文还列举了在集群场景下,有时候我们需要实现自己的一些方法来对Data Protection进行分布式配置. 加密扩展 IAuthenticatedEncryptor 和 IAuthenticatedEncryptorDescriptor IAuthenticatedEncryptor是 Data Protection 在构建其密…
前言 上一篇博客记录了如何在 Kestrel 中使用 HTTPS(SSL), 也是我们目前项目中实际使用到的. 数据安全往往是开发人员很容易忽略的一个部分,包括我自己.近两年业内也出现了很多因为安全问题导致了很多严重事情发生,所以安全对我们开发人员很重要,我们要对我们的代码的安全负责. 在工作中,我们常常会见到 encode,base64,sha256, rsa, hash,encryption, md5 等,一些人对他们还傻傻分不清楚,也不知道什么时候使用他们,还有一些人认为MD5就是加密算法…
前言 上篇主要是对 ASP.NET Core 的 Data Protection 做了一个简单的介绍,本篇主要是介绍一下API及使用方法. API 接口 ASP.NET Core Data Protectio 主要对普通开发人员提供了两个接口,IDataProtectionProvider 和 IDataProtector. 我们先看一下这两个接口的关系: namespace Microsoft.AspNetCore.DataProtection { // // 摘要: // An interf…
翻译自 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-5.0 本文介绍了在 Ubuntu 16.04 服务器上设置生产环境可用的 ASP.NET Core 环境.这里的介绍对于更新版本的 Ubuntu 可能也会工作,但是并没有在更新版本的服务器上测试. 更过关于 ASP.NET Core 只是的 Linux 发行版,请查看 Prerequisites for .NE…
更新 : id4 使用这个 DbContext 哦 dotnet ef migrations add identity-server-init --context PersistedGrantDbContext 参考 https://docs.microsoft.com/en-us/azure/key-vault/key-vault-use-from-web-application#authenticate-with-a-certificate-instead-of-a-client-secre…