@@ -29,26 +29,43 @@ internal static void FromXmlStringImpl(RSACryptoServiceProvider rsa, string xmlS
29
29
var xmlDoc = new XmlDocument ( ) ;
30
30
xmlDoc . LoadXml ( xmlString ) ;
31
31
32
- if ( xmlDoc . DocumentElement . Name . Equals ( "RSAKeyValue" ) )
32
+ if ( ! xmlDoc . DocumentElement . Name . Equals ( "RSAKeyValue" ) )
33
33
{
34
- foreach ( XmlNode node in xmlDoc . DocumentElement . ChildNodes )
35
- {
36
- switch ( node . Name )
37
- {
38
- case "Modulus" : parameters . Modulus = Convert . FromBase64String ( node . InnerText ) ; break ;
39
- case "Exponent" : parameters . Exponent = Convert . FromBase64String ( node . InnerText ) ; break ;
40
- case "P" : parameters . P = Convert . FromBase64String ( node . InnerText ) ; break ;
41
- case "Q" : parameters . Q = Convert . FromBase64String ( node . InnerText ) ; break ;
42
- case "DP" : parameters . DP = Convert . FromBase64String ( node . InnerText ) ; break ;
43
- case "DQ" : parameters . DQ = Convert . FromBase64String ( node . InnerText ) ; break ;
44
- case "InverseQ" : parameters . InverseQ = Convert . FromBase64String ( node . InnerText ) ; break ;
45
- case "D" : parameters . D = Convert . FromBase64String ( node . InnerText ) ; break ;
46
- }
47
- }
34
+ throw new InvalidOperationException ( "Invalid XML RSA key." ) ;
48
35
}
49
- else
36
+
37
+
38
+ foreach ( XmlNode node in xmlDoc . DocumentElement . ChildNodes )
50
39
{
51
- throw new InvalidOperationException ( "Invalid XML RSA key." ) ;
40
+ switch ( node . Name )
41
+ {
42
+ case "Modulus" :
43
+ parameters . Modulus = Convert . FromBase64String ( node . InnerText ) ;
44
+ break ;
45
+ case "Exponent" :
46
+ parameters . Exponent = Convert . FromBase64String ( node . InnerText ) ;
47
+ break ;
48
+ case "P" :
49
+ parameters . P = Convert . FromBase64String ( node . InnerText ) ;
50
+ break ;
51
+ case "Q" :
52
+ parameters . Q = Convert . FromBase64String ( node . InnerText ) ;
53
+ break ;
54
+ case "DP" :
55
+ parameters . DP = Convert . FromBase64String ( node . InnerText ) ;
56
+ break ;
57
+ case "DQ" :
58
+ parameters . DQ = Convert . FromBase64String ( node . InnerText ) ;
59
+ break ;
60
+ case "InverseQ" :
61
+ parameters . InverseQ = Convert . FromBase64String ( node . InnerText ) ;
62
+ break ;
63
+ case "D" :
64
+ parameters . D = Convert . FromBase64String ( node . InnerText ) ;
65
+ break ;
66
+ default :
67
+ throw new InvalidOperationException ( "Unknown node name: " + node . Name ) ;
68
+ }
52
69
}
53
70
54
71
rsa . ImportParameters ( parameters ) ;
0 commit comments