Преглед изворни кода

2011-02-16 Juho Vähä-Herttua <[email protected]>

        * CngExportPolicies.cs: New.
        * CngKeyCreationOptions.cs: New.
        * CngKeyOpenOptions.cs: New.
        * CngKeyUsages.cs: New.
        * CngPropertyOptions.cs: New.
        * CngUIProtectionLevels.cs: New.
        * ECDiffieHellmanKeyDerivationFunction.cs: New.
        * ECKeyXmlFormat.cs: New.
Juho Vähä-Herttua пре 15 година
родитељ
комит
7735ff82f6

+ 11 - 0
mcs/class/System.Core/System.Security.Cryptography/ChangeLog

@@ -1,3 +1,14 @@
+2011-02-16  Juho Vähä-Herttua  <[email protected]>
+
+	* CngExportPolicies.cs: New.
+	* CngKeyCreationOptions.cs: New.
+	* CngKeyOpenOptions.cs: New.
+	* CngKeyUsages.cs: New.
+	* CngPropertyOptions.cs: New.
+	* CngUIProtectionLevels.cs: New.
+	* ECDiffieHellmanKeyDerivationFunction.cs: New.
+	* ECKeyXmlFormat.cs: New.
+
 2010-03-18  Sebastien Pouliot  <[email protected]>
 
 	* Aes.cs: Build here before NET_4_0 (or MOONLIGHT) otherwise 

+ 40 - 0
mcs/class/System.Core/System.Security.Cryptography/CngExportPolicies.cs

@@ -0,0 +1,40 @@
+//
+// System.Security.Cryptography.CngExportPolicies
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngExportPolicies {
+		None,
+		AllowExport,
+		AllowPlaintextExport,
+		AllowArchiving,
+		AllowPlaintextArchiving
+	}
+}

+ 38 - 0
mcs/class/System.Core/System.Security.Cryptography/CngKeyCreationOptions.cs

@@ -0,0 +1,38 @@
+//
+// System.Security.Cryptography.CngKeyCreationOptions
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngKeyCreationOptions {
+		None                 = 0x00,
+		MachineKey           = 0x20,
+		OverwriteExistingKey = 0x80
+	}
+}

+ 39 - 0
mcs/class/System.Core/System.Security.Cryptography/CngKeyOpenOptions.cs

@@ -0,0 +1,39 @@
+//
+// System.Security.Cryptography.CngKeyOpenOptions
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngKeyOpenOptions {
+		None       = 0x00,
+		UserKey    = 0x00,
+		MachineKey = 0x20,
+		Silent     = 0x40
+	}
+}

+ 40 - 0
mcs/class/System.Core/System.Security.Cryptography/CngKeyUsages.cs

@@ -0,0 +1,40 @@
+//
+// System.Security.Cryptography.CngKeyUsages
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngKeyUsages {
+		None,
+		Decryption,
+		Signing,
+		KeyAgreement,
+		AllUsages = 0xffffff
+	}
+}

+ 38 - 0
mcs/class/System.Core/System.Security.Cryptography/CngPropertyOptions.cs

@@ -0,0 +1,38 @@
+//
+// System.Security.Cryptography.CngPropertyOptions
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngPropertyOptions {
+		None           = 0x00 << 24,
+		CustomProperty = 0x40 << 24,
+		Persist        = 0x80 << 24
+	}
+}

+ 38 - 0
mcs/class/System.Core/System.Security.Cryptography/CngUIProtectionLevels.cs

@@ -0,0 +1,38 @@
+//
+// System.Security.Cryptography.CngUIProtectionLevels
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	// note: CNG stands for "Cryptography API: Next Generation"
+
+	[Flags]
+	public enum CngUIProtectionLevels {
+		None,
+		ProtectKey,
+		ForceHighProtection
+	}
+}

+ 35 - 0
mcs/class/System.Core/System.Security.Cryptography/ECDiffieHellmanKeyDerivationFunction.cs

@@ -0,0 +1,35 @@
+//
+// System.Security.Cryptography.ECDiffieHellmanKeyDerivationFunction
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	public enum ECDiffieHellmanKeyDerivationFunction {
+		Hash,
+		Hmac,
+		Tls
+	}
+}

+ 33 - 0
mcs/class/System.Core/System.Security.Cryptography/ECKeyXmlFormat.cs

@@ -0,0 +1,33 @@
+//
+// System.Security.Cryptography.ECKeyXmlFormat
+//
+// Copyright (C) 2011 Juho Vähä-Herttua
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Security.Cryptography {
+
+	public enum ECKeyXmlFormat {
+		Rfc4050
+	}
+}