From 4b0866fb10774644e2976a439c27889f720de12a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juho=20V=C3=A4h=C3=A4-Herttua?= Date: Wed, 16 Feb 2011 21:32:28 +0200 Subject: [PATCH] =?UTF-8?q?2011-02-16=20=20Juho=20V=C3=A4h=C3=A4-Herttua?= =?UTF-8?q?=20=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * CngExportPolicies.cs: New. * CngKeyCreationOptions.cs: New. * CngKeyOpenOptions.cs: New. * CngKeyUsages.cs: New. * CngPropertyOptions.cs: New. * CngUIProtectionLevels.cs: New. * ECDiffieHellmanKeyDerivationFunction.cs: New. * ECKeyXmlFormat.cs: New. --- .../System.Security.Cryptography/ChangeLog | 11 +++++ .../CngExportPolicies.cs | 40 +++++++++++++++++++ .../CngKeyCreationOptions.cs | 38 ++++++++++++++++++ .../CngKeyOpenOptions.cs | 39 ++++++++++++++++++ .../CngKeyUsages.cs | 40 +++++++++++++++++++ .../CngPropertyOptions.cs | 38 ++++++++++++++++++ .../CngUIProtectionLevels.cs | 38 ++++++++++++++++++ .../ECDiffieHellmanKeyDerivationFunction.cs | 35 ++++++++++++++++ .../ECKeyXmlFormat.cs | 33 +++++++++++++++ 9 files changed, 312 insertions(+) create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngExportPolicies.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngKeyCreationOptions.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngKeyOpenOptions.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngKeyUsages.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngPropertyOptions.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/CngUIProtectionLevels.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/ECDiffieHellmanKeyDerivationFunction.cs create mode 100644 mcs/class/System.Core/System.Security.Cryptography/ECKeyXmlFormat.cs diff --git a/mcs/class/System.Core/System.Security.Cryptography/ChangeLog b/mcs/class/System.Core/System.Security.Cryptography/ChangeLog index aef59b427ec3..1961e657e12c 100644 --- a/mcs/class/System.Core/System.Security.Cryptography/ChangeLog +++ b/mcs/class/System.Core/System.Security.Cryptography/ChangeLog @@ -1,3 +1,14 @@ +2011-02-16 Juho Vähä-Herttua + + * 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 * Aes.cs: Build here before NET_4_0 (or MOONLIGHT) otherwise diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngExportPolicies.cs b/mcs/class/System.Core/System.Security.Cryptography/CngExportPolicies.cs new file mode 100644 index 000000000000..90a1aa5a4f15 --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngKeyCreationOptions.cs b/mcs/class/System.Core/System.Security.Cryptography/CngKeyCreationOptions.cs new file mode 100644 index 000000000000..da28e7bf58a8 --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngKeyOpenOptions.cs b/mcs/class/System.Core/System.Security.Cryptography/CngKeyOpenOptions.cs new file mode 100644 index 000000000000..dcc3289f09b4 --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngKeyUsages.cs b/mcs/class/System.Core/System.Security.Cryptography/CngKeyUsages.cs new file mode 100644 index 000000000000..35f1d432768a --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngPropertyOptions.cs b/mcs/class/System.Core/System.Security.Cryptography/CngPropertyOptions.cs new file mode 100644 index 000000000000..336d26a1158e --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/CngUIProtectionLevels.cs b/mcs/class/System.Core/System.Security.Cryptography/CngUIProtectionLevels.cs new file mode 100644 index 000000000000..22f417891d0b --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/ECDiffieHellmanKeyDerivationFunction.cs b/mcs/class/System.Core/System.Security.Cryptography/ECDiffieHellmanKeyDerivationFunction.cs new file mode 100644 index 000000000000..a2a9880457e8 --- /dev/null +++ b/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 + } +} diff --git a/mcs/class/System.Core/System.Security.Cryptography/ECKeyXmlFormat.cs b/mcs/class/System.Core/System.Security.Cryptography/ECKeyXmlFormat.cs new file mode 100644 index 000000000000..3ed291007228 --- /dev/null +++ b/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 + } +}