Imported Upstream version 4.6.0.150

Former-commit-id: 73e3bb1e96dd09dc931c1dfe559d2c7f7b8b02c7
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-23 13:20:38 +00:00
parent 02ac915603
commit b95516a3dd
239 changed files with 4096 additions and 1544 deletions

View File

@ -0,0 +1,89 @@
//
// ECCurve.cs
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
//
// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
//
// 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.
//
#if NETSTANDARD
namespace System.Security.Cryptography
{
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct ECCurve
{
public byte[] A;
public byte[] B;
public byte[] Cofactor;
public ECCurveType CurveType;
public ECPoint G;
public HashAlgorithmName? Hash;
public byte[] Order;
public byte[] Polynomial;
public byte[] Prime;
public byte[] Seed;
public bool IsCharacteristic2 { get { throw new NotImplementedException (); } }
public bool IsExplicit { get { throw new NotImplementedException (); } }
public bool IsNamed { get { throw new NotImplementedException (); } }
public bool IsPrime { get { throw new NotImplementedException (); } }
public Oid Oid { get { throw new NotImplementedException (); } }
public static ECCurve CreateFromFriendlyName (string oidFriendlyName) { throw new NotImplementedException (); }
public static ECCurve CreateFromOid (Oid curveOid) { throw new NotImplementedException (); }
public static ECCurve CreateFromValue (string oidValue) { throw new NotImplementedException (); }
public void Validate () { throw new NotImplementedException (); }
public enum ECCurveType
{
Implicit = 0,
PrimeShortWeierstrass = 1,
PrimeTwistedEdwards = 2,
PrimeMontgomery = 3,
Characteristic2 = 4,
Named = 5,
}
public static class NamedCurves
{
public static ECCurve brainpoolP160r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP160t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP192r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP192t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP224r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP224t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP256r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP256t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP320r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP320t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP384r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP384t1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP512r1 { get { throw new NotImplementedException (); } }
public static ECCurve brainpoolP512t1 { get { throw new NotImplementedException (); } }
public static ECCurve nistP256 { get { throw new NotImplementedException (); } }
public static ECCurve nistP384 { get { throw new NotImplementedException (); } }
public static ECCurve nistP521 { get { throw new NotImplementedException (); } }
}
}
}
#endif

View File

@ -0,0 +1,43 @@
//
// ECPArameters.cs
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
//
// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
//
// 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.
//
#if NETSTANDARD
namespace System.Security.Cryptography
{
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct ECParameters
{
public ECCurve Curve;
public byte[] D;
public ECPoint Q;
public void Validate () { throw new NotImplementedException (); }
}
}
#endif

View File

@ -0,0 +1,41 @@
//
// ECPoint.cs
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
//
// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
//
// 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.
//
#if NETSTANDARD
namespace System.Security.Cryptography
{
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct ECPoint
{
public byte[] X;
public byte[] Y;
}
}
#endif

View File

@ -0,0 +1,46 @@
//
// IncrementalHash.cs
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
//
// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com)
//
// 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.
//
#if NETSTANDARD
namespace System.Security.Cryptography
{
public sealed class IncrementalHash : IDisposable
{
private IncrementalHash () { }
public HashAlgorithmName AlgorithmName { get { throw new NotImplementedException (); } }
public void AppendData (byte[] data) { }
public void AppendData (byte[] data, int offset, int count) { }
public static IncrementalHash CreateHash (HashAlgorithmName hashAlgorithm) { throw new NotImplementedException (); }
public static IncrementalHash CreateHMAC (HashAlgorithmName hashAlgorithm, byte[] key) { throw new NotImplementedException (); }
public void Dispose () { }
public byte[] GetHashAndReset () { throw new NotImplementedException (); }
}
}
#endif