4 changed files with 92 additions and 6 deletions
-
54src/Shentun.Peis.HttpApi.Host/Filter/GenerateCertificateHelper.cs
-
27src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs
-
4src/Shentun.Peis.HttpApi.Host/Program.cs
-
11src/Shentun.Peis.HttpApi.Host/appsettings.json
@ -0,0 +1,54 @@ |
|||
using Microsoft.IdentityModel.Tokens; |
|||
using System.IdentityModel.Tokens.Jwt; |
|||
using System.Security.Claims; |
|||
using System.Text; |
|||
using System; |
|||
using Volo.Abp.DependencyInjection; |
|||
using OpenIddict.Abstractions; |
|||
using System.Threading.Tasks; |
|||
using System.Threading; |
|||
using System.Linq; |
|||
using System.Collections.Generic; |
|||
using System.Collections.Immutable; |
|||
using System.Text.Json; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.Security.Cryptography.X509Certificates; |
|||
using System.Security.Cryptography; |
|||
using System.IO; |
|||
|
|||
namespace Shentun.Peis.Filter |
|||
{ |
|||
/// <summary>
|
|||
/// 生成自己的证书文件(需要生成2个证书),并上传至站点目录
|
|||
/// </summary>
|
|||
public class GenerateCertificateHelper |
|||
{ |
|||
public void GenerateEncryptionCertificate() |
|||
{ |
|||
using var algorithm = RSA.Create(keySizeInBits: 2048); |
|||
|
|||
var subject = new X500DistinguishedName("CN=Fabrikam Encryption Certificate"); |
|||
var request = new CertificateRequest(subject, algorithm, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); |
|||
request.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.KeyEncipherment, critical: true)); |
|||
|
|||
var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddYears(10)); |
|||
|
|||
File.WriteAllBytes("encryption-certificate.pfx", certificate.Export(X509ContentType.Pfx, string.Empty)); |
|||
|
|||
|
|||
} |
|||
|
|||
public void GenerateSigningCertificate() |
|||
{ |
|||
using var algorithm = RSA.Create(keySizeInBits: 2048); |
|||
|
|||
var subject = new X500DistinguishedName("CN=Fabrikam Signing Certificate"); |
|||
var request = new CertificateRequest(subject, algorithm, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); |
|||
request.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature, critical: true)); |
|||
|
|||
var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddYears(10)); |
|||
|
|||
File.WriteAllBytes("signing-certificate.pfx", certificate.Export(X509ContentType.Pfx, string.Empty)); |
|||
} |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue