Socket
Socket
Sign inDemoInstall

webcrypto-core

Package Overview
Dependencies
Maintainers
2
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webcrypto-core - npm Package Compare versions

Comparing version 0.1.16 to 0.1.17

89

dist/webcrypto-core.es.js

@@ -0,9 +1,6 @@

// Copyright (c) 2017, Peculiar Ventures, All rights reserved.
import { __extends } from 'tslib';
import * as tslib_1 from 'tslib';
function printf(text) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
var msg = text;

@@ -40,5 +37,5 @@ var regFind = /[^%](%\d+)/g;

}
WebCryptoError.NOT_SUPPORTED = "Method is not supported";
return WebCryptoError;
}(Error));
WebCryptoError.NOT_SUPPORTED = "Method is not supported";
var AlgorithmError = (function (_super) {

@@ -51,10 +48,10 @@ __extends(AlgorithmError, _super);

}
AlgorithmError.PARAM_REQUIRED = "Algorithm hasn't got required paramter '%1'";
AlgorithmError.PARAM_WRONG_TYPE = "Algorithm has got wrong type for paramter '%1'. Must be %2";
AlgorithmError.PARAM_WRONG_VALUE = "Algorithm has got wrong value for paramter '%1'. Must be %2";
AlgorithmError.WRONG_ALG_NAME = "Algorithm has got wrong name '%1'. Must be '%2'";
AlgorithmError.UNSUPPORTED_ALGORITHM = "Algorithm '%1' is not supported";
AlgorithmError.WRONG_USAGE = "Algorithm doesn't support key usage '%1'";
return AlgorithmError;
}(WebCryptoError));
AlgorithmError.PARAM_REQUIRED = "Algorithm hasn't got required paramter '%1'";
AlgorithmError.PARAM_WRONG_TYPE = "Algorithm has got wrong type for paramter '%1'. Must be %2";
AlgorithmError.PARAM_WRONG_VALUE = "Algorithm has got wrong value for paramter '%1'. Must be %2";
AlgorithmError.WRONG_ALG_NAME = "Algorithm has got wrong name '%1'. Must be '%2'";
AlgorithmError.UNSUPPORTED_ALGORITHM = "Algorithm '%1' is not supported";
AlgorithmError.WRONG_USAGE = "Algorithm doesn't support key usage '%1'";
var CryptoKeyError = (function (_super) {

@@ -67,12 +64,12 @@ __extends(CryptoKeyError, _super);

}
CryptoKeyError.EMPTY_KEY = "CryptoKey is empty";
CryptoKeyError.WRONG_KEY_ALG = "CryptoKey has wrong algorithm '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_TYPE = "CryptoKey has wrong type '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_USAGE = "CryptoKey has wrong key usage. Must be '%1'";
CryptoKeyError.NOT_EXTRACTABLE = "CryptoKey is not extractable";
CryptoKeyError.WRONG_FORMAT = "CryptoKey has '%1' type. It can be used with '%2' format";
CryptoKeyError.UNKNOWN_FORMAT = "Unknown format in use '%1'. Must be one of 'raw', 'pkcs8', 'spki' or 'jwk'";
CryptoKeyError.ALLOWED_FORMAT = "Wrong format value '%1'. Must be %2";
return CryptoKeyError;
}(WebCryptoError));
CryptoKeyError.EMPTY_KEY = "CryptoKey is empty";
CryptoKeyError.WRONG_KEY_ALG = "CryptoKey has wrong algorithm '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_TYPE = "CryptoKey has wrong type '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_USAGE = "CryptoKey has wrong key usage. Must be '%1'";
CryptoKeyError.NOT_EXTRACTABLE = "CryptoKey is not extractable";
CryptoKeyError.WRONG_FORMAT = "CryptoKey has '%1' type. It can be used with '%2' format";
CryptoKeyError.UNKNOWN_FORMAT = "Unknown format in use '%1'. Must be one of 'raw', 'pkcs8', 'spki' or 'jwk'";
CryptoKeyError.ALLOWED_FORMAT = "Wrong format value '%1'. Must be %2";

