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

Use ECDSA instead of RSA #9127

Merged
merged 1 commit into from
Mar 2, 2023
Merged

Conversation

fossedihelm
Copy link
Contributor

What this PR does / why we need it:
Currently, kubevirt generates certificates with RSA signature. ECDSA, in general, create signatures faster than RSA. Also, OLM already uses ECDSA[1], and it would be right to conform. The elliptic curve used is the NIST P-256 (FIPS 186-3, section D.2.3), also known as secp256r1 or prime256v1: this is supported by TLS1.3[2].

[1] https://github.com/operator-framework/operator-lifecycle-manager/blob/master/pkg/controller/certs/certs.go#L31:L34
[2] https://www.rfc-editor.org/rfc/rfc8446#section-4.2.7

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

Release note:

Use ECDSA instead of RSA for key generation

@kubevirt-bot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubevirt-bot kubevirt-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. size/L labels Jan 31, 2023
@fossedihelm
Copy link
Contributor Author

/test all

@fossedihelm
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations-root
/test pull-kubevirt-e2e-kind-1.23-vgpu
/test pull-kubevirt-e2e-k8s-1.24-sig-storage-root
/test pull-kubevirt-e2e-k8s-1.24-sig-compute-root
/test pull-kubevirt-e2e-k8s-1.24-sig-compute
/test pull-kubevirt-e2e-k8s-1.25-sig-compute
/test pull-kubevirt-e2e-k8s-1.26-sig-compute

@fossedihelm
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.25-sig-compute-migrations-root

@fossedihelm fossedihelm marked this pull request as ready for review January 31, 2023 18:12
@kubevirt-bot kubevirt-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 31, 2023
@fossedihelm
Copy link
Contributor Author

/retest-required

@fossedihelm
Copy link
Contributor Author

/retest

Currently, kubevirt generates certificates with RSA signature.
ECDSA, in general, create signatures faster than RSA.
Also, OLM already uses ECDSA[1], and it would be right to conform.
The elliptic curve used is the NIST P-256 (FIPS 186-3, section D.2.3),
also known as secp256r1 or prime256v1: this is supported by TLS1.3[2].

[1] https://github.com/operator-framework/operator-lifecycle-manager/blob/master/pkg/controller/certs/certs.go#L31:L34
[2] https://www.rfc-editor.org/rfc/rfc8446#section-4.2.7

Signed-off-by: fossedihelm <ffossemo@redhat.com>
@acardace
Copy link
Member

acardace commented Mar 1, 2023

/approve

@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: acardace

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 1, 2023
@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Mar 1, 2023
@fossedihelm
Copy link
Contributor Author

/retest-required

@fossedihelm
Copy link
Contributor Author

/cherrypick release-0.59

@kubevirt-bot
Copy link
Contributor

@fossedihelm: once the present PR merges, I will cherry-pick it on top of release-0.59 in a new PR and assign it to you.

In response to this:

/cherrypick release-0.59

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@kubevirt-commenter-bot
Copy link

/retest-required
This bot automatically retries required jobs that failed/flaked on approved PRs.
Silence the bot with an /lgtm cancel or /hold comment for consistent failures.

@kubevirt-bot
Copy link
Contributor

kubevirt-bot commented Mar 1, 2023

@fossedihelm: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubevirt-fossa 448748c link false /test pull-kubevirt-fossa

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kubevirt-commenter-bot
Copy link

/retest-required
This bot automatically retries required jobs that failed/flaked on approved PRs.
Silence the bot with an /lgtm cancel or /hold comment for consistent failures.

@kubevirt-commenter-bot
Copy link

/retest-required
This bot automatically retries required jobs that failed/flaked on approved PRs.
Silence the bot with an /lgtm cancel or /hold comment for consistent failures.

@kubevirt-bot kubevirt-bot merged commit b3e7ded into kubevirt:main Mar 2, 2023
@kubevirt-bot
Copy link
Contributor

@fossedihelm: new pull request created: #9345

In response to this:

/cherrypick release-0.59

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@fossedihelm
Copy link
Contributor Author

/cherrypick release-0.58

@kubevirt-bot
Copy link
Contributor

@fossedihelm: #9127 failed to apply on top of branch "release-0.58":

Applying: Use ECDSA instead of RSA
Using index info to reconstruct a base tree...
A	cmd/example-guest-agent/BUILD.bazel
A	cmd/example-guest-agent/main.go
M	pkg/storage/export/export/export.go
M	pkg/storage/export/export/export_test.go
M	tests/infra_test.go
M	tests/storage/export.go
Falling back to patching base and 3-way merge...
Auto-merging tests/storage/export.go
Auto-merging tests/infra_test.go
Auto-merging pkg/storage/export/export/export_test.go
Auto-merging pkg/storage/export/export/export.go
Auto-merging cmd/virt-freezer/BUILD.bazel
CONFLICT (content): Merge conflict in cmd/virt-freezer/BUILD.bazel
CONFLICT (modify/delete): cmd/example-guest-agent/main.go deleted in HEAD and modified in Use ECDSA instead of RSA. Version Use ECDSA instead of RSA of cmd/example-guest-agent/main.go left in tree.
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Use ECDSA instead of RSA
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherrypick release-0.58

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@fossedihelm fossedihelm deleted the switch_to_ECDSA branch June 20, 2023 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants