Gazebo_simulation-Frontend/node_modules/webcrypto-shim/webcrypto-shim.min.js

4 lines
10 KiB
JavaScript
Raw Permalink Normal View History

2020-12-21 11:29:31 -04:00
/*! WebCrypto API shim v0.1.5, (c) 2015 Artem S Vybornov <vybornov@gmail.com>, opensource.org/licenses/MIT */
!function(e,t){"function"==typeof define&&define.amd?define([],function(){return t(e)}):"object"==typeof module&&module.exports?module.exports=t(e):t(e)}("undefined"!=typeof self?self:this,function(e){"use strict";if("function"!=typeof Promise)throw"Promise support required";var p=e.crypto||e.msCrypto;if(p){var l=p.subtle||p.webkitSubtle;if(l){var t=e.Crypto||p.constructor||Object,r=e.SubtleCrypto||l.constructor||Object,n=(e.CryptoKey||e.Key||Object,-1<e.navigator.userAgent.indexOf("Edge/")),y=!!e.msCrypto&&!n,f=!p.subtle&&!!p.webkitSubtle;if(y||f){var s={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},c={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(s){var c=l[s];l[s]=function(t,e,r){var n,a,o,i,u=[].slice.call(arguments);switch(s){case"generateKey":n=b(t),a=e,o=r;break;case"importKey":n=b(r),a=u[3],o=u[4],"jwk"===t&&((e=d(e)).alg||(e.alg=w(n)),e.key_ops||(e.key_ops="oct"!==e.kty?"d"in e?o.filter(E):o.filter(K):o.slice()),u[1]=function(e){var t=d(e);return y&&(t.extractable=t.ext,delete t.ext),A(unescape(encodeURIComponent(JSON.stringify(t)))).buffer}(e));break;case"unwrapKey":n=u[4],a=u[5],o=u[6],u[2]=r._key}if("generateKey"===s&&"HMAC"===n.name&&n.hash)return n.length=n.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[n.hash.name],l.importKey("raw",p.getRandomValues(new Uint8Array(n.length+7>>3)),n,a,o);if(f&&"generateKey"===s&&"RSASSA-PKCS1-v1_5"===n.name&&(!n.modulusLength||2048<=n.modulusLength))return(t=b(t)).name="RSAES-PKCS1-v1_5",delete t.hash,l.generateKey(t,!0,["encrypt","decrypt"]).then(function(e){return Promise.all([l.exportKey("jwk",e.publicKey),l.exportKey("jwk",e.privateKey)])}).then(function(e){return e[0].alg=e[1].alg=w(n),e[0].key_ops=o.filter(K),e[1].key_ops=o.filter(E),Promise.all([l.importKey("jwk",e[0],n,!0,e[0].key_ops),l.importKey("jwk",e[1],n,a,e[1].key_ops)])}).then(function(e){return{publicKey:e[0],privateKey:e[1]}});if((f||y&&"SHA-1"===(n.hash||{}).name)&&"importKey"===s&&"jwk"===t&&"HMAC"===n.name&&"oct"===e.kty)return l.importKey("raw",A(g(e.k)),r,u[3],u[4]);if(f&&"importKey"===s&&("spki"===t||"pkcs8"===t))return l.importKey("jwk",function(e){var t=S(e),r=!1;2<t.length&&(r=!0,t.shift());var n={ext:!0};switch(t[0][0]){case"1.2.840.113549.1.1.1":var a=["n","e","d","p","q","dp","dq","qi"],o=S(t[1]);r&&o.shift();for(var i=0;i<o.length;i++)o[i][0]||(o[i]=o[i].subarray(1)),n[a[i]]=h(m(o[i]));n.kty="RSA";break;default:throw new TypeError("Unsupported key type")}return n}(e),r,u[3],u[4]);if(y&&"unwrapKey"===s)return l.decrypt(u[3],r,e).then(function(e){return l.importKey(t,e,u[4],u[5],u[6])});try{i=c.apply(l,u)}catch(e){return Promise.reject(e)}return y&&(i=new Promise(function(t,r){i.onabort=i.onerror=function(e){r(e)},i.oncomplete=function(e){t(e.target.result)}})),i=i.then(function(e){return"HMAC"===n.name&&(n.length||(n.length=8*e.algorithm.length)),0==n.name.search("RSA")&&(n.modulusLength||(n.modulusLength=(e.publicKey||e).algorithm.modulusLength),n.publicExponent||(n.publicExponent=(e.publicKey||e).algorithm.publicExponent)),e=e.publicKey&&e.privateKey?{publicKey:new v(e.publicKey,n,a,o.filter(K)),privateKey:new v(e.privateKey,n,a,o.filter(E))}:new v(e,n,a,o)})}}),["exportKey","wrapKey"].forEach(function(o){var i=l[o];l[o]=function(t,r,n){var e,a=[].slice.call(arguments);switch(o){case"exportKey":a[1]=r._key;break;case"wrapKey":a[1]=r._key,a[2]=n._key}if((f||y&&"SHA-1"===(r.algorithm.hash||{}).name)&&"exportKey"===o&&"jwk"===t&&"HMAC"===r.algorithm.name&&(a[0]="raw"),!f||"exportKey"!==o||"spki"!==t&&"pkcs8"!==t||(a[0]="jwk"),y&&"wrapKey"===o)return l.exportKey(t,r).then(function(e){return"jwk"===t&&(e=A(unescape(encodeURIComponent(JSON.stringify(d(e)))))),l.encrypt(a[3],n,e)});try{e=i.apply(l,a)}catch(e){return Promise.reject(e)}return y&&(e=new Promise(function(t,r){e.onabort=e.onerror=function(e){r(e)},e.oncomplete=function(e){t(e.target.result)}})),"exportKey"===o&&"jwk"===t&&(e=e.then(function(e){return(f||y&&"SHA-1"===(r.algorithm.hash||{}).name)&&"HMAC"===r.algorithm.name?{kty:"oct",alg:w(r.algorithm),key_ops:r.usages.slice(
//# sourceMappingURL=webcrypto-shim.min.js.map