@@ -369,6 +366,6 @@ function PrepareAlgorithm(alg) {

};
Aes.ALG_NAME = "";
Aes.KEY_USAGES = [];
return Aes;
}(BaseCrypto));
Aes.ALG_NAME = "";
Aes.KEY_USAGES = [];
var AesAlgorithmError = (function (_super) {

@@ -430,5 +427,5 @@ __extends(AesAlgorithmError, _super);

};
AesEncrypt.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
return AesEncrypt;
}(AesWrapKey));
AesEncrypt.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
var AesECB = (function (_super) {

@@ -439,5 +436,5 @@ __extends(AesECB, _super);

}
AesECB.ALG_NAME = AlgorithmNames.AesECB;
return AesECB;
}(AesEncrypt));
AesECB.ALG_NAME = AlgorithmNames.AesECB;
var AesCBC = (function (_super) {

@@ -460,5 +457,5 @@ __extends(AesCBC, _super);

};
AesCBC.ALG_NAME = AlgorithmNames.AesCBC;
return AesCBC;
}(AesEncrypt));
AesCBC.ALG_NAME = AlgorithmNames.AesCBC;
var AesCTR = (function (_super) {

@@ -481,5 +478,5 @@ __extends(AesCTR, _super);

};
AesCTR.ALG_NAME = AlgorithmNames.AesCTR;
return AesCTR;
}(AesEncrypt));
AesCTR.ALG_NAME = AlgorithmNames.AesCTR;
var AesGCM = (function (_super) {

@@ -512,5 +509,5 @@ __extends(AesGCM, _super);

};
AesGCM.ALG_NAME = AlgorithmNames.AesGCM;
return AesGCM;
}(AesEncrypt));
AesGCM.ALG_NAME = AlgorithmNames.AesGCM;
var AesKW = (function (_super) {

@@ -524,6 +521,6 @@ __extends(AesKW, _super);

};
AesKW.ALG_NAME = AlgorithmNames.AesKW;
AesKW.KEY_USAGES = ["wrapKey", "unwrapKey"];
return AesKW;
}(AesWrapKey));
AesKW.ALG_NAME = AlgorithmNames.AesKW;
AesKW.KEY_USAGES = ["wrapKey", "unwrapKey"];

@@ -641,6 +638,6 @@ var ShaAlgorithms = [AlgorithmNames.Sha1, AlgorithmNames.Sha256, AlgorithmNames.Sha384, AlgorithmNames.Sha512].join(" | ");

};
Ec.ALG_NAME = "";
Ec.KEY_USAGES = [];
return Ec;
}(BaseCrypto));
Ec.ALG_NAME = "";
Ec.KEY_USAGES = [];
var EcAlgorithmError = (function (_super) {

@@ -680,6 +677,6 @@ __extends(EcAlgorithmError, _super);

};
EcDSA.ALG_NAME = AlgorithmNames.EcDSA;
EcDSA.KEY_USAGES = ["sign", "verify", "deriveKey", "deriveBits"];
return EcDSA;
}(Ec));
EcDSA.ALG_NAME = AlgorithmNames.EcDSA;
EcDSA.KEY_USAGES = ["sign", "verify", "deriveKey", "deriveBits"];
var EcDH = (function (_super) {

@@ -731,6 +728,6 @@ __extends(EcDH, _super);

};
EcDH.ALG_NAME = AlgorithmNames.EcDH;
EcDH.KEY_USAGES = ["deriveKey", "deriveBits"];
return EcDH;
}(Ec));
EcDH.ALG_NAME = AlgorithmNames.EcDH;
EcDH.KEY_USAGES = ["deriveKey", "deriveBits"];

