You've already forked linux-packaging-mono
Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
parent
1190d13a04
commit
6bdd276d05
251
mcs/class/System/Mono.AppleTls/SecureTransport.cs
Normal file
251
mcs/class/System/Mono.AppleTls/SecureTransport.cs
Normal file
@ -0,0 +1,251 @@
|
||||
#if MONO_FEATURE_APPLETLS
|
||||
// Copyright 2014 Xamarin Inc. All rights reserved.
|
||||
|
||||
namespace Mono.AppleTls {
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslProtocol {
|
||||
Unknown = 0,
|
||||
// Ssl_3_0 = 2,
|
||||
Tls_1_0 = 4,
|
||||
Tls_1_1 = 7,
|
||||
Tls_1_2 = 8,
|
||||
// Dtls_1_0 = 9,
|
||||
|
||||
/* Obsolete on iOS */
|
||||
// Ssl_2_0 = 1,
|
||||
// Ssl_3_0_only = 3,
|
||||
// Tls_1_0_only = 5,
|
||||
// All = 6,
|
||||
}
|
||||
|
||||
// subset of OSStatus (int)
|
||||
enum SslStatus {
|
||||
Success = 0, // errSecSuccess in SecBase.h
|
||||
Protocol = -9800,
|
||||
Negotiation = -9801,
|
||||
FatalAlert = -9802,
|
||||
WouldBlock = -9803,
|
||||
SessionNotFound = -9804,
|
||||
ClosedGraceful = -9805,
|
||||
ClosedAbort = -9806,
|
||||
XCertChainInvalid = -9807,
|
||||
BadCert = -9808,
|
||||
Crypto = -9809,
|
||||
Internal = -9810,
|
||||
ModuleAttach = -9811,
|
||||
UnknownRootCert = -9812,
|
||||
NoRootCert = -9813,
|
||||
CertExpired = -9814,
|
||||
CertNotYetValid = -9815,
|
||||
ClosedNotNotified = -9816,
|
||||
BufferOverflow = -9817,
|
||||
BadCipherSuite = -9818,
|
||||
PeerUnexpectedMsg = -9819,
|
||||
PeerBadRecordMac = -9820,
|
||||
PeerDecryptionFail = -9821,
|
||||
PeerRecordOverflow = -9822,
|
||||
PeerDecompressFail = -9823,
|
||||
PeerHandshakeFail = -9824,
|
||||
PeerBadCert = -9825,
|
||||
PeerUnsupportedCert = -9826,
|
||||
PeerCertRevoked = -9827,
|
||||
PeerCertExpired = -9828,
|
||||
PeerCertUnknown = -9829,
|
||||
IllegalParam = -9830,
|
||||
PeerUnknownCA = -9831,
|
||||
PeerAccessDenied = -9832,
|
||||
PeerDecodeError = -9833,
|
||||
PeerDecryptError = -9834,
|
||||
PeerExportRestriction = -9835,
|
||||
PeerProtocolVersion = -9836,
|
||||
PeerInsufficientSecurity = -9837,
|
||||
PeerInternalError = -9838,
|
||||
PeerUserCancelled = -9839,
|
||||
PeerNoRenegotiation = -9840,
|
||||
PeerAuthCompleted = -9841, // non fatal
|
||||
PeerClientCertRequested = -9842, // non fatal
|
||||
HostNameMismatch = -9843,
|
||||
ConnectionRefused = -9844,
|
||||
DecryptionFail = -9845,
|
||||
BadRecordMac = -9846,
|
||||
RecordOverflow = -9847,
|
||||
BadConfiguration = -9848,
|
||||
UnexpectedRecord = -9849,
|
||||
SSLWeakPeerEphemeralDHKey = -9850,
|
||||
SSLClientHelloReceived = -9851 // non falta
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslSessionOption {
|
||||
BreakOnServerAuth,
|
||||
BreakOnCertRequested,
|
||||
BreakOnClientAuth,
|
||||
|
||||
// FalseStart,
|
||||
|
||||
// SendOneByteRecord,
|
||||
|
||||
// AllowServerIdentityChange = 5,
|
||||
|
||||
// Fallback = 6,
|
||||
|
||||
// BreakOnClientHello = 7,
|
||||
|
||||
// AllowRenegotiation = 8,
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslAuthenticate {
|
||||
// Never,
|
||||
// Always,
|
||||
Try = 2,
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslProtocolSide {
|
||||
Server,
|
||||
Client,
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslConnectionType {
|
||||
Stream,
|
||||
// Datagram
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslSessionState {
|
||||
Invalid = -1,
|
||||
// Idle,
|
||||
// Handshake,
|
||||
// Connected,
|
||||
// Closed,
|
||||
// Aborted
|
||||
}
|
||||
|
||||
// Security.framework/Headers/SecureTransport.h
|
||||
// untyped enum
|
||||
enum SslClientCertificateState {
|
||||
None,
|
||||
Requested,
|
||||
Sent,
|
||||
Rejected
|
||||
}
|
||||
|
||||
// Security.framework/Headers/CipherSuite.h
|
||||
// 32 bits (uint32_t) on OSX, 16 bits (uint16_t) on iOS
|
||||
#if XAMMAC || XAMMAC_4_5
|
||||
enum SslCipherSuite : uint {
|
||||
#else
|
||||
enum SslCipherSuite : ushort {
|
||||
#endif
|
||||
// DO NOT RENAME VALUES - they don't look good but we need them to keep compatibility with our System.dll code
|
||||
// it's how it's defined across most SSL/TLS implementation (from RFC)
|
||||
|
||||
SSL_NULL_WITH_NULL_NULL = 0x0000, // value used before (not after) negotiation
|
||||
TLS_NULL_WITH_NULL_NULL = 0x0000,
|
||||
|
||||
// Not the whole list (too much unneeed metadata) but only what's supported
|
||||
// FIXME needs to be expended with OSX 10.9
|
||||
|
||||
SSL_RSA_WITH_NULL_MD5 = 0x0001,
|
||||
SSL_RSA_WITH_NULL_SHA = 0x0002,
|
||||
SSL_RSA_EXPORT_WITH_RC4_40_MD5 = 0x0003, // iOS 5.1 only
|
||||
SSL_RSA_WITH_RC4_128_MD5 = 0x0004,
|
||||
SSL_RSA_WITH_RC4_128_SHA = 0x0005,
|
||||
SSL_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A,
|
||||
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016,
|
||||
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 = 0x0017, // iOS 5.1 only
|
||||
SSL_DH_anon_WITH_RC4_128_MD5 = 0x0018,
|
||||
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x001B,
|
||||
|
||||
// TLS - identical values to SSL (above)
|
||||
|
||||
TLS_RSA_WITH_NULL_MD5 = 0x0001,
|
||||
TLS_RSA_WITH_NULL_SHA = 0x0002,
|
||||
TLS_RSA_WITH_RC4_128_MD5 = 0x0004,
|
||||
TLS_RSA_WITH_RC4_128_SHA = 0x0005,
|
||||
TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A,
|
||||
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016,
|
||||
TLS_DH_anon_WITH_RC4_128_MD5 = 0x0018,
|
||||
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x001B,
|
||||
|
||||
// TLS specific
|
||||
|
||||
TLS_PSK_WITH_NULL_SHA = 0x002C,
|
||||
TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F,
|
||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033,
|
||||
TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x0034,
|
||||
TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035,
|
||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039,
|
||||
TLS_DH_anon_WITH_AES_256_CBC_SHA = 0x003A,
|
||||
TLS_RSA_WITH_NULL_SHA256 = 0x003B,
|
||||
TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C,
|
||||
TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D,
|
||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067,
|
||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B,
|
||||
TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 0x006C,
|
||||
TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 0x006D,
|
||||
TLS_PSK_WITH_RC4_128_SHA = 0x008A,
|
||||
TLS_PSK_WITH_3DES_EDE_CBC_SHA = 0x008B,
|
||||
TLS_PSK_WITH_AES_128_CBC_SHA = 0x008C,
|
||||
TLS_PSK_WITH_AES_256_CBC_SHA = 0x008D,
|
||||
|
||||
TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C, // iOS 9+
|
||||
TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D, // iOS 9+
|
||||
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E, // iOS 9+
|
||||
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F, // iOS 9+
|
||||
|
||||
TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 0x00A6, // iOS 5.1 only
|
||||
TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 0x00A7, // iOS 5.1 only
|
||||
TLS_PSK_WITH_AES_128_CBC_SHA256 = 0x00AE,
|
||||
TLS_PSK_WITH_AES_256_CBC_SHA384 = 0x00AF,
|
||||
TLS_PSK_WITH_NULL_SHA256 = 0x00B0,
|
||||
TLS_PSK_WITH_NULL_SHA384 = 0x00B1,
|
||||
TLS_ECDH_ECDSA_WITH_NULL_SHA = 0xC001,
|
||||
TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 0xC002,
|
||||
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC003,
|
||||
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 0xC004,
|
||||
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 0xC005,
|
||||
TLS_ECDHE_ECDSA_WITH_NULL_SHA = 0xC006,
|
||||
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 0xC007,
|
||||
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC008,
|
||||
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009,
|
||||
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A,
|
||||
TLS_ECDH_RSA_WITH_NULL_SHA = 0xC00B,
|
||||
TLS_ECDH_RSA_WITH_RC4_128_SHA = 0xC00C,
|
||||
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 0xC00D,
|
||||
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 0xC00E,
|
||||
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 0xC00F,
|
||||
TLS_ECDHE_RSA_WITH_NULL_SHA = 0xC010,
|
||||
TLS_ECDHE_RSA_WITH_RC4_128_SHA = 0xC011,
|
||||
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 0xC012,
|
||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013,
|
||||
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014,
|
||||
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023,
|
||||
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024,
|
||||
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC025,
|
||||
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC026,
|
||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027,
|
||||
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028,
|
||||
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 0xC029,
|
||||
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 0xC02A,
|
||||
|
||||
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B, // iOS 9+
|
||||
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C, // iOS 9+
|
||||
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02D, // iOS 9+
|
||||
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02E, // iOS 9+
|
||||
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F, // iOS 9+
|
||||
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030, // iOS 9+
|
||||
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 0xC031, // iOS 9+
|
||||
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 0xC032, // iOS 9+
|
||||
}
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user