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

Code Signing Certificate Request: Silk.NET #147

Closed
6 tasks done
Perksey opened this issue Mar 18, 2021 · 16 comments
Closed
6 tasks done

Code Signing Certificate Request: Silk.NET #147

Perksey opened this issue Mar 18, 2021 · 16 comments
Assignees
Labels
project support Use this label to request support for an existing .NET Foundation project

Comments

@Perksey
Copy link
Member

Perksey commented Mar 18, 2021

Follow up from #115:

Please fill in the information below

  • Project Name: Silk.NET
  • LastPass Email (or send offline): dylan@ultz.co.uk (note: currently not setup with LastPass)

Certificate onboarding checklist:

  • Register trade name @ChrisSfanos
  • Create configuration in Code Signing Service
  • Create organization with DigiCert
  • Request certificate from DigiCert
  • Received certificate and finalize sign service configuration
  • Provide credentials in shared folder in LastPass
@Perksey Perksey added the project support Use this label to request support for an existing .NET Foundation project label Mar 18, 2021
@ChrisSfanos
Copy link
Collaborator

Trade name registration submitted this morning

@clairernovotny
Copy link
Member

Hi @Perksey Sorry for the long delay. There were some hiccups with DigiCert due to some baseline requirements changing. We have the certificate up and configured. Can you please set up with LastPass and I can share the credentials with you?

@Perksey
Copy link
Member Author

Perksey commented Jul 6, 2021

No worries! LastPass account created, let me know if you need me to do anything else.

@clairernovotny
Copy link
Member

Just shared the folder with the credentials.

image

There's a sample pipeline here: https://github.com/novotnyllc/CodeSigningDemo

@Perksey
Copy link
Member Author

Perksey commented Jul 6, 2021

Brill, thanks!

@Perksey Perksey closed this as completed Jul 6, 2021
@clairernovotny
Copy link
Member

Once you have your Pipeline configured, please add dotnetfoundation as a co-owner to any NuGet packages. The certificate will be recognized by NuGet then.

@Perksey
Copy link
Member Author

Perksey commented Jul 24, 2021

Hi Claire,

Is there any way to achieve this without adding dotnetfoundation as an owner?

Currently we use an organisation API key to push our packages which has rights to use our reserved prefix, and there's no NuGet REST API to add an owner to a package programmatically. Given that our library sources are mostly generated (monthly), it would mean that we'd have to manually go through our packages (in case the generator has created new ones) and add the org as an owner - something that could be time consuming given it can't be automated.

Could we add the certificate to our own organisation, and perhaps add a .NET Foundation account as one of the owners of the Silk.NET organisation? Another option would be contacting NuGet support to add dotnetfoundation as an organisation permitted to use our prefix, and then using a dotnetfoundation API key to push our packages. Still some manual package owner modification involved, but only once.

@Perksey
Copy link
Member Author

Perksey commented Jul 27, 2021

Will reopen until the above is resolved.

@Perksey Perksey reopened this Jul 27, 2021
@clairernovotny
Copy link
Member

clairernovotny commented Jul 27, 2021

The foundation requires co-ownership in NuGet regardless. Once a package has dotnetfoundation as a co-owner, subsequent updates are automatically carried forward, so that shouldn't be too bad?

@Perksey
Copy link
Member Author

Perksey commented Jul 27, 2021

More than happy with the foundation having ownership of the packages, but from a practicality standpoint we have 163 NuGet packages so any ownership modification would ideally be at the organisation level (i.e. giving a foundation-owned account ownership of the Silk.NET organisation)

Given that NuGet has no public API endpoints for modifying package ownership, any individual package-level ownership modifications would take a very long time given we have 163 of them!

I'm fine with having to update the certificate on our organisation too (less seamless of course) but I understand that the foundation needs ownership for administration purposes as well. Is there an equivalent of the dnfadmin GitHub account for NuGet i.e. an individual non-organisation account we can grant ownership of the organisation to?

@clairernovotny
Copy link
Member

clairernovotny commented Jul 27, 2021

I agree that 163 packages is a lot, and it's equally painful on the accepting side.... I can start an email thread with the NuGet team to see what they can do.

We don't have individual accounts like that as that's generally an anti-pattern and not the best for security. We do need ownership for admin and project continuity purposes as well, though it'd be extreme circumstances that we'd expect to need it.

@Perksey
Copy link
Member Author

Perksey commented Jul 27, 2021

That'd be great, thanks!

@clairernovotny
Copy link
Member

As a short term workaround (as per the email thread), you can save the cert as a DER-encoded .cer file and then register that on the account you're currently using. That'll let you publish the signed packages.

@Perksey
Copy link
Member Author

Perksey commented Aug 4, 2021

Will keep this issue open until we do manage to get the package ownership transferred, but will use that workaround in the meantime. Thanks!

@clairernovotny
Copy link
Member

Hi, @Perksey I know it took much longer than expected to address the package ownership issues on NuGet. Now that it's resolved, how is this coming; are you all set here, can we close this issue?

@Perksey
Copy link
Member Author

Perksey commented Jan 27, 2022

Yep, now that’s solved this can be closed off - forgot to update this issue, sorry!

Thanks for all of your help :)

@Perksey Perksey closed this as completed Jan 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project support Use this label to request support for an existing .NET Foundation project
Projects
None yet
Development

No branches or pull requests

3 participants