@@ -812,6 +809,6 @@ var Hmac = (function (_super) {

};
Hmac.ALG_NAME = AlgorithmNames.Hmac;
Hmac.KEY_USAGES = ["sign", "verify"];
return Hmac;
}(BaseCrypto));
Hmac.ALG_NAME = AlgorithmNames.Hmac;
Hmac.KEY_USAGES = ["sign", "verify"];

@@ -906,6 +903,6 @@ var Pbkdf2 = (function (_super) {

};
Pbkdf2.ALG_NAME = AlgorithmNames.Pbkdf2;
Pbkdf2.KEY_USAGES = ["deriveKey", "deriveBits"];
return Pbkdf2;
}(BaseCrypto));
Pbkdf2.ALG_NAME = AlgorithmNames.Pbkdf2;
Pbkdf2.KEY_USAGES = ["deriveKey", "deriveBits"];

@@ -1011,6 +1008,6 @@ var RsaKeyGenParamsError = (function (_super) {

};
Rsa.ALG_NAME = "";
Rsa.KEY_USAGES = [];
return Rsa;
}(BaseCrypto));
Rsa.ALG_NAME = "";
Rsa.KEY_USAGES = [];
var RsaSSA = (function (_super) {

@@ -1037,6 +1034,6 @@ __extends(RsaSSA, _super);

};
RsaSSA.ALG_NAME = AlgorithmNames.RsaSSA;
RsaSSA.KEY_USAGES = ["sign", "verify"];
return RsaSSA;
}(Rsa));
RsaSSA.ALG_NAME = AlgorithmNames.RsaSSA;
RsaSSA.KEY_USAGES = ["sign", "verify"];
var RsaPSSParamsError = (function (_super) {

@@ -1066,5 +1063,5 @@ __extends(RsaPSSParamsError, _super);

};
RsaPSS.ALG_NAME = AlgorithmNames.RsaPSS;
return RsaPSS;
}(RsaSSA));
RsaPSS.ALG_NAME = AlgorithmNames.RsaPSS;
var RsaOAEPParamsError = (function (_super) {

@@ -1126,6 +1123,6 @@ __extends(RsaOAEPParamsError, _super);

};
RsaOAEP.ALG_NAME = AlgorithmNames.RsaOAEP;
RsaOAEP.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
return RsaOAEP;
}(Rsa));
RsaOAEP.ALG_NAME = AlgorithmNames.RsaOAEP;
RsaOAEP.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];

@@ -1132,0 +1129,0 @@ var SubtleCrypto = (function () {

@@ -0,1 +1,3 @@

// Copyright (c) 2017, Peculiar Ventures, All rights reserved.
'use strict';

@@ -8,6 +10,2 @@

function printf(text) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
var msg = text;

@@ -44,5 +42,5 @@ var regFind = /[^%](%\d+)/g;

}
WebCryptoError.NOT_SUPPORTED = "Method is not supported";
return WebCryptoError;
}(Error));
WebCryptoError.NOT_SUPPORTED = "Method is not supported";
var AlgorithmError = (function (_super) {

@@ -55,10 +53,10 @@ tslib_1.__extends(AlgorithmError, _super);

}
AlgorithmError.PARAM_REQUIRED = "Algorithm hasn't got required paramter '%1'";
AlgorithmError.PARAM_WRONG_TYPE = "Algorithm has got wrong type for paramter '%1'. Must be %2";
AlgorithmError.PARAM_WRONG_VALUE = "Algorithm has got wrong value for paramter '%1'. Must be %2";
AlgorithmError.WRONG_ALG_NAME = "Algorithm has got wrong name '%1'. Must be '%2'";
AlgorithmError.UNSUPPORTED_ALGORITHM = "Algorithm '%1' is not supported";
AlgorithmError.WRONG_USAGE = "Algorithm doesn't support key usage '%1'";
return AlgorithmError;
}(WebCryptoError));
AlgorithmError.PARAM_REQUIRED = "Algorithm hasn't got required paramter '%1'";
AlgorithmError.PARAM_WRONG_TYPE = "Algorithm has got wrong type for paramter '%1'. Must be %2";
AlgorithmError.PARAM_WRONG_VALUE = "Algorithm has got wrong value for paramter '%1'. Must be %2";
AlgorithmError.WRONG_ALG_NAME = "Algorithm has got wrong name '%1'. Must be '%2'";
AlgorithmError.UNSUPPORTED_ALGORITHM = "Algorithm '%1' is not supported";
AlgorithmError.WRONG_USAGE = "Algorithm doesn't support key usage '%1'";
var CryptoKeyError = (function (_super) {

@@ -71,12 +69,12 @@ tslib_1.__extends(CryptoKeyError, _super);

}
CryptoKeyError.EMPTY_KEY = "CryptoKey is empty";
CryptoKeyError.WRONG_KEY_ALG = "CryptoKey has wrong algorithm '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_TYPE = "CryptoKey has wrong type '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_USAGE = "CryptoKey has wrong key usage. Must be '%1'";
CryptoKeyError.NOT_EXTRACTABLE = "CryptoKey is not extractable";
CryptoKeyError.WRONG_FORMAT = "CryptoKey has '%1' type. It can be used with '%2' format";
CryptoKeyError.UNKNOWN_FORMAT = "Unknown format in use '%1'. Must be one of 'raw', 'pkcs8', 'spki' or 'jwk'";
CryptoKeyError.ALLOWED_FORMAT = "Wrong format value '%1'. Must be %2";
return CryptoKeyError;
}(WebCryptoError));
CryptoKeyError.EMPTY_KEY = "CryptoKey is empty";
CryptoKeyError.WRONG_KEY_ALG = "CryptoKey has wrong algorithm '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_TYPE = "CryptoKey has wrong type '%1'. Must be '%2'";
CryptoKeyError.WRONG_KEY_USAGE = "CryptoKey has wrong key usage. Must be '%1'";
CryptoKeyError.NOT_EXTRACTABLE = "CryptoKey is not extractable";
CryptoKeyError.WRONG_FORMAT = "CryptoKey has '%1' type. It can be used with '%2' format";
CryptoKeyError.UNKNOWN_FORMAT = "Unknown format in use '%1'. Must be one of 'raw', 'pkcs8', 'spki' or 'jwk'";
CryptoKeyError.ALLOWED_FORMAT = "Wrong format value '%1'. Must be %2";

@@ -373,6 +371,6 @@ function PrepareAlgorithm(alg) {

};
Aes.ALG_NAME = "";
Aes.KEY_USAGES = [];
return Aes;
}(BaseCrypto));
Aes.ALG_NAME = "";
Aes.KEY_USAGES = [];
var AesAlgorithmError = (function (_super) {

@@ -434,5 +432,5 @@ tslib_1.__extends(AesAlgorithmError, _super);

};
AesEncrypt.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
return AesEncrypt;
}(AesWrapKey));
AesEncrypt.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
var AesECB = (function (_super) {

@@ -443,5 +441,5 @@ tslib_1.__extends(AesECB, _super);

}
AesECB.ALG_NAME = AlgorithmNames.AesECB;
return AesECB;
}(AesEncrypt));
AesECB.ALG_NAME = AlgorithmNames.AesECB;
var AesCBC = (function (_super) {

@@ -464,5 +462,5 @@ tslib_1.__extends(AesCBC, _super);

};
AesCBC.ALG_NAME = AlgorithmNames.AesCBC;
return AesCBC;
}(AesEncrypt));
AesCBC.ALG_NAME = AlgorithmNames.AesCBC;
var AesCTR = (function (_super) {

@@ -485,5 +483,5 @@ tslib_1.__extends(AesCTR, _super);

};
AesCTR.ALG_NAME = AlgorithmNames.AesCTR;
return AesCTR;
}(AesEncrypt));
AesCTR.ALG_NAME = AlgorithmNames.AesCTR;
var AesGCM = (function (_super) {

@@ -516,5 +514,5 @@ tslib_1.__extends(AesGCM, _super);

};
AesGCM.ALG_NAME = AlgorithmNames.AesGCM;
return AesGCM;
}(AesEncrypt));
AesGCM.ALG_NAME = AlgorithmNames.AesGCM;
var AesKW = (function (_super) {

@@ -528,6 +526,6 @@ tslib_1.__extends(AesKW, _super);

};
AesKW.ALG_NAME = AlgorithmNames.AesKW;
AesKW.KEY_USAGES = ["wrapKey", "unwrapKey"];
return AesKW;
}(AesWrapKey));
AesKW.ALG_NAME = AlgorithmNames.AesKW;
AesKW.KEY_USAGES = ["wrapKey", "unwrapKey"];

