RSAKeyFormatHelper does not reject nonsense RSAPrivateKey versions
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 84/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- csharp
- Ambito
- cryptography, security
Direzione di ricerca
Inizia con la convalida in RSAKeyFormatHelper.Pkcs1.cs alle righe 23-25 ed esamina la definizione firmata di Version in PrivateKeyInfoAsn.xml.cs. Traccia il percorso esistente di decodifica delle chiavi private RSA, aggiungi la copertura per le versioni negative e verifica che un RSAPrivateKey con qualsiasi versione negativa venga rifiutato anziché essere trattato come versione 0.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
If an RSAPrivateKey has a version of -1 it decodes successfully and is treated as 0.
Version is a signed integer, so it can contain negative values:
Reproduction Steps
Construct an RSAPrivateKey with a version of -1, or any other negative number.
Expected behavior
The RSAPrivateKey should be rejected.
Actual behavior
The RSAPrivateKey version is treated as 0.
Regression?
No
Known Workarounds
No response
Configuration
No response
Other information
RFC 8017 and RFC 3447 define version as
Version ::= INTEGER { two-prime(0), multi(1) }
(CONSTRAINED BY
{-- version must be multi if otherPrimeInfos present --}
Since .NET does not support multi-prime values for key imports, the version check should probably just be != 0.
- Lingua principale
- C#
- Stelle
- 18.3k
- Fork
- 5.6k
- Merge medio
- 2g 17h
- PR unite (30g)
- 615
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnet/runtime
-
area-Infrastructure-coreclr os-ios os-maccatalyst os-tvos untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dotnet/runtime#134766 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area-System.Linq untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
dotnet/runtime#134736 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area-System.Numerics.Tensors untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dotnet/runtime#134691 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area-System.Threading blocking-clean-ci Known Build Error untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dotnet/runtime#134679 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ARM64: conditional compare rejects negative immediates the emitter can already encode as `ccmn`Apertaarea-CodeGen-coreclr performance
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
dotnet/runtime#134663 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dotnet/runtime
Issue simili
-
area-ai untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
dotnet/extensions#7790 ·
I maintainer di solito rispondono entro 1 giorno
-
P2 testing
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
0 - Backlog Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
BrighterCommand/Brighter#4444 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
area:frontend bug FE P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
klasolsson81/jobbliggaren#1915 ·
I maintainer di solito rispondono entro 1 giorno