This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal


Nov 24, 2014, 7:56 PM
328 Posts

OpenSSL for windows ?

  • Category: Configuring
  • Platform: Windows
  • Release: 9.0.1
  • Role: Administrator
  • Tags:
  • Replies: 14

If someone has successfully created a CSR and received an SHA-2 certificate using 'OpenSSL for Windows' - could they please post the steps here?

Generally, I don't consider myself to be a complete idiot, but the wiki post: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/3rd_Party_SHA-2_with_OpenSSL_and_kyrtool?open seems to leave a lot to be desired.

I finally found a copy of OpenSSL for windows, and have spent the day so far trying to figure it out - again, referencing the wiki post: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/3rd_Party_SHA-2_with_OpenSSL_and_kyrtool?open . Every error message I run down and (possibly) resolve, but I am NOT confident at this point that the process is going to work - and, not only am I paying for the certificate, we're paying for support, and this seems unnecessarily difficult.

The old method, using the certsrv.nsf database seemed fairly simple to use, I sort of understand the reasoning for not creating a new certsrv template (ok, i really DON'T understand it at all) - but the instructions provided, again, are terrible.

Thanks!

Nov 24, 2014, 8:07 PM
51 Posts
OpenSSL for Windows (Instructions)

Hello Mark,

Trust me, I feel your frustration. I spent hours and hours working through this process. I boiled the process down into a few steps (see here). Now, I can handle in < 5 minutes! I should send IBM a bill. Can you imagine the productivity loss around the world due to poor documentation re: SHA-2 and Domino (and TLS, for that matter)? Amazing. Hope this helps you. We are successfully running SHA-2 certificates (use link in posting to check SHA-2 status). I just added the exact OpenSSL commands to the linked posting (focus was more on KYRTOOL). I can create these in my sleep now!

***While the topic mentions Go Daddy (our CA), the instructions work for other CAs. The only real difference is file names of the root/intermediate certificates.

Regards,
Michael

Nov 24, 2014, 8:54 PM
328 Posts
Thank you, Michael!

One of the issues from the original Wiki was in Step 1 he used 'server.key', then in step 2 it was server02.key; I was pretty sure they should have been the same...

Are you setting environment variables for OpenSSL?  I think that I had to add 'set RANDFILE=.rnd', but then later got another error, so added 'set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg'.

Did you have to make any changes to the supplied openssl.cfg file?

And finally, did you just run everything from 'C:\OpenSSL-Win32\bin'? Then copy out the files you needed?

Thanks for the direction! It looks like I was on the right track - but didn't want to submit & pay for the certificate only to find out I had it all wrong!

 

Nov 24, 2014, 8:46 PM
90 Posts
Another gotcha with your certs
Make sure your certificate chain has no SHA1 intermediate or root certificates. If so, it will work fine but the SSL test sites might ding you a few points.

I ended up contacting Thawte since they had two intermediate certs to use but one was SHA-1. They said I can leave that one out since it was only needed for obsolete browsers and to just use the SHA-2 intermediate. Seems to work fine.

Howard
Nov 24, 2014, 9:22 PM
51 Posts
SHA-2 Signatures (Root/Intermediate Certificates)

Hello Howard,

Excellent, couldn't agree more with that recommendation. Many CA still have root and intermediate bundles (or individual certificates in their repositories) that are only SHA-1 signed. I intentionally downloaded the G2 versions of the root and intermediate certificates (e.g. from Go Daddy) that has SHA-2 signatures. If not, your chain's essentially not 100% SHA-2. Even with these SHA-2 inclusive certificates, it's possible to still see SHA-1 for the Thumbprint Algorithm but the certificate is signed with SHA-2 and will pass tests (e.g. Google Chrome checks for SHA-1).

Regards,
Michael

Nov 24, 2014, 11:01 PM
94 Posts
Thanks for pointing that out - changed "server02" to "server" in step 2 <>
Nov 25, 2014, 12:01 AM
51 Posts
Thanks Dave! (re: server02 -> server)

Dave,

Thanks for updating the posting.

Regards,
Michael

Nov 24, 2014, 8:55 PM
51 Posts
You're Welcome!

Hello Mark,

The server02.key (instead of server.key) has certainly confused many people. With regards to OpenSSL environment variables, none were set. I just installed OpenSSL for Windows and ran all commands from the C:\OpenSSL-Win32\bin\ directory. BTW, I have now generated 48 SHA-2 signed SSL certificates (new and re-keys) today alone w/o any issues.

***Don't be too concerned about making a mistake (re: initial CSR...). You can always re-key, just don't revoke the purchased certificate.

Regards,
Michael

Nov 24, 2014, 11:27 PM
57 Posts
I've done it

I successfully updated an existing GoDaddy SHA-1 cert to SHA-2 using the arcane "Generate a SHA-2 certificate using a 3rd party CA with OpenSSL and kyrtool" instructions.  I also used OpenSSL for Windows.  As others already noted, the instructions change "server.key" to "server02.key" incorrectly.  Here are some notes I made for myself against various steps in the process:

1. Generate an RSA keypair

installed OpenSSL for Windows from here: https://slproweb.com/products/Win32OpenSSL.html .
Once installed, open an elevated command prompt and navigated to the installed directory and then to the "bin" subdirectory.
Run OpenSSL by typing "OpenSSL" without the quotes
Then follow below.  Note that the "server.key" file will be created in the "bin" directory.

<snip>

4. Create a new keyring file

Use the path to Notes install.  For me it was:
C:\Program Files (x86)\IBM\Lotus\Notes>kyrtool ="C:\Program Files (x86)\IBM\Lotus\Notes\notes.ini" create -k "C:\Program Files (x86)\IBM\Lotus\Notes\Data\keyring.kyr" -p xxxxxxxxxxxxx  <-- (this was the actual password)

5. Verify the input file:

I took the "server.key" file that was generated with OpenSSL in step 1 and opened it into a text editor.  Then I took both of the certs supplied from GoDaddy (domain and root), opened them into the text editor, and then copied/pasted them into a single new file with the "server.key" first, the xxxdomainxxx.crt file second, and last the GoDaddy root certs.  I then ran the given command from the instructions and got confirmation that it was okay.

5c. Import the keypair and self-signed certificate:

My command line looked like below because the "server.txt" file referred to in the instructions I named SHA2combined.txt and put it on the desktop.  And the other paths point to the required directories.  Yours will look different depending on what you named things:
C:\Program Files (x86)\IBM\Lotus\Notes>kyrtool ="C:\Program Files (x86)\IBM\Lotus\Notes\notes.ini" import all -k "C:\Program Files (x86)\IBM\Lotus\Notes\Data\keyring.kyr" -i "C:\Users\mgotts\Desktop\SHA2combined.txt"

-------------------------------------------------

What a PITA and unfriendly process.  The resulting key works fine with HTTP, but it does not fix the problem with some inbound SMTP connections not being able to negotiate an agreeable TLS/SSL connection and failing to send mail (documented at length in another thread in this forum).  Also, the Domino HTTP server, even with the latest patches and SHA-2 cert still does not test all that well against the Qualys SSL test (https://www.ssllabs.com/ssltest/index.html). The test might be giving a false positive about POODLE because IBM says that even though the patched Domino server still supports SSL3 it isn't actually vulnerable.

Using the IBM HTTP Server (IHS) provided in Domino 9 as a transparent proxy does a better job and tests better, but I can't figure out how to get my new SHA-2 key into IHS.  So I have a choice between a superior HTTP server using a SHA-1 cert or a less capable HTTP server (i.e. Domino) using the new SHA-2 cert.

Anybody know how to convert a SHA-2 Domino keyring cert to IHS?  I know how to do it for SHA-1 (see here: http://blog.darrenduke.net/darren/ddbz.nsf/dx/exporting-domino-ssl-keyfiles-to-another-format-for-use-with-ihs-.htm), but those tools choke on the SHA-2 cert.

 

Nov 25, 2014, 12:15 AM
51 Posts
Thanks Mark (re: Additional OpenSSL Instructions) & FYI Dave

Mark,

Thanks for posting your process for generating the SHA-2 signed certificates using OpenSSL and KYRTOOL. My instructions drop the path to the notes.ini since it's already relative to the file's location. So, instead of "kyrtool ="C:\Program Files (x86)\IBM\Lotus\Notes\notes.ini" create -k "C:\Program Files (x86)\IBM\Lotus\Notes\Data\keyring.kyr" you can just use "=notes.ini" or "kyrtool =notes.ini create -k "C:\Program Files (x86)\IBM\Lotus\Notes\Data\keyring.kyr"". I found that any shortcut seemed to help me.

Dave: Mark's quotation marks around the path reminded me of something. The posting uses "kyrtool =c:\lotus\notes\notes.ini create -k c:\lotus\notes\data\keyring.kyr -p password" for example. While this path works (due to no spaces), it would not work using the more standard "C:\Program Files (x86)\IBM\Lotus\Notes". If no quotes are used, the user will receive an error. YI would just add quotes to yours so users just assume quotes are needed no matter.

Regards,
Michael

Nov 25, 2014, 1:40 PM
90 Posts
*Another reason why I NEVER put Domino under the program files dir!
Nov 26, 2014, 2:05 AM
328 Posts
Michael and Mark, you guys are the best!

Thanks, Michael and Mark, for all the assistance! I've been thru the process, and have just installed my keyring on our Traveler server, and everything appears spectacular!

Tomorrow I will attempt our b2b web server - the current SHA-1 certificate won't expire for another year, but I'll get it upgraded to SHA-256 and will feel much better.

I can't say enough how much I appreciate the assistance!

Seriously, Thanks!

Nov 26, 2014, 4:30 AM
51 Posts
Mark, Great News! SHA-2 Success

Mark,

Great news, thanks for letting us know. The network effect, right? I'm glad the information helped.

Regards,
Michael

Dec 2, 2014, 6:42 PM
94 Posts
We're updating one of those wiki articles to focus on Windows and related issues <>
Dec 2, 2014, 7:04 PM
328 Posts
Thanks, Dave!

That will be a great help!

I assume that many of us wear multiple hats during the year, so this task only happens every year or two - I finally had the old way down pat!

;-)

But, to be truthful, this was wasn't so bad (with a little help and direction) - a Windows procedure will really help!

Thanks, again!


This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal