OpenSSL.Net에서 HTTPS를 위한 자체 서명 인증서 작성

IIS에https 접근을 열려면 인증서를 생성해야 합니다. Openssl을 찾았습니다.net가 가장 편리합니다. 코드는 다음과 같습니다.

  
  
  
  
  1. // 1024bit  
  2. RSA rsa = new RSA(); 
  3. BigNumber number = OpenSSL.Core.Random.Next(10, 10, 1); 
  4. rsa.GenerateKeys(1024, number, nullnull); 
  5. CryptoKey key = new CryptoKey(rsa); 
  6.  
  7. // X509 ,Subject Issuer  
  8. X509Certificate x509 = new X509Certificate(); 
  9. x509.SerialNumber = (int)DateTime.Now.Ticks; 
  10. x509.Subject = new X509Name("CN=DOMAIN");   //DOMAIN  
  11. x509.Issuer = new X509Name("CN=DOMAIN"); 
  12. x509.PublicKey = key;    //  
  13. x509.NotBefore = Convert.ToDateTime("2011-1-1"); //  
  14. x509.NotAfter = Convert.ToDateTime("2050-1-1");  //  
  15. x509.Version = 2; 
  16.  
  17. //  
  18. x509.Sign(key, MessageDigest.MD5); 
  19.  
  20. // crt  
  21. BIO x509bio = BIO.File("C:\\CA.crt""w"); 
  22. x509.Write(x509bio); 
  23.  
  24. // pfx ,  
  25. var certs = new OpenSSL.Core.Stack<X509Certificate>(); 
  26. PKCS12 p12 = new PKCS12("PASSWORD", key, x509, certs); //PASSWORD  
  27. BIO p12Bio = BIO.File("C:\\CA.pfx""w"); 
  28. p12.Write(p12Bio); 
  29.  
  30. //  
  31. rsa.Dispose(); 
  32. x509.Dispose(); 
  33. x509bio.Dispose(); 
  34. p12.Dispose(); 
  35. p12Bio.Dispose(); 

pfx를 생성할 때 인증서 체인은 비어 있어야 합니다. 자신을 추가할 수 없습니다. 그렇지 않으면 인증서는 문제가 없을 것 같지만 iis에 연결할 때 오류가 발생할 수 있습니다.

좋은 웹페이지 즐겨찾기