Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / crypto / tls / TLSConfig.as
1 /**\r
2  * TLSConfig\r
3  * \r
4  * A set of configuration parameters for use by a TLSSocket or a TLSEngine.\r
5  * Most parameters are optional and will be set to appropriate default values for most use.\r
6  * \r
7  * Copyright (c) 2007 Henri Torgemane\r
8  * \r
9  * See LICENSE.txt for full license information.\r
10  */\r
11 package com.hurlant.crypto.tls {\r
12         import flash.utils.ByteArray;\r
13         import com.hurlant.util.der.PEM;\r
14         import com.hurlant.crypto.rsa.RSAKey;\r
15         import com.hurlant.crypto.cert.X509CertificateCollection;\r
16         import com.hurlant.crypto.cert.MozillaRootCertificates;\r
17         \r
18         public class TLSConfig {\r
19                 public var entity:uint; // SERVER | CLIENT\r
20                 \r
21                 public var certificate:ByteArray;\r
22                 public var privateKey:RSAKey;\r
23                 \r
24                 public var cipherSuites:Array;\r
25                 \r
26                 public var compressions:Array;\r
27                 public var ignoreCommonNameMismatch:Boolean = false;\r
28                 public var trustAllCertificates:Boolean = false;\r
29                 public var trustSelfSignedCertificates:Boolean = false;\r
30                 public var promptUserForAcceptCert:Boolean = false;\r
31                 public var CAStore:X509CertificateCollection;\r
32                 public var localKeyStore:X509CertificateCollection;\r
33                 public var version:uint;\r
34                 \r
35                 public function TLSConfig(      entity:uint, cipherSuites:Array = null, compressions:Array = null, \r
36                                                                         certificate:ByteArray = null, privateKey:RSAKey = null, CAStore:X509CertificateCollection = null, ver:uint = 0x00) {\r
37                         this.entity = entity;\r
38                         this.cipherSuites = cipherSuites;\r
39                         this.compressions = compressions;\r
40                         this.certificate = certificate;\r
41                         this.privateKey = privateKey;\r
42                         this.CAStore = CAStore;\r
43                         this.version = ver;\r
44                         // default settings.\r
45                         if (cipherSuites==null) {\r
46                                 this.cipherSuites = CipherSuites.getDefaultSuites();\r
47                         }\r
48                         if (compressions==null) {\r
49                                 this.compressions = [TLSSecurityParameters.COMPRESSION_NULL];\r
50                         }\r
51                         \r
52                         if (CAStore==null) {\r
53                                 this.CAStore = new MozillaRootCertificates;\r
54                         }\r
55                         \r
56                         if (ver==0x00) {\r
57                                 // Default to TLS\r
58                                 this.version = TLSSecurityParameters.PROTOCOL_VERSION;\r
59                         } \r
60                 }\r
61                 \r
62                 public function setPEMCertificate(cert:String, key:String = null):void {\r
63                         if (key == null) {\r
64                                 key = cert; // for folks who like to concat those two in one file.\r
65                         }\r
66                         certificate = PEM.readCertIntoArray(cert);\r
67                         privateKey = PEM.readRSAPrivateKey(key);\r
68                 }\r
69         }\r
70 }\r