Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows authenticode certification expiry #2415

Closed
rvagg opened this issue Aug 19, 2020 · 20 comments
Closed

Windows authenticode certification expiry #2415

rvagg opened this issue Aug 19, 2020 · 20 comments

Comments

@rvagg
Copy link
Member

rvagg commented Aug 19, 2020

Your DigiCert certificate expires in 89 days.

Certificate Details
Requested by: Rod Vagg
Common name(s): Node.js Foundation

You can renew your certificate by going to https://www.digicert.com/secure/orders/2077763/

It's going to be ~$1.5k to renew for 3 years I think. This will need someone with access and who wants to interact with the foundation to drive it forward and get a renewal. There is also the question about renaming the Foundation name too like we've been looking at for our Apple account.

@mhdawson
Copy link
Member

I've emailed @brianwarner (and included @joaocgreis) to loop him in so that the Foundation can pay directly like we did in some other cases recently.

@mhdawson
Copy link
Member

mhdawson commented Sep 9, 2020

Have a meeting tomorrow to see if @brianwarner and me can renew.

@mhdawson
Copy link
Member

@rvagg I got together with Brian today but I need a bit more help/context to complete the renewal.

Specifically its asking for a CSR as part of the renewal.

I've found the file " Node.js Foundation Microsoft Authenticode Certificate.txt" which I can decode and get the p12 from. From there I can get the private key.

A few questions

  1. I assume we re-use the existing private key ?
  2. In the past have you created the CSR on windows or is it ok to create it with openSSL on linux? (If so looks like I can I can use -> openssl req -new -key key.pem -out req.pem)
  3. We were going to change the org to the OpenJS Foundation from the Node.js Foundation, I assume that is not going to be an issue.
  4. I assume they send us back a new p12. that I would then add to secrets in a manner similar to how the existing one is saved.

@rvagg
Copy link
Member Author

rvagg commented Sep 11, 2020

OK, considering that years have now gone by, this is off the top of my head and with very little memory of how this all went down originally:

  1. I assume we can re-use the private key, maybe there's a case for best practice being to generate a new one, but then we also have to roll it out into our infra (although maybe we need to do that anyway?)
  2. I probably just used openssl to make it, I don't know if the CSR needs anything special that you can't do with openssl, but I'm sure there's docs out there about what the CSR needs. I doubt I have any record of the original CSR, it's not something I usually save (although it might be nice to start doing that so we don't have to make it up every few years!).
  3. No idea, my guess is that there will be pain involved! It's like an EV IIRC so there's going to be an authentication process with hoops to jump through. Best look at their docs or contact them (DigiCert).
  4. Yes, IIRC the p12 was the outcome of the process, probably via email.

@brianwarner
Copy link

Cool, thanks @rvagg. On 3), we followed Digicert's advice to handle an organizational name change by adding a new org vs. replacing an existing one. I've let LF folks know they may be getting a verification request. Worst comes to worst, we can renew for a year on the old name and then deal with it again next year.

@nschonni
Copy link
Member

1. I assume we can re-use the private key, maybe there's a case for best practice being to generate a new one, but then we also have to roll it out into our infra (although maybe we need to do that anyway?)

They're saying new https://docs.digicert.com/manage-certificates/code-signing-certificate/renew-code-signing-certificate/

@mhdawson
Copy link
Member

@nschonni it says best practice is to "generate a new CSR", that's different than generating a new private key unless I missed something.

@mhdawson
Copy link
Member

@joaocgreis can you chime on on using a new versus the existing private key and what needs to be installed once we get the new certificate?

@joaocgreis
Copy link
Member

@mhdawson when we renewed 3 years ago I had to install the new certificate in every machine, so I don't think the private key makes any difference.

I can install the certificate when you have it, please update the secrets and let me know. Essentially, it's just remove the old one, install the new one, and test building to make sure everything is ok. Note this is only for the release machines.

@mhdawson
Copy link
Member

ok So I'll create a new key, and then request the cert.

@mhdawson
Copy link
Member

Certificate requested, will update when we receive the response

@mhdawson
Copy link
Member

On with chat support at Digicert, seems we still need the verification process to support. They need to call the public number for the foundation. Unfortunately there was no answer when I tried, so suggested the leave a message to have them call back. Will ping Brian to hopefully make sure they know the context.

@brianwarner
Copy link

Yes, it's a voicemail line, so they need to leave a message for a callback. They can also call me directly, if that's sufficient.

@mhdawson
Copy link
Member

Still looks like it is in pending, trying to contact support again.

@mhdawson
Copy link
Member

Called in to support again today. What I've been told is that they called the Foundation number and left a code which somebody needs to call back with in order to complete the validation. @brianwarner I think I need you to follow up on that

@mhdawson
Copy link
Member

mhdawson commented Oct 2, 2020

Received the email today with the cert, have raised to update in the secrets repo.

@joaocgreis over to you to update the servers with the new p12 file.

@joaocgreis
Copy link
Member

Updated, done. Thanks @mhdawson

@richardlau
Copy link
Member

@joaocgreis I suspect the new certificate is behind Windows flagging the most recent installers as unsafe: nodejs/node#35539
Do you know if there's anything we need to do to prevent that?

@joaocgreis
Copy link
Member

I have reported the files as safe, let's see if it solves the issue.

@rvagg
Copy link
Member Author

rvagg commented Oct 9, 2020

iirc it took a few days of our original cert in the wild and enough people to mark their installs as OK for Microsoft to start flagging it as OK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants