-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Guide to upgrading code signing certificate + publisherName #6499
Comments
We're currently on path (B) but investigating (C). Would love to hear from others about if I missed anything, or if there are better ways |
We've just tested the Option B with success. So we're planning on publishing a new release (using the old certificate) with the old and new publisherName. Hold until a good portion of the users are updated and push a new release with the new certificate publisher name. We'll need a fallback solution (manual download link aka option C) if users were on previous versions and they get a certificate error but at that point it will only be a few. Manual and auto-updates worked using that technique. |
I'm facing this issue too right now. One idea I had, was to switch the autoupdate files. Publish a new version under the old filenames that points to a new version, which points to new metadata files on the autoupdate server. This way, clients will have to update through the intermediary version. It might require a little hand-editing of the files, but it seems the smoothest approach possible? |
That's a really interesting idea. Could work (though I've actually not
opened those yml files to see what they contain!)
One challenge is that all these solutions require careful testing.
I've tried to document what I learnt through testing to save others time.
Very interested to hear details if it works for you
…On Fri, 7 Jan 2022, 09:18 Liam McLoughlin, ***@***.***> wrote:
I'm facing this issue too right now. One idea I had, was to switch the
autoupdate files. Publish a new version under the old filenames that points
to a new version, which points to new metadata files on the autoupdate
server. This way, clients will have to update through the intermediary
version.
It might require a little hand-editing of the files, but it seems the
smoothest approach possible?
—
Reply to this email directly, view it on GitHub
<#6499 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAUK3HRG2THNSSILAYKEZ5LUUX2IPANCNFSM5KB5MJYQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Your documented info was very useful, thank you! I'll share what I end up doing here incase it's useful also. |
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
bad bot. this issue is a resource and documentation collection point. leave
it be
…On Sun, 17 Apr 2022, 02:14 stale[bot], ***@***.***> wrote:
Is this still relevant? If so, what is blocking it? Is there anything you
can do to help move it forward?
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs.
—
Reply to this email directly, view it on GitHub
<#6499 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAUK3HXYWJE66ZC3UCY4WG3VFLDNJANCNFSM5KB5MJYQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
hey @mixmix thank you for the awesome solution. Pretty much in the same pickle at the moment and found this solution via Hpop's help. We would really like to use the Do you see any work around to this problem? We are really struggling with this and would not like to force users for a manual update. Your help is much appreciated. Thank you. |
@jeetparikh I'm not an expert... but, think of you let that certificate expire (if i understand) you are kinda screwed. you can no longer sign new versions which might have fixes. best I can advise is you contact your users to get them to manual update, and then put in tools to avoid this problem in future. one thing we have in our setup is analytics (via mixpanel) which reports what versions users are using. this helps us track how upgrades are going |
@mixmix thanks for getting back. Ya the certificate expiry feels screwed. I don't think that the expiry is more of a problem but rather the org name change. Otherwise we could get just get the renewal easily. Currently signing we newly renewed certificate but different subject/publisher breaks auto-update.. |
@jeetparikh i know if no way to resolve your block. you should have planned ahead more. please start a new thread to explore problem solving. this one is documentation recording solutions |
no worries.. thanks @mixmix .. appreciate your response and help. |
@jeetparikh hey sorry I am not technical support for you, and this is just a completely unrelated issue. Recommend you open another issue. I'm trying to be clear so GitHub issues are focused and helpful for everyone. I'm being blunt so you understand. I wish you well though. Good luck |
What about macOS? |
This is about windows. Recommend starting a different issue for that if this thread didn't help you |
Thank you for the suggestions here! A tip for future people going through this process. You can avoid any timing issues here by switching the deploy bucket as a part of this build process:
This ensures that all users first update to a version with the correct publisherName, then they update to the new signing cert. To do this you can add a Etc we use this:
|
22.10.5
14.6.0
12.2.2
Problem
The project I work on had a windows Code Signing Certificate which was for
publisherName: "Ahau Limited NZ"
.We decided to upgrade to an EV Signing Certificate (more expensive and restricted, but less scary warning for Windows users).
My boss bought ordered it for `"Āhau Limited NZ" (notice the macron on the Ā! This is the correct spelling in Maori, but I had avoided it because I had previously hit problems in config files with things not really liking non-english characters sigh)
You can change
config.win.publisherName
so it lines up with the new certificate but then auto-updater breaks (this is a good safety feature ofelectron-updater
). The question then is how to handle a migration of name.I've seen people struggling with this in:
Possible solution paths
A. Rip it out!
Just change the certificate and
publisherName
.This means the auto-updater will fail for old users (who will have to upgrade manually), but new users will be fine.
B. Migrate slowly
NOTES:
CSC_LINK
,CSC_KEY_PASSWORD
and a .pfx file, the EV signing we dropped those env var and allowedelectron-updater
the fine the EV Signing Cert I'd installedconfig.win.certificateSha1
to specify the certificate. Documentation is currently lacking on this, see "Cannot find certificate" on Windows when EV signing #4626 (comment)C. Combo
Upgrade immediately to the new certificate (like A), but have a pop-up for users who can't auto-update which tells them to go get the new version.
This one is tricky because you need to have some functionality already installed and published (e.g. something which checks an external server for changes and decides whether to alert the user. If you have a mailing list that could suffice too). If you don't you may need to install that functionality and wait for users to auto-update to install it.
I have a suspicion that you could mitigate this by :
I think that
electron-updater
will only auto-update within semver minor/patch ranges, but haven't checked or run simulations/The text was updated successfully, but these errors were encountered: