/js/lib/Socket.IO-node/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as
ActionScript | 70 lines | 50 code | 8 blank | 12 comment | 6 complexity | e1ae1f100da110731c30ca4e6a322aa2 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1, MPL-2.0-no-copyleft-exception, BSD-3-Clause
- /**
- * TLSConfig
- *
- * A set of configuration parameters for use by a TLSSocket or a TLSEngine.
- * Most parameters are optional and will be set to appropriate default values for most use.
- *
- * Copyright (c) 2007 Henri Torgemane
- *
- * See LICENSE.txt for full license information.
- */
- package com.hurlant.crypto.tls {
- import flash.utils.ByteArray;
- import com.hurlant.util.der.PEM;
- import com.hurlant.crypto.rsa.RSAKey;
- import com.hurlant.crypto.cert.X509CertificateCollection;
- import com.hurlant.crypto.cert.MozillaRootCertificates;
-
- public class TLSConfig {
- public var entity:uint; // SERVER | CLIENT
-
- public var certificate:ByteArray;
- public var privateKey:RSAKey;
-
- public var cipherSuites:Array;
-
- public var compressions:Array;
- public var ignoreCommonNameMismatch:Boolean = false;
- public var trustAllCertificates:Boolean = false;
- public var trustSelfSignedCertificates:Boolean = false;
- public var promptUserForAcceptCert:Boolean = false;
- public var CAStore:X509CertificateCollection;
- public var localKeyStore:X509CertificateCollection;
- public var version:uint;
-
- public function TLSConfig( entity:uint, cipherSuites:Array = null, compressions:Array = null,
- certificate:ByteArray = null, privateKey:RSAKey = null, CAStore:X509CertificateCollection = null, ver:uint = 0x00) {
- this.entity = entity;
- this.cipherSuites = cipherSuites;
- this.compressions = compressions;
- this.certificate = certificate;
- this.privateKey = privateKey;
- this.CAStore = CAStore;
- this.version = ver;
- // default settings.
- if (cipherSuites==null) {
- this.cipherSuites = CipherSuites.getDefaultSuites();
- }
- if (compressions==null) {
- this.compressions = [TLSSecurityParameters.COMPRESSION_NULL];
- }
-
- if (CAStore==null) {
- this.CAStore = new MozillaRootCertificates;
- }
-
- if (ver==0x00) {
- // Default to TLS
- this.version = TLSSecurityParameters.PROTOCOL_VERSION;
- }
- }
-
- public function setPEMCertificate(cert:String, key:String = null):void {
- if (key == null) {
- key = cert; // for folks who like to concat those two in one file.
- }
- certificate = PEM.readCertIntoArray(cert);
- privateKey = PEM.readRSAPrivateKey(key);
- }
- }
- }