|
@@ -51,7 +51,8 @@ namespace CAUtilLib
|
|
AsymmetricCipherKeyPair issuerKey,
|
|
AsymmetricCipherKeyPair issuerKey,
|
|
AsymmetricKeyParameter subjectPublic,
|
|
AsymmetricKeyParameter subjectPublic,
|
|
BigInteger? issuerSerialNumber = null,
|
|
BigInteger? issuerSerialNumber = null,
|
|
- List<AddExtensionData> extensionDatas = null)
|
|
|
|
|
|
+ List<AddExtensionData> extensionDatas = null,
|
|
|
|
+ int days = 36500)
|
|
{
|
|
{
|
|
var selfserilaNumber = BigInteger.ProbablePrime(120, secureRandom);
|
|
var selfserilaNumber = BigInteger.ProbablePrime(120, secureRandom);
|
|
if (issuerSerialNumber is null)
|
|
if (issuerSerialNumber is null)
|
|
@@ -71,7 +72,7 @@ namespace CAUtilLib
|
|
certGenerator.SetIssuerDN(issuer);
|
|
certGenerator.SetIssuerDN(issuer);
|
|
certGenerator.SetSubjectDN(subject);
|
|
certGenerator.SetSubjectDN(subject);
|
|
certGenerator.SetSerialNumber(selfserilaNumber);
|
|
certGenerator.SetSerialNumber(selfserilaNumber);
|
|
- certGenerator.SetNotAfter(DateTime.UtcNow.AddYears(100));
|
|
|
|
|
|
+ certGenerator.SetNotAfter(DateTime.UtcNow.AddDays(days));
|
|
certGenerator.SetNotBefore(DateTime.UtcNow);
|
|
certGenerator.SetNotBefore(DateTime.UtcNow);
|
|
certGenerator.SetPublicKey(subjectPublic);
|
|
certGenerator.SetPublicKey(subjectPublic);
|
|
|
|
|
|
@@ -166,7 +167,8 @@ namespace CAUtilLib
|
|
|
|
|
|
public static X509Certificate GenerateSelfSignedRootCertificate(
|
|
public static X509Certificate GenerateSelfSignedRootCertificate(
|
|
X509Name subject,
|
|
X509Name subject,
|
|
- AsymmetricCipherKeyPair kp
|
|
|
|
|
|
+ AsymmetricCipherKeyPair kp,
|
|
|
|
+ int days = 36500
|
|
)
|
|
)
|
|
{
|
|
{
|
|
List<AddExtensionData> datas = new List<AddExtensionData>() {
|
|
List<AddExtensionData> datas = new List<AddExtensionData>() {
|
|
@@ -182,7 +184,7 @@ namespace CAUtilLib
|
|
ExtensionValue = new KeyUsage(KeyUsage.DigitalSignature | KeyUsage.KeyCertSign | KeyUsage.CrlSign)
|
|
ExtensionValue = new KeyUsage(KeyUsage.DigitalSignature | KeyUsage.KeyCertSign | KeyUsage.CrlSign)
|
|
}
|
|
}
|
|
};
|
|
};
|
|
- return GenerateCertificate(subject, subject, kp, kp.Public, extensionDatas: datas);
|
|
|
|
|
|
+ return GenerateCertificate(subject, subject, kp, kp.Public, extensionDatas: datas, days: days);
|
|
}
|
|
}
|
|
|
|
|
|
public static X509Certificate GenerateIntermediateCertificate(
|
|
public static X509Certificate GenerateIntermediateCertificate(
|