[System] Clean up some warnings
[mono.git] / mcs / class / System / ReferenceSources / CAPI.cs
1 namespace System.Security.Cryptography {
2
3         static class CAPI {
4                 // OID key type.
5                 internal const uint CRYPT_OID_INFO_OID_KEY   = 1;
6                 internal const uint CRYPT_OID_INFO_NAME_KEY  = 2;
7                 internal const uint CRYPT_OID_INFO_ALGID_KEY = 3;
8                 internal const uint CRYPT_OID_INFO_SIGN_KEY  = 4;
9
10                 public static string CryptFindOIDInfoNameFromKey (string key, OidGroup oidGroup)
11                 {
12                         // TODO: incomplete
13                         // TODO: oidGroup is ignored
14                         switch (key) {
15                         case "1.2.840.113549.1.1.5":
16                         case "1.3.14.3.2.29":
17                         case "1.3.14.3.2.15":
18                                 return "sha1RSA";
19                         case "1.2.840.113549.1.1.4":
20                         case "1.3.14.3.2.3":
21                                 return "md5RSA";
22                         case "1.2.840.10040.4.3":
23                         case "1.3.14.3.2.13":
24                                 return "sha1DSA";
25                         case "1.2.840.113549.1.1.2":
26                         case "1.3.14.7.2.3.1":
27                                 return "md2RSA";
28                         case "1.2.840.113549.1.1.3":
29                                 return "md4RSA";
30                         case "1.3.14.3.2.27":
31                                 return "dsaSHA1";
32                         case "2.16.840.1.101.2.1.1.19":
33                                 return "mosaicUpdatedSig";
34                         case "1.3.14.3.2.26":
35                                 return "sha1";
36                         case "1.2.840.113549.2.5":
37                                 return "md5";
38                         case "2.16.840.1.101.3.4.2.1":
39                                 return "sha256";
40                         case "2.16.840.1.101.3.4.2.2":
41                                 return "sha384";
42                         case "2.16.840.1.101.3.4.2.3":
43                                 return "sha512";
44                         case "1.2.840.113549.1.1.11":
45                                 return "sha256RSA";
46                         case "1.2.840.113549.1.1.12":
47                                 return "sha384RSA";
48                         case "1.2.840.113549.1.1.13":
49                                 return "sha512RSA";
50                         case "1.2.840.113549.1.1.10":
51                                 return "RSASSA-PSS";
52                         case "1.2.840.10045.4.1":
53                                 return "sha1ECDSA";
54                         case "1.2.840.10045.4.3.2":
55                                 return "sha256ECDSA";
56                         case "1.2.840.10045.4.3.3":
57                                 return "sha384ECDSA";
58                         case "1.2.840.10045.4.3.4":
59                                 return "sha512ECDSA";
60                         case "1.2.840.10045.4.3":
61                                 return "specifiedECDSA";
62                         case "1.2.840.113549.1.1.1":
63                                 return "RSA";
64                         case "1.2.840.113549.1.7.1":
65                                 return "PKCS 7 Data";
66                         case "1.2.840.113549.1.9.3":
67                                 return "Content Type";
68                         case "1.2.840.113549.1.9.4":
69                                 return "Message Digest";
70                         case "1.2.840.113549.1.9.5":
71                                 return "Signing Time";
72                         case "1.2.840.113549.3.7":
73                                 return "3des";
74                         case "2.5.29.17":
75                                 return "Subject Alternative Name";
76                         case "2.16.840.1.101.3.4.1.2":
77                                 return "aes128";
78                         case "2.16.840.1.101.3.4.1.42":
79                                 return "aes256";
80                         case "2.16.840.1.113730.1.1":
81                                 return "Netscape Cert Type";
82                         }
83
84                         return null;
85                 }
86
87                 public static string CryptFindOIDInfoKeyFromName (string name, OidGroup oidGroup)
88                 {
89                         // TODO: incomplete
90                         // TODO: oidGroup is ignored                    
91                         switch(name) {
92                         case "sha1RSA":
93                                 return "1.2.840.113549.1.1.5";
94                         case "md5RSA":
95                                 return "1.2.840.113549.1.1.4";
96                         case "sha1DSA":
97                                 return "1.2.840.10040.4.3";
98                         case "shaRSA":
99                                 return "1.3.14.3.2.29";
100                         case "md2RSA":
101                                 return "1.2.840.113549.1.1.2";
102                         case "md4RSA":
103                                 return "1.2.840.113549.1.1.3";
104                         case "dsaSHA1":
105                                 return "1.3.14.3.2.27";
106                         case "mosaicUpdatedSig":
107                                 return "2.16.840.1.101.2.1.1.19";
108                         case "sha1":
109                                 return "1.3.14.3.2.26";
110                         case "md5":
111                                 return "1.2.840.113549.2.5";
112                         case "sha256":
113                                 return "2.16.840.1.101.3.4.2.1";
114                         case "sha384":
115                                 return "2.16.840.1.101.3.4.2.2";
116                         case "sha512":
117                                 return "2.16.840.1.101.3.4.2.3";
118                         case "sha256RSA":
119                                 return "1.2.840.113549.1.1.11";
120                         case "sha384RSA":
121                                 return "1.2.840.113549.1.1.12";
122                         case "sha512RSA":
123                                 return "1.2.840.113549.1.1.13";
124                         case "RSASSA-PSS":
125                                 return "1.2.840.113549.1.1.10";
126                         case "sha1ECDSA":
127                                 return "1.2.840.10045.4.1";
128                         case "sha256ECDSA":
129                                 return "1.2.840.10045.4.3.2";
130                         case "sha384ECDSA":
131                                 return "1.2.840.10045.4.3.3";
132                         case "sha512ECDSA":
133                                 return "1.2.840.10045.4.3.4";
134                         case "specifiedECDSA":
135                                 return "1.2.840.10045.4.3";
136                         case "RSA":
137                                 return "1.2.840.113549.1.1.1";
138                         case "PKCS 7 Data":
139                                 return "1.2.840.113549.1.7.1";
140                         case "Content Type":
141                                 return "1.2.840.113549.1.9.3";
142                         case "Message Digest":
143                                 return "1.2.840.113549.1.9.4";
144                         case "Signing Time":
145                                 return "1.2.840.113549.1.9.5";
146                         case "3des":
147                                 return "1.2.840.113549.3.7";
148                         case "Subject Alternative Name":
149                                 return "2.5.29.17";
150                         case "aes128":
151                                 return "2.16.840.1.101.3.4.1.2";
152                         case "aes256":
153                                 return "2.16.840.1.101.3.4.1.42";
154                         case "Netscape Cert Type":
155                                 return "2.16.840.1.113730.1.1";
156                         }
157                         return null;
158                 }
159         }
160 }