dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Class Library (pnetlib)


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Class Library (pnetlib) branch, master, updated. eb7778dc2f2635a3280ff1a946cd566c83bddd47
Date: Sun, 14 Mar 2010 18:44:34 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "DotGNU Portable.NET Class Library (pnetlib)".

The branch, master has been updated
       via  eb7778dc2f2635a3280ff1a946cd566c83bddd47 (commit)
      from  48da4b9633e5e9d900d66afdc464a0600652a925 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/pnetlib.git/commit/?id=eb7778dc2f2635a3280ff1a946cd566c83bddd47

commit eb7778dc2f2635a3280ff1a946cd566c83bddd47
Author: Klaus Treichel <address@hidden>
Date:   Sun Mar 14 19:44:08 2010 +0100

    Add some 2.x classes.

diff --git a/ChangeLog b/ChangeLog
index 3edcdec..e3b3756 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2010-03-14  Klaus Treichel  <address@hidden>
+
+       * System/Net/Security/AuthenticationLevel.cs,
+       System/Net/Security/LocalCertificateSelectionCallback.cs,
+       System/Net/Security/ProtectionLevel.cs,
+       System/Net/Security/SslPolicyErrors.cs: Add some 2.x enumerations and
+       delegates.
+
+       System/Security/Oid.cs,
+       System/Security/Cryptography/X509Certificates/OpenFlags.cs,
+       System/Security/Cryptography/X509Certificates/StoreLocation.cs,
+       System/Security/Cryptography/X509Certificates/StoreName.cs,
+       System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.cs,
+       System/Security/Cryptography/X509Certificates/X509FindType.cs,
+       System/Security/Cryptography/X509Certificates/X509IncludeOption.cs,
+       System/Security/Cryptography/X509Certificates/X509KeyUsageFlags.cs,
+       System/Security/Cryptography/X509Certificates/X509NameType.cs,
+       System/Security/Cryptography/X509Certificates/X509RevocationFlag.cs,
+       System/Security/Cryptography/X509Certificates/X509RevocationMode.cs,
+       
System/Security/Cryptography/X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs,
+       System/Security/Cryptography/X509Certificates/X509VerificationFlags.cs:
+       Add some 2.x enumerations and classes.
+
+       * runtime/System/Security/SecureString.cs: Added
+
 2010-03-01  Heiko Weiss  <address@hidden>
        
        * System.Windows.Forms/ScrollableControl.cs: removed workaround for 
