@@ -25,19 +25,24 @@ internal static void FromJsonString(this RSA rsa, string jsonString)
2525 {
2626 Check . Argument . IsNotEmpty ( jsonString , nameof ( jsonString ) ) ;
2727
28- var paramsJson = JsonConvert . DeserializeObject < RSAParametersJson > ( jsonString ) ;
29-
3028 RSAParameters parameters = new RSAParameters ( ) ;
31-
32- parameters . Modulus = paramsJson . Modulus != null ? Convert . FromBase64String ( paramsJson . Modulus ) : null ;
33- parameters . Exponent = paramsJson . Exponent != null ? Convert . FromBase64String ( paramsJson . Exponent ) : null ;
34- parameters . P = paramsJson . P != null ? Convert . FromBase64String ( paramsJson . P ) : null ;
35- parameters . Q = paramsJson . Q != null ? Convert . FromBase64String ( paramsJson . Q ) : null ;
36- parameters . DP = paramsJson . DP != null ? Convert . FromBase64String ( paramsJson . DP ) : null ;
37- parameters . DQ = paramsJson . DQ != null ? Convert . FromBase64String ( paramsJson . DQ ) : null ;
38- parameters . InverseQ = paramsJson . InverseQ != null ? Convert . FromBase64String ( paramsJson . InverseQ ) : null ;
39- parameters . D = paramsJson . D != null ? Convert . FromBase64String ( paramsJson . D ) : null ;
40-
29+ try
30+ {
31+ var paramsJson = JsonConvert . DeserializeObject < RSAParametersJson > ( jsonString ) ;
32+
33+ parameters . Modulus = paramsJson . Modulus != null ? Convert . FromBase64String ( paramsJson . Modulus ) : null ;
34+ parameters . Exponent = paramsJson . Exponent != null ? Convert . FromBase64String ( paramsJson . Exponent ) : null ;
35+ parameters . P = paramsJson . P != null ? Convert . FromBase64String ( paramsJson . P ) : null ;
36+ parameters . Q = paramsJson . Q != null ? Convert . FromBase64String ( paramsJson . Q ) : null ;
37+ parameters . DP = paramsJson . DP != null ? Convert . FromBase64String ( paramsJson . DP ) : null ;
38+ parameters . DQ = paramsJson . DQ != null ? Convert . FromBase64String ( paramsJson . DQ ) : null ;
39+ parameters . InverseQ = paramsJson . InverseQ != null ? Convert . FromBase64String ( paramsJson . InverseQ ) : null ;
40+ parameters . D = paramsJson . D != null ? Convert . FromBase64String ( paramsJson . D ) : null ;
41+ }
42+ catch
43+ {
44+ throw new Exception ( "Invalid XML RSA key." ) ;
45+ }
4146 rsa . ImportParameters ( parameters ) ;
4247 }
4348
0 commit comments