@@ -645,6 +643,6 @@ var ShaAlgorithms = [AlgorithmNames.Sha1, AlgorithmNames.Sha256, AlgorithmNames.Sha384, AlgorithmNames.Sha512].join(" | ");

};
Ec.ALG_NAME = "";
Ec.KEY_USAGES = [];
return Ec;
}(BaseCrypto));
Ec.ALG_NAME = "";
Ec.KEY_USAGES = [];
var EcAlgorithmError = (function (_super) {

@@ -684,6 +682,6 @@ tslib_1.__extends(EcAlgorithmError, _super);

};
EcDSA.ALG_NAME = AlgorithmNames.EcDSA;
EcDSA.KEY_USAGES = ["sign", "verify", "deriveKey", "deriveBits"];
return EcDSA;
}(Ec));
EcDSA.ALG_NAME = AlgorithmNames.EcDSA;
EcDSA.KEY_USAGES = ["sign", "verify", "deriveKey", "deriveBits"];
var EcDH = (function (_super) {

@@ -735,6 +733,6 @@ tslib_1.__extends(EcDH, _super);

};
EcDH.ALG_NAME = AlgorithmNames.EcDH;
EcDH.KEY_USAGES = ["deriveKey", "deriveBits"];
return EcDH;
}(Ec));
EcDH.ALG_NAME = AlgorithmNames.EcDH;
EcDH.KEY_USAGES = ["deriveKey", "deriveBits"];

@@ -816,6 +814,6 @@ var Hmac = (function (_super) {

};
Hmac.ALG_NAME = AlgorithmNames.Hmac;
Hmac.KEY_USAGES = ["sign", "verify"];
return Hmac;
}(BaseCrypto));
Hmac.ALG_NAME = AlgorithmNames.Hmac;
Hmac.KEY_USAGES = ["sign", "verify"];

@@ -910,6 +908,6 @@ var Pbkdf2 = (function (_super) {

};
Pbkdf2.ALG_NAME = AlgorithmNames.Pbkdf2;
Pbkdf2.KEY_USAGES = ["deriveKey", "deriveBits"];
return Pbkdf2;
}(BaseCrypto));
Pbkdf2.ALG_NAME = AlgorithmNames.Pbkdf2;
Pbkdf2.KEY_USAGES = ["deriveKey", "deriveBits"];