diff --git a/System/Net/Security/AuthenticationLevel.cs 
b/System/Net/Security/AuthenticationLevel.cs
new file mode 100755
index 0000000..18ddf12
--- /dev/null
+++ b/System/Net/Security/AuthenticationLevel.cs
@@ -0,0 +1,36 @@
+/*
+ * AuthenticationLevel.cs - Implementation of the
+ *                                                     
"System.Net.Security.AuthenticationLevel" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Net.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+public enum AuthenticationLevel
+{
+       None                            = 0,
+       MutualAuthRequested     = 1,
+       MutualAuthRequired      = 2
+}; // enum AuthenticationLevel
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+}; // namespace System.Net.Security
diff --git a/System/Net/Security/LocalCertificateSelectionCallback.cs 
b/System/Net/Security/LocalCertificateSelectionCallback.cs
new file mode 100755
index 0000000..ff1f20e
--- /dev/null
+++ b/System/Net/Security/LocalCertificateSelectionCallback.cs
@@ -0,0 +1,37 @@
+/*
+ * LocalCertificateSelectionCallback.cs - Implementation of the
+ *                             
"System.Net.Security.LocalCertificateSelectionCallback" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Net.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+using System.Security.Cryptography.X509Certificates;
+
+public delegate X509Certificate LocalCertificateSelectionCallback(Object 
sender,
+                                                                               
                                                  String targetHost,
+                                                                               
                                                  X509CertificateCollection 
localCertificates,
+                                                                               
                                                  X509Certificate 
remoteCertificate,
+                                                                               
                                                  String[] acceptableIssuers);
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Net.Security
diff --git a/System/Net/Security/ProtectionLevel.cs 
b/System/Net/Security/ProtectionLevel.cs
new file mode 100755
index 0000000..ad72cdc
--- /dev/null
+++ b/System/Net/Security/ProtectionLevel.cs
@@ -0,0 +1,36 @@
+/*
+ * ProtectionLevel.cs - Implementation of the
+ *                                                     
"System.Net.Security.ProtectionLevel" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Net.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+public enum ProtectionLevel
+{
+       None                    = 0,
+       Sign                    = 1,
+       EncryptAndSign  = 2
+}; // enum ProtectionLevel
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+}; // namespace System.Net.Security
diff --git a/System/Net/Security/SslPolicyErrors.cs 
b/System/Net/Security/SslPolicyErrors.cs
new file mode 100755
index 0000000..01a21a6
--- /dev/null
+++ b/System/Net/Security/SslPolicyErrors.cs
@@ -0,0 +1,38 @@
+/*
+ * SslPolicyErrors.cs - Implementation of the
+ *                                                     
"System.Net.Security.SslPolicyErrors" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Net.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+[Flags]
+public enum SslPolicyErrors
+{
+       None                                                    = 0,
+       RemoteCertificateNotAvailable   = 1,
+       RemoteCertificateNameMismatch   = 2,
+       RemoteCertificateChainErrors    = 4
+}; // enum SslPolicyErrors
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+}; // namespace System.Net.Security
diff --git a/System/Security/Cryptography/X509Certificates/OpenFlags.cs 
b/System/Security/Cryptography/X509Certificates/OpenFlags.cs
new file mode 100755
index 0000000..9fd9586
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/OpenFlags.cs
@@ -0,0 +1,39 @@
+/*
+ * OpenFlags.cs - Implementation of the
+ *                     
"System.Security.Cryptography.X509Certificates.OpenFlags" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+[Flags]
+public enum OpenFlags
+{
+       ReadOnly                                = 0,
+       ReadWrite                               = 1,
+       MaxAllowed                              = 2,
+       OpenExistingOnly                = 4,
+       IncludeArchived                 = 8
+}; // enum OpenFlags
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/StoreLocation.cs 
b/System/Security/Cryptography/X509Certificates/StoreLocation.cs
new file mode 100755
index 0000000..83be678
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/StoreLocation.cs
@@ -0,0 +1,35 @@
+/*
+ * StoreLocation.cs - Implementation of the
+ *             "System.Security.Cryptography.X509Certificates.StoreLocation" 
class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum StoreLocation
+{
+       CurrentUser                             = 1,
+       LocalMachine                    = 2
+}; // enum StoreLocation
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/StoreName.cs 
b/System/Security/Cryptography/X509Certificates/StoreName.cs
new file mode 100755
index 0000000..69b41ef
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/StoreName.cs
@@ -0,0 +1,41 @@
+/*
+ * StoreName.cs - Implementation of the
+ *             "System.Security.Cryptography.X509Certificates.StoreName" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum StoreName
+{
+       AddressBook                             = 1,
+       AuthRoot                                = 2,
+       CertificateAuthority    = 3,
+       Disallowed                              = 4,
+       My                                              = 5,
+       Root                                    = 6,
+       TrustedPeople                   = 7,
+       TrustedPublisher                = 8
+}; // enum StoreName
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git 
a/System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.cs 
b/System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.cs
new file mode 100755
index 0000000..529f166
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.cs
@@ -0,0 +1,57 @@
+/*
+ * X509ChainStatusFlags.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509ChainStatusFlags" 
class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+[Flags]
+public enum X509ChainStatusFlags
+{
+       NoError                                                 = 0x00000000,
+       NotTimeValid                                    = 0x00000001,
+       NotTimeNested                                   = 0x00000002,
+       Revoked                                                 = 0x00000004,
+       NotSignatureValid                               = 0x00000008,
+       NotValidForUsage                                = 0x00000010,
+       UntrustedRoot                                   = 0x00000020,
+       RevocationStatusUnknown                 = 0x00000040,
+       Cyclic                                                  = 0x00000080,
+       InvalidExtension                                = 0x00000100,
+       InvalidPolicyConstraints                = 0x00000200,
+       InvalidBasicConstraints                 = 0x00000400,
+       InvalidNameConstraints                  = 0x00000800,
+       HasNotSupportedNameConstraint   = 0x00001000,
+       HasNotDefinedNameConstraint             = 0x00002000,
+       HasNotPermittedNameConstraint   = 0x00004000,
+       HasExcludeNameConstraint                = 0x00008000,
+       PartialChain                                    = 0x00010000,
+       CtlNotTimeValid                                 = 0x00020000,
+       CtlNotSignatureValid                    = 0x00040000,
+       CtlNotValidForUsage                             = 0x00080000,
+       OfflineRevocation                               = 0x01000000,
+       NoIssuanceChainPolicy                   = 0x02000000
+}; // enum X509ChainStatusFlags
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/X509FindType.cs 
b/System/Security/Cryptography/X509Certificates/X509FindType.cs
new file mode 100755
index 0000000..db2f0c2
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509FindType.cs
@@ -0,0 +1,48 @@
+/*
+ * X509FindType.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509FindType" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509FindType
+{
+       FindByThumbprint                                = 0,
+       FindBySubjectName                               = 1,
+       FindBySubjectDistinguishedName  = 2,
+       FindByIssuerName                                = 3,
+       FindByIssuerDistinguishedName   = 4,
+       FindBySerialNumber                              = 5,
+       FindByTimeValid                                 = 6,
+       FindByTimeNotYetValid                   = 7,
+       FindByTimeExpired                               = 8,
+       FindByTemplateName                              = 9,
+       FindByApplicationPolicy                 = 10,
+       FindByCertificatePolicy                 = 11,
+       FindByExtension                                 = 12,
+       FindByKeyUsage                                  = 13,
+       FindBySubjectKeyIdentifier              = 14
+}; // enum X509FindType
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/X509IncludeOption.cs 
b/System/Security/Cryptography/X509Certificates/X509IncludeOption.cs
new file mode 100755
index 0000000..bc0d863
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509IncludeOption.cs
@@ -0,0 +1,37 @@
+/*
+ * X509IncludeOption.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509IncludeOption" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509IncludeOption
+{
+       None            = 0,
+       ExcludeRoot     = 1,
+       EndCertOnly     = 2,
+       WholeChain      = 3
+}; // enum X509IncludeOption
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/X509KeyUsageFlags.cs 
b/System/Security/Cryptography/X509Certificates/X509KeyUsageFlags.cs
new file mode 100755
index 0000000..95fee40
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509KeyUsageFlags.cs
@@ -0,0 +1,44 @@
+/*
+ * X509KeyUsageFlags.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509KeyUsageFlags" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+[Flags]
+public enum X509KeyUsageFlags
+{
+       None                            = 0x0000,
+       EncipherOnly            = 0x0001,
+       CrlSign                         = 0x0002,
+       KeyCertSign                     = 0x0004,
+       KeyAgreement            = 0x0008,
+       DataEncipherment        = 0x0010,
+       KeyEncipherment         = 0x0020,
+       NonRepudiation          = 0x0040,
+       DigitalSignature        = 0x0080,
+       DecipherOnly            = 0x8000,
+}; // enum X509KeyUsageFlags
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Cryptography/X509Certificates/X509NameType.cs 
b/System/Security/Cryptography/X509Certificates/X509NameType.cs
new file mode 100755
index 0000000..cb0688d
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509NameType.cs
@@ -0,0 +1,39 @@
+/*
+ * X509NameType.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509NameType" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509NameType
+{
+       SimpleName                              = 0,
+       EmailName                               = 1,
+       UpnName                                 = 2,
+       DnsName                                 = 3,
+       DnsFromAlternativeName  = 4,
+       UrlName                                 = 5
+}; // enum X509NameType
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git 
a/System/Security/Cryptography/X509Certificates/X509RevocationFlag.cs 
b/System/Security/Cryptography/X509Certificates/X509RevocationFlag.cs
new file mode 100755
index 0000000..7b570ca
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509RevocationFlag.cs
@@ -0,0 +1,36 @@
+/*
+ * X509RevocationFlag.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509RevocationFlag" 
class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509RevocationFlag
+{
+       EndCertificateOnly      = 0,
+       EntireChain                     = 1,
+       ExcludeRoot                     = 2
+}; // enum X509RevocationFlag
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git 
a/System/Security/Cryptography/X509Certificates/X509RevocationMode.cs 
b/System/Security/Cryptography/X509Certificates/X509RevocationMode.cs
new file mode 100755
index 0000000..dd04234
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509RevocationMode.cs
@@ -0,0 +1,36 @@
+/*
+ * X509RevocationMode.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509RevocationMode" 
class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509RevocationMode
+{
+       NoCheck = 0,
+       Online  = 1,
+       Offline = 2
+}; // enum X509RevocationMode
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git 
a/System/Security/Cryptography/X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs
 
b/System/Security/Cryptography/X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs
new file mode 100755
index 0000000..6c98043
--- /dev/null
+++ 
b/System/Security/Cryptography/X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs
@@ -0,0 +1,36 @@
+/*
+ * X509SubjectKeyIdentifierHashAlgorithm.cs - Implementation of the
+ *     
"System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierHashAlgorithm"
 class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+public enum X509SubjectKeyIdentifierHashAlgorithm
+{
+       Sha1            = 0,
+       ShortSha1       = 1,
+       CapiSha1        = 2
+}; // enum X509SubjectKeyIdentifierHashAlgorithm
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git 
a/System/Security/Cryptography/X509Certificates/X509VerificationFlags.cs 
b/System/Security/Cryptography/X509Certificates/X509VerificationFlags.cs
new file mode 100755
index 0000000..9ef91b2
--- /dev/null
+++ b/System/Security/Cryptography/X509Certificates/X509VerificationFlags.cs
@@ -0,0 +1,48 @@
+/*
+ * X509VerificationFlags.cs - Implementation of the
+ *     "System.Security.Cryptography.X509Certificates.X509VerificationFlags" 
class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security.Cryptography.X509Certificates
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+[Flags]
+public enum X509VerificationFlags
+{
+       NoFlag                                                                  
        = 0x0000,
+       IgnoreNotTimeValid                                                      
= 0x0001,
+       IgnoreCtlNotTimeValid                                           = 
0x0002,
+       IgnoreNotTimeNested                                                     
= 0x0004,
+       IgnoreInvalidBasicConstraints                           = 0x0008,
+       AllowUnknownCertificateAuthority                        = 0x0010,
+       IgnoreWrongUsage                                                        
= 0x0020,
+       IgnoreInvalidName                                                       
= 0x0040,
+       IgnoreInvalidPolicy                                                     
= 0x0080,
+       IgnoreEndRevocationUnknown                                      = 
0x0100,
+       IgnoreCtlSignerRevocationUnknown                        = 0x0200,
+       IgnoreCertificateAuthorityRevocationUnknown     = 0x0400,
+       IgnoreRootRevocationUnknown                                     = 
0x0800,
+       AllFlags                                                                
        = 0x0FFF
+}; // enum X509VerificationFlags
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT && CONFIG_X509_CERTIFICATES
+
+}; // namespace System.Security.Cryptography.X509Certificates
diff --git a/System/Security/Oid.cs b/System/Security/Oid.cs
new file mode 100644
index 0000000..3835453
--- /dev/null
+++ b/System/Security/Oid.cs
@@ -0,0 +1,87 @@
+/*
+ * Oid.cs - Implementation of the "System.Security.Oid" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+public sealed class Oid
+{
+       // Internal state.
+       private String value;
+       private String friendlyName;
+
+       // Constructors.
+       public Oid()
+       {
+       }
+
+       public Oid(Oid oid)
+       {
+               if(oid == null)
+               {
+                       throw new ArgumentNullException("oid");
+               }
+               this.value = oid.value;
+               this.friendlyName = oid.friendlyName;
+       }
+
+       public Oid(String oid)
+       {
+               this.value = oid;
+       }
+
+       public Oid(String value, String friendlyName)
+       {
+               this.value = value;
+               this.friendlyName = friendlyName;
+       }
+
+       // Get this object's properties.
+       public String FriendlyName
+       {
+               get
+               {
+                       return this.friendlyName;
+               }
+               set
+               {
+                       this.friendlyName = value;
+               }
+       }
+
+       public String Value
+       {
+               get
+               {
+                       return this.value;
+               }
+               set
+               {
+                       this.value = value;
+               }
+       }
+
+}; // class Oid
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+}; // namespace System.Security
diff --git a/runtime/System/Security/SecureString.cs 
b/runtime/System/Security/SecureString.cs
new file mode 100644
index 0000000..d15483f
--- /dev/null
+++ b/runtime/System/Security/SecureString.cs
@@ -0,0 +1,265 @@
+/*
+ * SecureString.cs - Implementation of the
+ *                                     "System.Security.SecureString" class.
+ *
+ * Copyright (C) 2010  Southern Storm Software, Pty Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+namespace System.Security
+{
+
+#if CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+using System.Runtime.ConstrainedExecution;
+
+public sealed class SecureString : CriticalFinalizerObject, IDisposable
+{
+       // Some constants used internally
+       private const int maxLength = 65536;
+
+       // Internal state.
+       private String value;
+       private bool isReadOnly;
+       private bool isDisposed;
+
+       // Constructors.
+       private SecureString(String value)
+       {
+               this.value = value;
+       }
+
+       public SecureString()
+       {
+               value = String.Empty;
+       }
+
+       public unsafe SecureString(char *value, int length)
+       {
+               if(value != null)
+               {
+                       if(length == 0)
+                       {
+                               this.value = String.Empty;
+                       }
+                       else if((length > 0) && (length <= maxLength))
+                       {
+                               this.value = new String(value, 0, length);
+                       }
+                       else
+                       {
+                               throw new ArgumentOutOfRangeException("length");
+                       }
+               }
+               else
+               {
+                       throw new ArgumentNullException("value");
+               }
+       }
+
+       // Get the length of the secure string.
+       public int Length
+       {
+               get
+               {
+                       return value.Length;
+               }
+       }
+
+       // Append a character to the secure string.
+       public void AppendChar(char c)
+       {
+               if(!isDisposed)
+               {
+                       if(!isReadOnly)
+                       {
+                               if(value.Length < maxLength)
+                               {
+                                       value += c;
+                               }
+                               else
+                               {
+                                       throw new ArgumentOutOfRangeException();
+                               }
+                       }
+                       else
+                       {
+                               throw new InvalidOperationException();
+                       }
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       // Clear the value of the secure string.
+       public void Clear()
+       {
+               if(!isDisposed)
+               {
+                       if(!isReadOnly)
+                       {
+                               value = String.Empty;
+                       }
+                       else
+                       {
+                               throw new InvalidOperationException();
+                       }
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       // Create a copy of this secure string.
+       public SecureString Copy()
+       {
+               if(!isDisposed)
+               {
+                       return new SecureString(this.value);
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       // Dispose this secure string
+       public void Dispose()
+       {
+               this.isDisposed = true;
+       }
+
+       public void InsertAt(int index, char c)
+       {
+               if(!isDisposed)
+               {
+                       if(!isReadOnly)
+                       {
+                               if(value.Length < maxLength)
+                               {
+                                       if(index == 0)
+                                       {
+                                               value = new String(c, 1) + 
this.value;
+                                       }
+                                       else if((index > 0) && (index < 
this.value.Length))
+                                       {
+                                               this.value = 
value.Insert(index, new String(c, 1));
+                                       }
+                                       else if(index == this.value.Length)
+                                       {
+                                               this.value += c;
+                                       }
+                               }
+                               else
+                               {
+                                       throw new 
ArgumentOutOfRangeException("index");
+                               }
+                       }
+                       else
+                       {
+                               throw new InvalidOperationException();
+                       }
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       public bool IsReadOnly()
+       {
+               if(!isDisposed)
+               {
+                       return isReadOnly;
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       public void MakeReadOnly()
+       {
+               if(!isDisposed)
+               {
+                       this.isReadOnly = true;
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       public void RemoveAt(int index)
+       {
+               if(!isDisposed)
+               {
+                       if(!isReadOnly)
+                       {
+                               if((index >= 0) && (index < this.value.Length))
+                               {
+                                       this.value = value.Remove(index, 1);
+                               }
+                               else
+                               {
+                                       throw new 
ArgumentOutOfRangeException("index");
+                               }
+                       }
+                       else
+                       {
+                               throw new InvalidOperationException();
+                       }
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+       public void SetAt(int index, char c)
+       {
+               if(!isDisposed)
+               {
+                       if(!isReadOnly)
+                       {
+                               if((index >= 0) && (index < this.value.Length))
+                               {
+                                       this.value.SetChar(index, c);
+                               }
+                               else
+                               {
+                                       throw new 
ArgumentOutOfRangeException("index");
+                               }
+                       }
+                       else
+                       {
+                               throw new InvalidOperationException();
+                       }
+               }
+               else
+               {
+                       throw new ObjectDisposedException("SecureString");
+               }
+       }
+
+}; // class SecureString
+
+#endif // CONFIG_FRAMEWORK_2_0 && !ECMA_COMPAT
+
+}; // namespace System.Security

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   25 ++
 System/Net/Security/AuthenticationLevel.cs         |   36 +++
 .../Security/LocalCertificateSelectionCallback.cs  |   37 +++
 System/Net/Security/ProtectionLevel.cs             |   36 +++
 System/Net/Security/SslPolicyErrors.cs             |   38 +++
 .../Cryptography/X509Certificates/OpenFlags.cs     |   39 +++
 .../Cryptography/X509Certificates/StoreLocation.cs |   35 +++
 .../Cryptography/X509Certificates/StoreName.cs     |   41 +++
 .../X509Certificates/X509ChainStatusFlags.cs       |   57 +++++
 .../Cryptography/X509Certificates/X509FindType.cs  |   48 ++++
 .../X509Certificates/X509IncludeOption.cs          |   37 +++
 .../X509Certificates/X509KeyUsageFlags.cs          |   44 ++++
 .../Cryptography/X509Certificates/X509NameType.cs  |   39 +++
 .../X509Certificates/X509RevocationFlag.cs         |   36 +++
 .../X509Certificates/X509RevocationMode.cs         |   36 +++
 .../X509SubjectKeyIdentifierHashAlgorithm.cs       |   36 +++
 .../X509Certificates/X509VerificationFlags.cs      |   48 ++++
 System/Security/Oid.cs                             |   87 +++++++
 runtime/System/Security/SecureString.cs            |  265 ++++++++++++++++++++
 19 files changed, 1020 insertions(+), 0 deletions(-)
 create mode 100755 System/Net/Security/AuthenticationLevel.cs
 create mode 100755 System/Net/Security/LocalCertificateSelectionCallback.cs
 create mode 100755 System/Net/Security/ProtectionLevel.cs
 create mode 100755 System/Net/Security/SslPolicyErrors.cs
 create mode 100755 System/Security/Cryptography/X509Certificates/OpenFlags.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/StoreLocation.cs
 create mode 100755 System/Security/Cryptography/X509Certificates/StoreName.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509FindType.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509IncludeOption.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509KeyUsageFlags.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509NameType.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509RevocationFlag.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509RevocationMode.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs
 create mode 100755 
System/Security/Cryptography/X509Certificates/X509VerificationFlags.cs
 create mode 100644 System/Security/Oid.cs
 create mode 100644 runtime/System/Security/SecureString.cs


hooks/post-receive
-- 
DotGNU Portable.NET Class Library (pnetlib)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]