4 changed files with 92 additions and 6 deletions
-
54src/Shentun.Peis.HttpApi.Host/Filter/GenerateCertificateHelper.cs
-
29src/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