@@ -286,6 +286,16 @@ var PS = {};
286286 exports["p384"] = p384;
287287 exports["p521"] = p521;
288288})(PS["Crypto.Subtle.Constants.EC"] = PS["Crypto.Subtle.Constants.EC"] || {});
289+(function(exports) {
290+ // Generated by purs version 0.12.0
291+ "use strict";
292+ var rsaPSS = "RSA-PSS";
293+ var rsaPKCS1 = "RSASSA-PKCS1-v1_5";
294+ var rsaOAEP = "RSA-OAEP";
295+ exports["rsaPKCS1"] = rsaPKCS1;
296+ exports["rsaPSS"] = rsaPSS;
297+ exports["rsaOAEP"] = rsaOAEP;
298+})(PS["Crypto.Subtle.Constants.RSA"] = PS["Crypto.Subtle.Constants.RSA"] || {});
289299(function(exports) {
290300 "use strict";
291301
@@ -1699,6 +1709,7 @@ var PS = {};
16991709 exports.generateKeyImpl = function generateKeyImpl (a,e,u) {
17001710 return crypto.subtle.generateKey(a,e,u);
17011711 };
1712+ exports.exp65537 = new Uint8Array([0x01,0x00,0x01]);
17021713})(PS["Crypto.Subtle.Key.Generate"] = PS["Crypto.Subtle.Key.Generate"] || {});
17031714(function(exports) {
17041715 // Generated by purs version 0.12.0
@@ -1714,6 +1725,7 @@ var PS = {};
17141725 var Effect_Promise = PS["Effect.Promise"];
17151726 var Foreign = PS["Foreign"];
17161727 var Prelude = PS["Prelude"];
1728+ var Unsafe_Coerce = PS["Unsafe.Coerce"];
17171729 var wrapKey = "wrapKey";
17181730 var verify = "verify";
17191731 var unwrapKey = "unwrapKey";
@@ -1751,21 +1763,50 @@ var PS = {};
17511763 var Effect_Aff = PS["Effect.Aff"];
17521764 var Effect_Promise = PS["Effect.Promise"];
17531765 var Prelude = PS["Prelude"];
1754− var Unsafe_Coerce = PS["Unsafe.Coerce"];
1766+ var Unsafe_Coerce = PS["Unsafe.Coerce"];
1767+ var rsa = function (r) {
1768+ return function (l) {
1769+ return function (e) {
1770+ return function (h) {
1771+ return {
1772+ name: r,
1773+ modulusLength: l,
1774+ publicExponent: e,
1775+ hash: h
1776+ };
1777+ };
1778+ };
1779+ };
1780+ };
17551781 var hmac = function (h) {
17561782 return {
17571783 name: "HMAC",
17581784 hash: h
17591785 };
17601786 };
1787+ var generateKeyPair = function (a) {
1788+ return function (e) {
1789+ return function (u) {
1790+ return Effect_Aff.makeAff(function (resolve) {
1791+ return Data_Functor.voidRight(Effect.functorEffect)(Effect_Aff.nonCanceler)(Effect_Promise.runPromise(function ($2) {
1792+ return resolve(Data_Either.Right.create($2));
1793+ })(function ($3) {
1794+ return resolve(Data_Either.Left.create($3));
1795+ })(function (dictDeferred) {
1796+ return $foreign.generateKeyImpl(a, e, u);
1797+ }));
1798+ });
1799+ };
1800+ };
1801+ };
17611802 var generateKey = function (a) {
17621803 return function (e) {
17631804 return function (u) {
17641805 return Effect_Aff.makeAff(function (resolve) {
1765− return Data_Functor.voidRight(Effect.functorEffect)(Effect_Aff.nonCanceler)(Effect_Promise.runPromise(function ($1) {
1766− return resolve(Data_Either.Right.create($1));
1767− })(function ($2) {
1768− return resolve(Data_Either.Left.create($2));
1806+ return Data_Functor.voidRight(Effect.functorEffect)(Effect_Aff.nonCanceler)(Effect_Promise.runPromise(function ($4) {
1807+ return resolve(Data_Either.Right.create($4));
1808+ })(function ($5) {
1809+ return resolve(Data_Either.Left.create($5));
17691810 })(function (dictDeferred) {
17701811 return $foreign.generateKeyImpl(a, e, u);
17711812 }));
@@ -1790,9 +1831,12 @@ var PS = {};
17901831 };
17911832 };
17921833 exports["generateKey"] = generateKey;
1834+ exports["generateKeyPair"] = generateKeyPair;
1835+ exports["rsa"] = rsa;
17931836 exports["ec"] = ec;
17941837 exports["hmac"] = hmac;
17951838 exports["aes"] = aes;
1839+ exports["exp65537"] = $foreign.exp65537;
17961840})(PS["Crypto.Subtle.Key.Generate"] = PS["Crypto.Subtle.Key.Generate"] || {});
17971841(function(exports) {
17981842 "use strict";
@@ -1821,6 +1865,7 @@ var PS = {};
18211865 var Control_Semigroupoid = PS["Control.Semigroupoid"];
18221866 var Crypto_Subtle_Constants_AES = PS["Crypto.Subtle.Constants.AES"];
18231867 var Crypto_Subtle_Constants_EC = PS["Crypto.Subtle.Constants.EC"];
1868+ var Crypto_Subtle_Constants_RSA = PS["Crypto.Subtle.Constants.RSA"];
18241869 var Crypto_Subtle_Hash = PS["Crypto.Subtle.Hash"];
18251870 var Crypto_Subtle_Key_Generate = PS["Crypto.Subtle.Key.Generate"];
18261871 var Crypto_Subtle_Key_Types = PS["Crypto.Subtle.Key.Types"];
@@ -1833,8 +1878,8 @@ var PS = {};
18331878 var Effect_Exception = PS["Effect.Exception"];
18341879 var Prelude = PS["Prelude"];
18351880 var Unsafe_Coerce = PS["Unsafe.Coerce"];
1836− var log$prime = function ($23) {
1837− return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Console.log($23));
1881+ var log$prime = function ($45) {
1882+ return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Console.log($45));
18381883 };
18391884 var main = (function () {
18401885 var resolve = function (eX) {
@@ -1844,7 +1889,7 @@ var PS = {};
18441889 if (eX instanceof Data_Either.Right) {
18451890 return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);
18461891 };
1847− throw new Error("Failed pattern match at Test.Main line 23, column 20 - line 25, column 29: " + [ eX.constructor.name ]);
1892+ throw new Error("Failed pattern match at Test.Main line 24, column 20 - line 26, column 29: " + [ eX.constructor.name ]);
18481893 };
18491894 return Effect_Aff.runAff_(resolve)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("Generating Keys..."))(function () {
18501895 return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)((function () {
@@ -1908,29 +1953,110 @@ var PS = {};
19081953 });
19091954 });
19101955 }))(function () {
1911− var genEC = function (alg) {
1912− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKey(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p256))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1913− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-256"))(function () {
1914− return log$prime(v);
1915− });
1916− }))(function () {
1917− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKey(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p384))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1918− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-384"))(function () {
1919− return log$prime(v);
1956+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)((function () {
1957+ var genEC = function (alg) {
1958+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p256))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1959+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-256"))(function () {
1960+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
1961+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
1962+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
1963+ return log$prime(v.publicKey);
1964+ });
1965+ });
1966+ });
19201967 });
19211968 }))(function () {
1922− return Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKey(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p521))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1923− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-521"))(function () {
1924− return log$prime(v);
1969+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p384))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1970+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-384"))(function () {
1971+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
1972+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
1973+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
1974+ return log$prime(v.publicKey);
1975+ });
1976+ });
1977+ });
19251978 });
1979+ }))(function () {
1980+ return Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.ec(alg)(Crypto_Subtle_Constants_EC.p521))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
1981+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - P-521"))(function () {
1982+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
1983+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
1984+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
1985+ return log$prime(v.publicKey);
1986+ });
1987+ });
1988+ });
1989+ });
1990+ });
1991+ });
1992+ });
1993+ };
1994+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- ECDSA"))(function () {
1995+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(genEC(Crypto_Subtle_Constants_EC.ecdsa))(function () {
1996+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- ECDH"))(function () {
1997+ return genEC(Crypto_Subtle_Constants_EC.ecdh);
19261998 });
19271999 });
19282000 });
1929− };
1930− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- ECDSA"))(function () {
1931− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(genEC(Crypto_Subtle_Constants_EC.ecdsa))(function () {
1932− return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- ECDH"))(function () {
1933− return genEC(Crypto_Subtle_Constants_EC.ecdh);
2001+ })())(function () {
2002+ var genRSA = function (alg) {
2003+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.rsa(alg)(2048)(Crypto_Subtle_Key_Generate.exp65537)(Crypto_Subtle_Hash.sha1))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
2004+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - SHA-1"))(function () {
2005+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
2006+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
2007+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
2008+ return log$prime(v.publicKey);
2009+ });
2010+ });
2011+ });
2012+ });
2013+ }))(function () {
2014+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.rsa(alg)(2048)(Crypto_Subtle_Key_Generate.exp65537)(Crypto_Subtle_Hash.sha256))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
2015+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - SHA-256"))(function () {
2016+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
2017+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
2018+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
2019+ return log$prime(v.publicKey);
2020+ });
2021+ });
2022+ });
2023+ });
2024+ }))(function () {
2025+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.rsa(alg)(2048)(Crypto_Subtle_Key_Generate.exp65537)(Crypto_Subtle_Hash.sha384))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
2026+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - SHA-384"))(function () {
2027+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
2028+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
2029+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
2030+ return log$prime(v.publicKey);
2031+ });
2032+ });
2033+ });
2034+ });
2035+ }))(function () {
2036+ return Control_Bind.bind(Effect_Aff.bindAff)(Crypto_Subtle_Key_Generate.generateKeyPair(Crypto_Subtle_Key_Generate.rsa(alg)(2048)(Crypto_Subtle_Key_Generate.exp65537)(Crypto_Subtle_Hash.sha512))(true)(Crypto_Subtle_Key_Types.allUsages))(function (v) {
2037+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - SHA-512"))(function () {
2038+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - privateKey"))(function () {
2039+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(v.privateKey))(function () {
2040+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime(" - publicKey"))(function () {
2041+ return log$prime(v.publicKey);
2042+ });
2043+ });
2044+ });
2045+ });
2046+ });
2047+ });
2048+ });
2049+ });
2050+ };
2051+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- RSASSA-PKCS1-v1_5"))(function () {
2052+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(genRSA(Crypto_Subtle_Constants_RSA.rsaPKCS1))(function () {
2053+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- RSA-PSS"))(function () {
2054+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(genRSA(Crypto_Subtle_Constants_RSA.rsaPSS))(function () {
2055+ return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(log$prime("- RSA-OAEP"))(function () {
2056+ return genRSA(Crypto_Subtle_Constants_RSA.rsaOAEP);
2057+ });
2058+ });
2059+ });
19342060 });
19352061 });
19362062 });