You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -1,422 +0,0 @@
|
||||
2010-06-11 Jonathan Chambers <joncham@gmail.com>
|
||||
|
||||
* X509Certificate2Collection.cs: Add {} around default switch case.
|
||||
|
||||
2010-05-10 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* PublicKey.cs
|
||||
* X500DistinguishedName.cs:
|
||||
* X509BasicConstraintsExtension.cs:
|
||||
* X509Certificate2Collection.cs:
|
||||
* X509Certificate2.cs:
|
||||
* X509Certificate2Enumerator.cs:
|
||||
* X509Chain.cs:
|
||||
* X509ChainElementCollection.cs:
|
||||
* X509ChainElement.cs:
|
||||
* X509ChainElementEnumerator.cs:
|
||||
* X509ChainPolicy.cs:
|
||||
* X509ChainStatus.cs:
|
||||
* X509EnhancedKeyUsageExtension.cs:
|
||||
* X509ExtensionCollection.cs:
|
||||
* X509Extension.cs:
|
||||
* X509ExtensionEnumerator.cs:
|
||||
* X509KeyUsageExtension.cs:
|
||||
* X509KeyUsageFlags.cs:
|
||||
* X509NameType.cs:
|
||||
* X509Store.cs:
|
||||
* X509SubjectKeyIdentifierExtension.cs:
|
||||
Allow parts required to enable SSL to be built with
|
||||
the moonlight profile.
|
||||
* X509_2_1_bootstrap.cs: New. Ease bootstrapping 2.1
|
||||
|
||||
2010-04-06 Geoff Norton <gnorton@novell.com>
|
||||
|
||||
* OSX509Certificates.cs: Fix a crash when doing multiple certificate calls
|
||||
Fix a rare but possible leak.
|
||||
|
||||
2010-03-16 Jb Evain <jbevain@novell.com>
|
||||
|
||||
* X509Chain.cs: use MOONLIGHT symbol to disambiguate MonoTouch
|
||||
and Moonlight code.
|
||||
|
||||
2010-03-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||||
|
||||
* OSX509Certificates.cs: moved here from Mono.Security.
|
||||
|
||||
2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||||
|
||||
* X509Chain.cs: revert my last change here since it caused 2 tests to
|
||||
fail.
|
||||
|
||||
2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
|
||||
|
||||
* X509Certificate2.cs:
|
||||
* X509Chain.cs: changes to make everything compile with latest changes
|
||||
and fixed typo in IsChainComplete().
|
||||
|
||||
2008-06-26 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Allow password-less ctor to (try to) open
|
||||
PKCS#12 files (with an empty password).
|
||||
[Fix bug #403610]
|
||||
|
||||
2008-06-03 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Allow PrivateKey property to be set to null.
|
||||
[Fix bug #396620]
|
||||
|
||||
2008-05-18 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Chain.cs: Use String.IsNullOrEmpty inside 2.0 code.
|
||||
[Found using Gendarme]
|
||||
|
||||
2008-04-09 Gert Driesen <drieseng@users.sourceforge.net>
|
||||
|
||||
* X500DistinguishedName.cs: Fixed line endings.
|
||||
* X509Chain.cs: Fixed line endings.
|
||||
|
||||
2008-01-13 Gert Driesen <drieseng@users.sourceforge.net>
|
||||
|
||||
* X509Certificate2.cs: NotAfter and NotBefore must return local time.
|
||||
|
||||
2007-05-09 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Leave a small stub (PrivateKey property) if
|
||||
SECURITY_DEP isn't defined. This will let Mono.Security.dll build
|
||||
correctly under 2.0 while enabling the use of X509Certificate2 to add
|
||||
support for X.509 client certificates in SSL/TLS.
|
||||
|
||||
2006-12-07 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X500DistinguishedName.cs: Add an internal method to compare
|
||||
(canonized) DN so the class can be used in X509Chain.
|
||||
* X509Certificate2.cs: Expose the internal certificate (from Mono.
|
||||
Security.dll) as X509Certificate2 isn't complete enough to implement
|
||||
chaining.
|
||||
* X509Chain.cs: A (working) *subset( of RFC3280 path building and
|
||||
validation.
|
||||
* X509ChainElementCollection.cs: Add help method Contains and change
|
||||
Add not to require a flag parameter.
|
||||
* X509ChainElement.cs: Keeps flags compressed (as flags!) and add
|
||||
a method to uncompress them when validation is complete.
|
||||
* X509Store.cs: Expose the internal store (from Mono.Security.dll) as
|
||||
internal. Map Trust and Root as the same store (for compatibility).
|
||||
|
||||
2006-11-24 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Modified Verify to use CryptoConfig to create
|
||||
the X509Chain used to verify the certificate. This makes it possible
|
||||
to change the default chaining (certificate path creation and
|
||||
validation) algorithm.
|
||||
* X509Chain.cs: Started implementation based on the options and error
|
||||
codes defined. Work in progress (incomplete and needs a lot more test
|
||||
cases).
|
||||
* X509ChainElementCollection.cs: Added internal methods to Add and
|
||||
Clear the collection.
|
||||
* X509ChainElement.cs: Implemented, MonoTODO removed.
|
||||
* X509ChainPolicy.cs: Add missing checks on enum-based properties.
|
||||
Renamed fields to match guidelines.
|
||||
* X509ChainStatus.cs: Provide a default StatusInformation value based
|
||||
on the Status.
|
||||
|
||||
2006-11-22 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2Collection.cs: Remove comment that proved to be
|
||||
false (unit tests prove otherwise).
|
||||
* X509Store.cs: Integrate the new 2.0 stores with the existing stores
|
||||
that Mono used since 1.0.
|
||||
|
||||
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2Collection.cs: Implement Export (to DER encoded
|
||||
format), Find (for most X509FindType), Import (for single
|
||||
certificates), RemoveRange (but it's not transactional).
|
||||
* X509Certificate2.cs: Fix Reset method to reset every field.
|
||||
* X509ExtensionCollection.cs: Implement missing CopyTo. Fix exception
|
||||
handling to match new unit tests.
|
||||
* X509ExtensionEnumerator.cs: Fix recursion.
|
||||
* X509SubjectKeyIdentifierExtension.cs: Add support for ctors
|
||||
accepting a PublicKey instance.
|
||||
|
||||
2006-11-13 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Throw a CryptographicException for (most)
|
||||
properties if the certificate is "empty". Implement GetNameInfo for
|
||||
X509NameType.SimpleName, EmailName and DnsName. Add detection for
|
||||
X509ContentType.Pkcs7 in GetCertContentType.
|
||||
|
||||
2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X500DistinguishedName.cs: Fix most common cases. Some flags are
|
||||
still not supported.
|
||||
* X509Certificate2.cs: Fix importing PKCS#12 certificates (with keys)
|
||||
in some cases. Implement GetCertContentType for Cert, Pfx and Pkcs12.
|
||||
Implement ToString methods.
|
||||
* X509ExtensionCollection.cs: Add an internal ctor that can populate
|
||||
the collection from extensions coming from an Mono.Security.X509.
|
||||
X509Certificate. CryptoConfig is used to allow extensibility to the
|
||||
X509Extension class.
|
||||
|
||||
2006-10-08 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Ensure we can load certificates from read-only
|
||||
files (fix bug #79616).
|
||||
|
||||
2006-10-05 Andrew Skiba <andrews@mainsoft.com>
|
||||
|
||||
* X509CertificateCollection.cs: remove IEnumerable private imple-
|
||||
mentation to match MSDN.
|
||||
|
||||
2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
|
||||
|
||||
* X509Certificate2.cs : in .ctor(X509Certificate) call base copy .ctor()
|
||||
as well. Fixed bug #79455.
|
||||
|
||||
2006-09-12 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* PublicKey.cs: Never return the private key in the Key property, even
|
||||
if it was available when creating the public key.
|
||||
|
||||
2006-09-11 Atsushi Enomoto <atsushi@ximian.com>
|
||||
|
||||
* X509Certificate2.cs : implemented HasPrivateKey. Return null
|
||||
when the corresponding RSA or DSA has no private key.
|
||||
|
||||
2006-09-05 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: Call import in ctor to be sure the private key
|
||||
will be decoded. Last fix for #79269.
|
||||
|
||||
2006-08-02 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2.cs: A unrequired password can be supplied to the
|
||||
2.0 ctors. Fix bug #79028.
|
||||
|
||||
2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
|
||||
|
||||
* X509Certificate2.cs : .ctor(string, string) and .ctor(string,
|
||||
SecureString) should call proper base constructor method for each.
|
||||
Implemented IssuerName. Fixed bug #78986.
|
||||
|
||||
2006-03-11 Miguel de Icaza <miguel@novell.com>
|
||||
|
||||
* X509Chain.cs: Flagged member as internal to avoid unused warning.
|
||||
|
||||
* X500DistinguishedName.cs: Comment out unused names and move
|
||||
temporary unused variables inside the comments that were removed
|
||||
|
||||
2005-11-24 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X500DistinguishedName.cs: Added validation (still missing parsing).
|
||||
* X509Certificate2Enumerator.cs: Add missing IEnumerator.* methods.
|
||||
|
||||
2005-11-22 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* PublicKey.cs: Completed implementation for both RSA and DSA public
|
||||
keys.
|
||||
|
||||
2005-11-08 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* OpenFlags.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* StoreLocation.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* StoreName.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X500DistinguishedNameFlags.cs: Removed extra [Serializable] (!2.0).
|
||||
* X509ChainStatusFlags.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X509FindType.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X509IncludeOption.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X509RevocationFlag.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X509RevocationMode.cs: Removed extra [Serializable] (not in 2.0).
|
||||
* X509SubjectKeyIdentifierHashAlgorithm.cs: Removed extra
|
||||
[Serializable] (not in 2.0).
|
||||
* X509VerificationFlags.cs: Removed extra [Serializable] (not in 2.0).
|
||||
|
||||
2005-09-27 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Certificate2Collection.cs: Class is not sealed. Removed Select
|
||||
methods (moved to a new class in System.Security.dll).
|
||||
* X509Certificate2.cs: Removed Display methods (moved to a new class
|
||||
in System.Security.dll).
|
||||
* X509SelectionFlag.cs: Removed. This enum is still in System.Security
|
||||
* X509NameType.cs: Added new DnsFromAlternativeName value.
|
||||
|
||||
2005-09-26 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* All classes, except X509CertificateCollection, moved from
|
||||
System.Security.dll assembly as part of 2.0 RC changes.
|
||||
|
||||
2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509BasicConstraintsExtension.cs: Now throw ArgumentNullException in
|
||||
CopyFrom (fixed in beta2).
|
||||
* X509CertificateEx.cs: Throw a CryptographicException in the RawData
|
||||
property if no certificate is loaded in the instance.
|
||||
* X509EnhancedKeyUsageExtension.cs: Now throw ArgumentNullException in
|
||||
CopyFrom (fixed in beta2).
|
||||
* X509Extension.cs: Now throw ArgumentNullException in CopyFrom (fixed
|
||||
in beta2).
|
||||
* X509KeyUsageExtension.cs: Now throw ArgumentNullException in
|
||||
CopyFrom (fixed in beta2).
|
||||
* X509Store.cs: Re-added certificate creation to get the exception.
|
||||
* X509SubjectKeyIdentifierExtension.cs: Throw ArgumentNullException in
|
||||
CopyFrom (fixed in beta2). Fix SubjectKeyIdentifier to return an empty
|
||||
string (not null) after (unsucessful) decoding.
|
||||
|
||||
2005-04-26 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509CertificateEx.cs: Used new features from Mono.Security.dll to
|
||||
load certificates and private keys from PKCS#12.
|
||||
|
||||
2005-04-24 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509CertificateEx.cs: Added new constructors and Import methods that
|
||||
accept SecureString for passwords. Added new property HasPrivateKey and
|
||||
Verify method.
|
||||
* X509CertificateExCollection.cs: Added new constructor that accept a
|
||||
single X509Certificate2.
|
||||
* X509EnhancedKeyUsageExtension.cs: Fixed compiler warnings.
|
||||
* X509KeyUsageExtension.cs: Fixed new enum name for CrlSign.
|
||||
* X509KeyUsageFlags.cs: Fixed values and removed [Serializable].
|
||||
* X509NameType.cs: Fixed values and removed [Serializable].
|
||||
* X509Store.cs: Added new constructor that accept an IntPtr and the
|
||||
StoreHandle property. Fixed compiler warnings.
|
||||
|
||||
2005-04-23 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509CertificateEx.cs, X509CertificateExCollection.cs,
|
||||
X509CertificateExEnumerator.cs, X509Chain.cs, X509ChainElement.cs,
|
||||
X509ChainPolicy.cs, X509Store.cs: Changed all references of
|
||||
X509CertificateEx to X509Certificate2 to match beta2.
|
||||
|
||||
2005-01-17 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509BasicConstraintsExtension.cs: Completed implementation.
|
||||
* X509Chain.cs: Updated to Dec CTP definitions.
|
||||
* X509ChainPolicy.cs: Updated to Dec CTP definitions.
|
||||
* X500DistinguishedNameFlags.cs: Added new ForceUTF8Encoding.
|
||||
* X509EnhancedKeyUsageExtension.cs: New. Complete implementation.
|
||||
* X509Extension.cs: Completed implementation.
|
||||
* X509ExtensionCollection.cs: Updated to Dec CTP definitions.
|
||||
* X509KeyUsageExtension.cs: Completed implementation.
|
||||
* X509RevocationFlag.cs: Minus 1 on each member.
|
||||
* X509SubjectKeyIdentifierExtension.cs: Completed implementation
|
||||
except for the new constructor accepting a public key.
|
||||
* X509SubjectKeyIdentifierHashAlgorithm.cs: New enum.
|
||||
|
||||
2004-09-03 Tim Coleman <tim@timcoleman.com>
|
||||
* X509KeyUsageExtension.cs: New stub class
|
||||
* X509SubjectKeyIdentifierExtension.cs: New stub class
|
||||
* PublicKey.cs X509BasicConstraintsExtension.cs X509CertificateEx.cs
|
||||
* X509CertificateExCollection.cs X509Extension.cs
|
||||
* X509ExtensionCollection.cs:
|
||||
Bring these more in line with 2.0
|
||||
|
||||
2004-07-08 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* OpenFlags.cs: Fixed flags values. Added missing attributes.
|
||||
* StoreLocation.cs: Fixed enum values. Added missing [Serializable].
|
||||
* StoreName.cs: Fixed enum values. Added missing [Serializable].
|
||||
* X500DistinguishedName.cs: New. X.501 DN.
|
||||
* X500DistinguishedNameFlags.cs: New. X.501 DN flags.
|
||||
* X509CertificateEx.cs: Updated to Fx 2.0 beta 1. Added MonoTODO.
|
||||
* X509Chain.cs: Added missing Reset method.
|
||||
* X509ChainStatusFlags.cs: Fixed flags values. Added missing attrs.
|
||||
* X509Extension.cs: Fixed API.
|
||||
* X509ExtensionCollection.cs: Fixed API and implemented.
|
||||
* X509FindType.cs: Fixed enum values. Added missing [Serializable].
|
||||
* X509IncludeOption.cs: Added missing [Serializable].
|
||||
* X509KeyUsageFlags.cs: : Fixed flags values. Added missing attrs.
|
||||
* X509NameType.cs: Fixed enum values. Added missing [Serializable].
|
||||
* X509RevocationFlag.cs: Fixed enum values. Added missing [Serializable].
|
||||
* X509RevocationMode.cs: Added missing [Serializable].
|
||||
* X509SelectionFlag.cs: Added missing [Serializable].
|
||||
* X509VerificationFlags.cs: Fixed flags values. Added missing attrs.
|
||||
|
||||
2004-07-07 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509Store.cs: Removed old store code (as it has changed a lot in
|
||||
Mono.Security).
|
||||
|
||||
2004-06-05 Sebastien Pouliot <sebastien@ximian.com>
|
||||
|
||||
* X509CertificateCollection.cs: Fixed Contains which works by value
|
||||
(i.e. not by object reference). Fixed Remove for null and unexisting
|
||||
elements.
|
||||
|
||||
2003-12-07 Sebastien Pouliot <spouliot@videotron.ca>
|
||||
|
||||
* PublicKey.cs: New (1.2). Class that encapsulate an ASN.1 encoded
|
||||
public key.
|
||||
* X509BasicConstraintsExtension.cs: New (1.2). X.509 certification
|
||||
extension for BasicConstraints.
|
||||
* X509CertificateEx.cs: New (1.2). Augmented class to use X.509
|
||||
certificates.
|
||||
* X509CertificateExCollection.cs: New (1.2). Collection class for
|
||||
X509CertificateEx.
|
||||
* X509CertificateExEnumerator.cs: New (1.2). Enumerator class for
|
||||
X509CertificateEx.
|
||||
* X509ChainElement.cs: New (1.2). Information (certificate, status,
|
||||
informations) for a member of a certificate chain.
|
||||
* X509ChainElementCollection.cs: New (1.2). Collection class for
|
||||
X509ChainElement.
|
||||
* X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
|
||||
X509ChainElement.
|
||||
* X509ChainStatus.cs: New (1.2). Chain status (many can apply to a
|
||||
single X509ChainElement).
|
||||
* X509Extension.cs: New (1.2). Base class for all certificate
|
||||
extensions.
|
||||
* X509ExtensionCollection.cs: New (1.2). Collection class for
|
||||
X509Extension.
|
||||
* X509ExtensionEnumerator.cs: New (1.2). Enumerator class for
|
||||
X509Extension.
|
||||
|
||||
2003-11-08 Sebastien Pouliot <spouliot@videotron.ca>
|
||||
|
||||
* OpenFlags.cs: New (1.2). Enumeration for certificate stores.
|
||||
* StoreLocation.cs: New (1.2). Enumeration for certificate stores.
|
||||
* StoreName.cs: New (1.2). Enumeration for certificate stores.
|
||||
* X509Chain.cs: New (1.2). Class to build a certificate chain up to a
|
||||
trusted anchor.
|
||||
* X509ChainElement.cs: New (1.2). Element from the chain (certificate,
|
||||
status and information) - only stubbed for now.
|
||||
* X509ChainElementCollection.cs: New (1.2). Collection class for
|
||||
X509ChainElement.
|
||||
* X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
|
||||
X509ChainElement.
|
||||
* X509ChainPolicy.cs: New (1.2). Policy to build a certificate chain.
|
||||
* X509ChainStatusFlags.cs: New (1.2). Enumeration for chain status.
|
||||
* X509FindType.cs: New (1.2). Enumeration for how to find X.509
|
||||
certificates in stores.
|
||||
* X509IncludeOption.cs: New (1.2). Enumeration for options about which
|
||||
certificate(s) to store within a (pkcs7) structure.
|
||||
* X509KeyUsageFlags.cs: New (1.2). Enumeration for specifying valid
|
||||
usage for a keypair.
|
||||
* X509NameType.cs: New (1.2). Enumeration for different types of name
|
||||
that can be present inside a certificate.
|
||||
* X509RevocationFlag.cs: New (1.2). Enumeration for specifying which
|
||||
certificates should be verified for revocation in a chain.
|
||||
* X509RevocationMode.cs: New (1.2). Enumeration for specifying how the
|
||||
revocation process should find it's informations.
|
||||
* X509SelectionFlag.cs: New (1.2). Enumeration about how to select
|
||||
certificates (ui-related).
|
||||
* X509Store.cs: New (1.2). X.509 certificate store access - not complete.
|
||||
* X509VerificationFlags.cs: New (1.2). Enumeration for parameters
|
||||
affecting the verification of a certificate chain.
|
||||
|
||||
2003-03-01 Sebastien Pouliot <spouliot@videotron.ca>
|
||||
|
||||
* X509CertificateCollection.cs: Fixed bugs in AddRange
|
||||
(added the collection not the certificates in the collection).
|
||||
|
||||
2003-01-30 Sebastien Pouliot <spouliot@videotron.ca>
|
||||
|
||||
* X509CertificateCollection.cs: Replaced the use of the private
|
||||
ArrayList by the protected InnerList (from CollectionBase) so
|
||||
Count property now works.
|
||||
|
||||
2002-10-21 Miguel de Icaza <miguel@ximian.com>
|
||||
|
||||
* X509CertificateCollection.cs (Add): New method.
|
||||
|
||||
2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
|
||||
|
||||
* X509CertificateCollection.cs: implemented
|
||||
@@ -21,15 +21,8 @@
|
||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
#if SECURITY_DEP
|
||||
#if MONO_X509_ALIAS
|
||||
extern alias PrebuiltSystem;
|
||||
#endif
|
||||
|
||||
#if MONO_X509_ALIAS
|
||||
using XX509CertificateCollection = PrebuiltSystem::System.Security.Cryptography.X509Certificates.X509CertificateCollection;
|
||||
#else
|
||||
using XX509CertificateCollection = System.Security.Cryptography.X509Certificates.X509CertificateCollection;
|
||||
#endif
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
@@ -70,7 +70,10 @@ namespace System.Security.Cryptography.X509Certificates {
|
||||
|
||||
_oid = new Oid (oid, friendlyName);
|
||||
base.Critical = critical;
|
||||
_enhKeyUsage = enhancedKeyUsages.ReadOnlyCopy ();
|
||||
_enhKeyUsage = new OidCollection();
|
||||
foreach (Oid o in enhancedKeyUsages) {
|
||||
_enhKeyUsage.Add(o);
|
||||
}
|
||||
RawData = Encode ();
|
||||
}
|
||||
|
||||
@@ -81,10 +84,14 @@ namespace System.Security.Cryptography.X509Certificates {
|
||||
switch (_status) {
|
||||
case AsnDecodeStatus.Ok:
|
||||
case AsnDecodeStatus.InformationNotAvailable:
|
||||
if (_enhKeyUsage == null)
|
||||
_enhKeyUsage = new OidCollection ();
|
||||
_enhKeyUsage.ReadOnly = true;
|
||||
return _enhKeyUsage;
|
||||
|
||||
OidCollection oids = new OidCollection();
|
||||
if (_enhKeyUsage != null) {
|
||||
foreach(Oid o in _enhKeyUsage) {
|
||||
oids.Add(o);
|
||||
}
|
||||
}
|
||||
return oids;
|
||||
default:
|
||||
throw new CryptographicException ("Badly encoded extension.");
|
||||
}
|
||||
@@ -143,8 +150,8 @@ namespace System.Security.Cryptography.X509Certificates {
|
||||
internal byte[] Encode ()
|
||||
{
|
||||
ASN1 ex = new ASN1 (0x30);
|
||||
foreach (Oid oid in _enhKeyUsage) {
|
||||
ex.Add (ASN1Convert.FromOid (oid.Value));
|
||||
foreach (Oid o in _enhKeyUsage) {
|
||||
ex.Add (ASN1Convert.FromOid (o.Value));
|
||||
}
|
||||
return ex.GetBytes ();
|
||||
}
|
||||
|
||||
@@ -30,9 +30,6 @@
|
||||
#if MONO_SECURITY_ALIAS
|
||||
extern alias MonoSecurity;
|
||||
#endif
|
||||
#if MONO_X509_ALIAS
|
||||
extern alias PrebuiltSystem;
|
||||
#endif
|
||||
|
||||
#if MONO_SECURITY_ALIAS
|
||||
using MonoSecurity::Mono.Security.Interface;
|
||||
@@ -59,7 +56,7 @@ namespace System.Security.Cryptography.X509Certificates
|
||||
var provider = MonoTlsProviderFactory.GetProvider ();
|
||||
if (provider.HasNativeCertificates) {
|
||||
var impl = provider.GetNativeCertificate (rawData, password, keyStorageFlags);
|
||||
return (X509Certificate2Impl)(object)impl;
|
||||
return impl;
|
||||
} else {
|
||||
var impl = new X509Certificate2ImplMono ();
|
||||
impl.Import (rawData, password, keyStorageFlags);
|
||||
@@ -72,7 +69,7 @@ namespace System.Security.Cryptography.X509Certificates
|
||||
var provider = MonoTlsProviderFactory.GetProvider ();
|
||||
if (provider.HasNativeCertificates) {
|
||||
var impl = provider.GetNativeCertificate (cert);
|
||||
return (X509Certificate2Impl)(object)impl;
|
||||
return impl;
|
||||
}
|
||||
var impl2 = cert.Impl as X509Certificate2Impl;
|
||||
if (impl2 != null)
|
||||
|
||||
Reference in New Issue
Block a user