@@ -1015,6 +1013,6 @@ var RsaKeyGenParamsError = (function (_super) {

};
Rsa.ALG_NAME = "";
Rsa.KEY_USAGES = [];
return Rsa;
}(BaseCrypto));
Rsa.ALG_NAME = "";
Rsa.KEY_USAGES = [];
var RsaSSA = (function (_super) {

@@ -1041,6 +1039,6 @@ tslib_1.__extends(RsaSSA, _super);

};
RsaSSA.ALG_NAME = AlgorithmNames.RsaSSA;
RsaSSA.KEY_USAGES = ["sign", "verify"];
return RsaSSA;
}(Rsa));
RsaSSA.ALG_NAME = AlgorithmNames.RsaSSA;
RsaSSA.KEY_USAGES = ["sign", "verify"];
var RsaPSSParamsError = (function (_super) {

@@ -1070,5 +1068,5 @@ tslib_1.__extends(RsaPSSParamsError, _super);

};
RsaPSS.ALG_NAME = AlgorithmNames.RsaPSS;
return RsaPSS;
}(RsaSSA));
RsaPSS.ALG_NAME = AlgorithmNames.RsaPSS;
var RsaOAEPParamsError = (function (_super) {

@@ -1130,6 +1128,6 @@ tslib_1.__extends(RsaOAEPParamsError, _super);

};
RsaOAEP.ALG_NAME = AlgorithmNames.RsaOAEP;
RsaOAEP.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];
return RsaOAEP;
}(Rsa));
RsaOAEP.ALG_NAME = AlgorithmNames.RsaOAEP;
RsaOAEP.KEY_USAGES = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];

@@ -1136,0 +1134,0 @@ var SubtleCrypto = (function () {

@@ -0,0 +0,0 @@ declare type NativeCrypto = Crypto;

{
"name": "webcrypto-core",
"version": "0.1.16",
"version": "0.1.17",
"description": "Common layer to be used by crypto libraries based on WebCrypto API for input validation.",

@@ -12,3 +12,4 @@ "main": "dist/webcrypto-core.js",

"scripts": {
"build": "npm run build:es5",
"prepare": "npm run build",
"build": "npm run build:dist",
"build:es5": "rollup -c",

@@ -20,3 +21,3 @@ "build:map": "rollup -c -m",

"test": "mocha test",
"prepub": "npm run build:dist",
"prepub": "npm run build",
"pub": "npm version patch && npm publish && git push",

@@ -27,6 +28,3 @@ "precoverage": "npm run build:map",

"coveragehtml": "nyc report -r html",
"watch": "watch 'npm run coveragehtml' lib/ test/",
"live": "live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage",
"predev": "if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi",
"dev": "npm-run-all -p --silent watch live",
"coveralls": "nyc report --reporter=text-lcov | coveralls"

@@ -48,15 +46,12 @@ },

"dependencies": {
"@types/node": "^6",
"tslib": "^1.5.0"
"tslib": "^1.7.1"
},
"devDependencies": {
"coveralls": "^2",
"live-server": "^1",
"npm-run-all": "^3",
"@types/node": "^8",
"coveralls": "^2.13.1",
"mocha": "^3.5.0",
"nyc": "^8",
"mocha": "^3.2.0",
"rollup": "^0.41.4",
"rollup": "^0.49.2",
"rollup-plugin-typescript": "^0.8.1",
"typescript": "^2.1.5",
"watch": "^0"
"typescript": "^2.5.2"
},

@@ -68,3 +63,4 @@ "author": "PeculiarVentures",

},
"homepage": "https://github.com/PeculiarVentures/webcrypto-core#readme"
"homepage": "https://github.com/PeculiarVentures/webcrypto-core#readme",
"banner": "// Copyright (c) 2017, Peculiar Ventures, All rights reserved."
}

@@ -0,0 +0,0 @@ [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/PeculiarVentures/webcrypto-core/master/LICENSE)

@@ -0,0 +0,0 @@ var webcrypto = require("../");

@@ -0,0 +0,0 @@ var Base64Url = require("../").Base64Url;

@@ -0,0 +0,0 @@ var webcrypto = require("../");

@@ -0,0 +0,0 @@ var helper = require("./helper");

@@ -0,0 +0,0 @@ var subtle = new (require("../").SubtleCrypto);

@@ -0,0 +0,0 @@ var webcrypto = require("../");

@@ -0,0 +0,0 @@ var webcrypto = require("../");

@@ -0,0 +0,0 @@ var helper = require("./helper");

@@ -0,0 +0,0 @@ var helper = require("./helper");

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ /// <reference path="../index.d.ts" />

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc