Wrox Programmer Forums
|
Visual Studio 2008 For discussing Visual Studio 2008. Please post code questions about a specific language (C#, VB, ASP.NET, etc) in the correct language forum instead.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Visual Studio 2008 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old September 19th, 2010, 06:32 AM
Registered User
 
Join Date: Sep 2010
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default Problem with certyficate generation

At start I'm sorry if I posted in the wrong category.

I have a problem with generating certificate. I written above code

Code:
X509V3CertificateGenerator certificateGenerator = new X509V3CertificateGenerator();           
SecureRandom secureRandom = new SecureRandom();           
ECKeyPairGenerator keyGenerator = new ECKeyPairGenerator();           
keyGenerator.Init(new KeyGenerationParameters(secureRandom, 256));           
AsymmetricCipherKeyPair asymmetricKeyPair = keyGenerator.GenerateKeyPair();            certificateGenerator.SetSignatureAlgorithm("SHA512withECDSA");                       
certificateGenerator.SetIssuerDN(new X509Name("CN=" + CN));           
certificateGenerator.SetSubjectDN(new X509Name("CN=" + CN));            certificateGenerator.SetNotBefore(DateTime.Now);            certificateGenerator.SetPublicKey(asymmetricKeyPair.Public);           
DateTime expirationDate = DateTime.Now;           
expirationDate = expirationDate.AddMonths(6);           
certificateGenerator.SetNotAfter(expirationDate);           
StringBuilder serialNumberBuf = new StringBuilder();           
Random random = new Random();           
serialNumberBuf.Append(random.Next(5, 20));           
serialNumberBuf.Append(random.Next(1, 10));           
serialNumberBuf.Append(random.Next(8, 15));           
certificateGenerator.SetSerialNumber(new BigInteger(new System.Text.ASCIIEncoding().GetBytes(serialNumberBuf.ToString())));
certificateGenerator.AddExtension(X509Extensions.KeyUsage, false, new Org.BouncyCastle.Asn1.X509.KeyUsage(Org.BouncyCastle.Asn1.X509.KeyUsage.DigitalSignature | Org.BouncyCastle.Asn1.X509.KeyUsage.KeyAgreement));           
ArrayList purpouses = new ArrayList();           
purpouses.Add(KeyPurposeID.IdKPSmartCardLogon);           
purpouses.Add(KeyPurposeID.IdKPIpsecUser);           
Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage extended_usage = new Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage(purpouses);            certificateGenerator.AddExtension(X509Extensions.ExtendedKeyUsage, false, extended_usage);           
return certificateGenerator.Generate(asymmetricKeyPair.Private, secureRandom).GetEncoded();
and when I try to execute above:

Code:
StreamReader sr = new StreamReader(new FileStream(inputFileName, FileMode.Open, FileAccess.Read));
ContentInfo contentInfo = new ContentInfo(new System.Text.ASCIIEncoding().GetBytes(sr.ReadToEnd()));
sr.Close();           
SignedCms signedCms = new SignedCms(contentInfo);           
CmsSigner cmsSigner = new CmsSigner(x509cert);           
signedCms.ComputeSignature(cmsSigner);           
StreamWriter streamWriter = new StreamWriter(new FileStream(inputFileName+"_sgn", FileMode.OpenOrCreate, FileAccess.Write));           
streamWriter.Write(System.Text.Encoding.ASCII.GetString(signedCms.Encode()));           
streamWriter.Close();

I've got a error message. CmsSigner cmsSigner = new CmsSigner(x509cert); is highlighted.
From what I saw in debug mode generated certificate doesn't have private key.

Can anybody tell me what is wrong ??
 
Old September 20th, 2010, 01:53 PM
Authorized User
 
Join Date: Jul 2010
Posts: 15
Thanks: 4
Thanked 0 Times in 0 Posts
Default

Can you post the error message you are getting. I've had issues with certificates, but it was related to permissions reading the private key.





Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with report generation time nelly78 Oracle 0 July 6th, 2010 09:29 AM
Report Generation kotaiah Excel VBA 0 September 14th, 2006 08:26 AM
Report Generation Problem lushh Access VBA 2 September 5th, 2006 07:16 AM
Order of Code Generation Problem forfree ASP.NET 1.0 and 1.1 Basics 1 July 5th, 2006 09:48 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.