bc-csharp icon indicating copy to clipboard operation
bc-csharp copied to clipboard

How to add SerialNumber as Subject alternative Name in Bouncy Castle

Open smartkodian opened this issue 3 years ago • 1 comments

I am trying to add SerialNumber and UID as SAN but don't know how to add it, I am trying this code but it gives me error:

 GeneralName name1 = new GeneralName(GeneralName.DnsName, "bc1.local");
 GeneralName name2 = new GeneralName(X509Name.SerialNumber, "1234567890");
 GeneralName name3 = new GeneralName(X509Name.UID, "123456789123456");

 certGen.AddExtension(X509Extensions.SubjectAlternativeName, false,  name1,name2,name3);

the error I got it Argument 'number' cannot convert from string to int and I want it to be as string to add it in CSR.

smartkodian avatar Jun 27 '22 17:06 smartkodian

It is necessary to use constructor with X509Name.

var oids = new List<DerObjectIdentifier>(){X509Name.SerialNumber,X509Name.UID   };
var values = new List<string>() { "1234567890", "123456789123456" };

 GeneralName name1 = new GeneralName(GeneralName.DnsName, "bc1.local");
 GeneralName name2 = new GeneralName(new X509Name(oids, values));

 certGen.AddExtension(X509Extensions.SubjectAlternativeName, false,  name1,name2);

harrison314 avatar Aug 03 '22 10:08 harrison314