@parcel/utils 2.0.0-nightly.1161 → 2.0.0-nightly.1165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +1207 -68
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
- package/src/getModuleParts.js +23 -0
- package/src/index.js +1 -0
package/lib/index.js
CHANGED
|
@@ -81,7 +81,13 @@ parcelRequire.register("iGlOy", function(module, exports) {
|
|
|
81
81
|
});
|
|
82
82
|
|
|
83
83
|
parcelRequire.register("ai0Z9", function(module, exports) {
|
|
84
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Node.js module for Forge message digests.
|
|
86
|
+
*
|
|
87
|
+
* @author Dave Longley
|
|
88
|
+
*
|
|
89
|
+
* Copyright 2011-2017 Digital Bazaar, Inc.
|
|
90
|
+
*/
|
|
85
91
|
var $iGlOy = parcelRequire("iGlOy");
|
|
86
92
|
module.exports = $iGlOy.md = $iGlOy.md || {};
|
|
87
93
|
$iGlOy.md.algorithms = $iGlOy.md.algorithms || {};
|
|
@@ -3406,6 +3412,7 @@ $parcel$export(module.exports, "countLines", () => $fddc9169ba2fd655$export$2e2b
|
|
|
3406
3412
|
$parcel$export(module.exports, "generateBuildMetrics", () => $15d4bc8b6fca8c7e$export$2e2bcd8739ae039);
|
|
3407
3413
|
$parcel$export(module.exports, "generateCertificate", () => $c6cbdbdbaf0fafc1$export$2e2bcd8739ae039);
|
|
3408
3414
|
$parcel$export(module.exports, "getCertificate", () => $186980c178984fd2$export$2e2bcd8739ae039);
|
|
3415
|
+
$parcel$export(module.exports, "getModuleParts", () => $313980afb666b13e$export$2e2bcd8739ae039);
|
|
3409
3416
|
$parcel$export(module.exports, "getRootDir", () => $275c1a71c92a4142$export$2e2bcd8739ae039);
|
|
3410
3417
|
$parcel$export(module.exports, "isDirectoryInside", () => $ea105385370dfccd$export$2e2bcd8739ae039);
|
|
3411
3418
|
$parcel$export(module.exports, "isURL", () => $f7d48e99e9c9e3b2$export$2e2bcd8739ae039);
|
|
@@ -3578,22 +3585,50 @@ async function $15d4bc8b6fca8c7e$export$2e2bcd8739ae039(bundles, fs, projectRoot
|
|
|
3578
3585
|
|
|
3579
3586
|
|
|
3580
3587
|
var $99e85628b30fe009$exports = {};
|
|
3581
|
-
|
|
3582
3588
|
/**
|
|
3583
3589
|
* Node.js module for Forge.
|
|
3584
3590
|
*
|
|
3585
3591
|
* @author Dave Longley
|
|
3586
3592
|
*
|
|
3587
3593
|
* Copyright 2011-2016 Digital Bazaar, Inc.
|
|
3588
|
-
*/
|
|
3594
|
+
*/
|
|
3595
|
+
$99e85628b30fe009$exports = (parcelRequire("iGlOy"));
|
|
3589
3596
|
var $ca9d5cba0afae339$exports = {};
|
|
3590
|
-
|
|
3597
|
+
/**
|
|
3598
|
+
* Advanced Encryption Standard (AES) implementation.
|
|
3599
|
+
*
|
|
3600
|
+
* This implementation is based on the public domain library 'jscrypto' which
|
|
3601
|
+
* was written by:
|
|
3602
|
+
*
|
|
3603
|
+
* Emily Stark (estark@stanford.edu)
|
|
3604
|
+
* Mike Hamburg (mhamburg@stanford.edu)
|
|
3605
|
+
* Dan Boneh (dabo@cs.stanford.edu)
|
|
3606
|
+
*
|
|
3607
|
+
* Parts of this code are based on the OpenSSL implementation of AES:
|
|
3608
|
+
* http://www.openssl.org
|
|
3609
|
+
*
|
|
3610
|
+
* @author Dave Longley
|
|
3611
|
+
*
|
|
3612
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
3613
|
+
*/
|
|
3591
3614
|
var $iGlOy = parcelRequire("iGlOy");
|
|
3592
3615
|
var $871289bd32ea5f15$exports = {};
|
|
3593
|
-
|
|
3616
|
+
/**
|
|
3617
|
+
* Cipher base API.
|
|
3618
|
+
*
|
|
3619
|
+
* @author Dave Longley
|
|
3620
|
+
*
|
|
3621
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
3622
|
+
*/
|
|
3594
3623
|
var $iGlOy = parcelRequire("iGlOy");
|
|
3595
3624
|
var $4143f576ffbec226$exports = {};
|
|
3596
|
-
|
|
3625
|
+
/**
|
|
3626
|
+
* Utility functions for web applications.
|
|
3627
|
+
*
|
|
3628
|
+
* @author Dave Longley
|
|
3629
|
+
*
|
|
3630
|
+
* Copyright (c) 2010-2018 Digital Bazaar, Inc.
|
|
3631
|
+
*/
|
|
3597
3632
|
var $iGlOy = parcelRequire("iGlOy");
|
|
3598
3633
|
var $53abc20733f4b0dc$exports = {};
|
|
3599
3634
|
/**
|
|
@@ -5624,7 +5659,7 @@ $4143f576ffbec226$var$util.text = {
|
|
|
5624
5659
|
case "s":
|
|
5625
5660
|
case "o":
|
|
5626
5661
|
// check if enough arguments were given
|
|
5627
|
-
if (argi < arguments.length) parts.push(arguments[
|
|
5662
|
+
if (argi < arguments.length) parts.push(arguments[argi++ + 1]);
|
|
5628
5663
|
else parts.push("<?>");
|
|
5629
5664
|
break;
|
|
5630
5665
|
// FIXME: do proper formating for numbers, etc
|
|
@@ -6073,7 +6108,13 @@ var $871289bd32ea5f15$var$BlockCipher = $iGlOy.cipher.BlockCipher = function(opt
|
|
|
6073
6108
|
|
|
6074
6109
|
|
|
6075
6110
|
var $8e7d87db09a5396f$exports = {};
|
|
6076
|
-
|
|
6111
|
+
/**
|
|
6112
|
+
* Supported cipher modes.
|
|
6113
|
+
*
|
|
6114
|
+
* @author Dave Longley
|
|
6115
|
+
*
|
|
6116
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
6117
|
+
*/
|
|
6077
6118
|
var $iGlOy = parcelRequire("iGlOy");
|
|
6078
6119
|
|
|
6079
6120
|
$iGlOy.cipher = $iGlOy.cipher || {};
|
|
@@ -7757,18 +7798,396 @@ var $ca9d5cba0afae339$var$imix; // inverse mix-columns table
|
|
|
7757
7798
|
|
|
7758
7799
|
|
|
7759
7800
|
var $48103dfbc323e2e4$exports = {};
|
|
7760
|
-
|
|
7801
|
+
/**
|
|
7802
|
+
* A Javascript implementation of AES Cipher Suites for TLS.
|
|
7803
|
+
*
|
|
7804
|
+
* @author Dave Longley
|
|
7805
|
+
*
|
|
7806
|
+
* Copyright (c) 2009-2015 Digital Bazaar, Inc.
|
|
7807
|
+
*
|
|
7808
|
+
*/
|
|
7761
7809
|
var $iGlOy = parcelRequire("iGlOy");
|
|
7762
7810
|
|
|
7763
7811
|
var $e55982d45da68b81$exports = {};
|
|
7764
|
-
|
|
7812
|
+
/**
|
|
7813
|
+
* A Javascript implementation of Transport Layer Security (TLS).
|
|
7814
|
+
*
|
|
7815
|
+
* @author Dave Longley
|
|
7816
|
+
*
|
|
7817
|
+
* Copyright (c) 2009-2014 Digital Bazaar, Inc.
|
|
7818
|
+
*
|
|
7819
|
+
* The TLS Handshake Protocol involves the following steps:
|
|
7820
|
+
*
|
|
7821
|
+
* - Exchange hello messages to agree on algorithms, exchange random values,
|
|
7822
|
+
* and check for session resumption.
|
|
7823
|
+
*
|
|
7824
|
+
* - Exchange the necessary cryptographic parameters to allow the client and
|
|
7825
|
+
* server to agree on a premaster secret.
|
|
7826
|
+
*
|
|
7827
|
+
* - Exchange certificates and cryptographic information to allow the client
|
|
7828
|
+
* and server to authenticate themselves.
|
|
7829
|
+
*
|
|
7830
|
+
* - Generate a master secret from the premaster secret and exchanged random
|
|
7831
|
+
* values.
|
|
7832
|
+
*
|
|
7833
|
+
* - Provide security parameters to the record layer.
|
|
7834
|
+
*
|
|
7835
|
+
* - Allow the client and server to verify that their peer has calculated the
|
|
7836
|
+
* same security parameters and that the handshake occurred without tampering
|
|
7837
|
+
* by an attacker.
|
|
7838
|
+
*
|
|
7839
|
+
* Up to 4 different messages may be sent during a key exchange. The server
|
|
7840
|
+
* certificate, the server key exchange, the client certificate, and the
|
|
7841
|
+
* client key exchange.
|
|
7842
|
+
*
|
|
7843
|
+
* A typical handshake (from the client's perspective).
|
|
7844
|
+
*
|
|
7845
|
+
* 1. Client sends ClientHello.
|
|
7846
|
+
* 2. Client receives ServerHello.
|
|
7847
|
+
* 3. Client receives optional Certificate.
|
|
7848
|
+
* 4. Client receives optional ServerKeyExchange.
|
|
7849
|
+
* 5. Client receives ServerHelloDone.
|
|
7850
|
+
* 6. Client sends optional Certificate.
|
|
7851
|
+
* 7. Client sends ClientKeyExchange.
|
|
7852
|
+
* 8. Client sends optional CertificateVerify.
|
|
7853
|
+
* 9. Client sends ChangeCipherSpec.
|
|
7854
|
+
* 10. Client sends Finished.
|
|
7855
|
+
* 11. Client receives ChangeCipherSpec.
|
|
7856
|
+
* 12. Client receives Finished.
|
|
7857
|
+
* 13. Client sends/receives application data.
|
|
7858
|
+
*
|
|
7859
|
+
* To reuse an existing session:
|
|
7860
|
+
*
|
|
7861
|
+
* 1. Client sends ClientHello with session ID for reuse.
|
|
7862
|
+
* 2. Client receives ServerHello with same session ID if reusing.
|
|
7863
|
+
* 3. Client receives ChangeCipherSpec message if reusing.
|
|
7864
|
+
* 4. Client receives Finished.
|
|
7865
|
+
* 5. Client sends ChangeCipherSpec.
|
|
7866
|
+
* 6. Client sends Finished.
|
|
7867
|
+
*
|
|
7868
|
+
* Note: Client ignores HelloRequest if in the middle of a handshake.
|
|
7869
|
+
*
|
|
7870
|
+
* Record Layer:
|
|
7871
|
+
*
|
|
7872
|
+
* The record layer fragments information blocks into TLSPlaintext records
|
|
7873
|
+
* carrying data in chunks of 2^14 bytes or less. Client message boundaries are
|
|
7874
|
+
* not preserved in the record layer (i.e., multiple client messages of the
|
|
7875
|
+
* same ContentType MAY be coalesced into a single TLSPlaintext record, or a
|
|
7876
|
+
* single message MAY be fragmented across several records).
|
|
7877
|
+
*
|
|
7878
|
+
* struct {
|
|
7879
|
+
* uint8 major;
|
|
7880
|
+
* uint8 minor;
|
|
7881
|
+
* } ProtocolVersion;
|
|
7882
|
+
*
|
|
7883
|
+
* struct {
|
|
7884
|
+
* ContentType type;
|
|
7885
|
+
* ProtocolVersion version;
|
|
7886
|
+
* uint16 length;
|
|
7887
|
+
* opaque fragment[TLSPlaintext.length];
|
|
7888
|
+
* } TLSPlaintext;
|
|
7889
|
+
*
|
|
7890
|
+
* type:
|
|
7891
|
+
* The higher-level protocol used to process the enclosed fragment.
|
|
7892
|
+
*
|
|
7893
|
+
* version:
|
|
7894
|
+
* The version of the protocol being employed. TLS Version 1.2 uses version
|
|
7895
|
+
* {3, 3}. TLS Version 1.0 uses version {3, 1}. Note that a client that
|
|
7896
|
+
* supports multiple versions of TLS may not know what version will be
|
|
7897
|
+
* employed before it receives the ServerHello.
|
|
7898
|
+
*
|
|
7899
|
+
* length:
|
|
7900
|
+
* The length (in bytes) of the following TLSPlaintext.fragment. The length
|
|
7901
|
+
* MUST NOT exceed 2^14 = 16384 bytes.
|
|
7902
|
+
*
|
|
7903
|
+
* fragment:
|
|
7904
|
+
* The application data. This data is transparent and treated as an
|
|
7905
|
+
* independent block to be dealt with by the higher-level protocol specified
|
|
7906
|
+
* by the type field.
|
|
7907
|
+
*
|
|
7908
|
+
* Implementations MUST NOT send zero-length fragments of Handshake, Alert, or
|
|
7909
|
+
* ChangeCipherSpec content types. Zero-length fragments of Application data
|
|
7910
|
+
* MAY be sent as they are potentially useful as a traffic analysis
|
|
7911
|
+
* countermeasure.
|
|
7912
|
+
*
|
|
7913
|
+
* Note: Data of different TLS record layer content types MAY be interleaved.
|
|
7914
|
+
* Application data is generally of lower precedence for transmission than
|
|
7915
|
+
* other content types. However, records MUST be delivered to the network in
|
|
7916
|
+
* the same order as they are protected by the record layer. Recipients MUST
|
|
7917
|
+
* receive and process interleaved application layer traffic during handshakes
|
|
7918
|
+
* subsequent to the first one on a connection.
|
|
7919
|
+
*
|
|
7920
|
+
* struct {
|
|
7921
|
+
* ContentType type; // same as TLSPlaintext.type
|
|
7922
|
+
* ProtocolVersion version;// same as TLSPlaintext.version
|
|
7923
|
+
* uint16 length;
|
|
7924
|
+
* opaque fragment[TLSCompressed.length];
|
|
7925
|
+
* } TLSCompressed;
|
|
7926
|
+
*
|
|
7927
|
+
* length:
|
|
7928
|
+
* The length (in bytes) of the following TLSCompressed.fragment.
|
|
7929
|
+
* The length MUST NOT exceed 2^14 + 1024.
|
|
7930
|
+
*
|
|
7931
|
+
* fragment:
|
|
7932
|
+
* The compressed form of TLSPlaintext.fragment.
|
|
7933
|
+
*
|
|
7934
|
+
* Note: A CompressionMethod.null operation is an identity operation; no fields
|
|
7935
|
+
* are altered. In this implementation, since no compression is supported,
|
|
7936
|
+
* uncompressed records are always the same as compressed records.
|
|
7937
|
+
*
|
|
7938
|
+
* Encryption Information:
|
|
7939
|
+
*
|
|
7940
|
+
* The encryption and MAC functions translate a TLSCompressed structure into a
|
|
7941
|
+
* TLSCiphertext. The decryption functions reverse the process. The MAC of the
|
|
7942
|
+
* record also includes a sequence number so that missing, extra, or repeated
|
|
7943
|
+
* messages are detectable.
|
|
7944
|
+
*
|
|
7945
|
+
* struct {
|
|
7946
|
+
* ContentType type;
|
|
7947
|
+
* ProtocolVersion version;
|
|
7948
|
+
* uint16 length;
|
|
7949
|
+
* select (SecurityParameters.cipher_type) {
|
|
7950
|
+
* case stream: GenericStreamCipher;
|
|
7951
|
+
* case block: GenericBlockCipher;
|
|
7952
|
+
* case aead: GenericAEADCipher;
|
|
7953
|
+
* } fragment;
|
|
7954
|
+
* } TLSCiphertext;
|
|
7955
|
+
*
|
|
7956
|
+
* type:
|
|
7957
|
+
* The type field is identical to TLSCompressed.type.
|
|
7958
|
+
*
|
|
7959
|
+
* version:
|
|
7960
|
+
* The version field is identical to TLSCompressed.version.
|
|
7961
|
+
*
|
|
7962
|
+
* length:
|
|
7963
|
+
* The length (in bytes) of the following TLSCiphertext.fragment.
|
|
7964
|
+
* The length MUST NOT exceed 2^14 + 2048.
|
|
7965
|
+
*
|
|
7966
|
+
* fragment:
|
|
7967
|
+
* The encrypted form of TLSCompressed.fragment, with the MAC.
|
|
7968
|
+
*
|
|
7969
|
+
* Note: Only CBC Block Ciphers are supported by this implementation.
|
|
7970
|
+
*
|
|
7971
|
+
* The TLSCompressed.fragment structures are converted to/from block
|
|
7972
|
+
* TLSCiphertext.fragment structures.
|
|
7973
|
+
*
|
|
7974
|
+
* struct {
|
|
7975
|
+
* opaque IV[SecurityParameters.record_iv_length];
|
|
7976
|
+
* block-ciphered struct {
|
|
7977
|
+
* opaque content[TLSCompressed.length];
|
|
7978
|
+
* opaque MAC[SecurityParameters.mac_length];
|
|
7979
|
+
* uint8 padding[GenericBlockCipher.padding_length];
|
|
7980
|
+
* uint8 padding_length;
|
|
7981
|
+
* };
|
|
7982
|
+
* } GenericBlockCipher;
|
|
7983
|
+
*
|
|
7984
|
+
* The MAC is generated as described in Section 6.2.3.1.
|
|
7985
|
+
*
|
|
7986
|
+
* IV:
|
|
7987
|
+
* The Initialization Vector (IV) SHOULD be chosen at random, and MUST be
|
|
7988
|
+
* unpredictable. Note that in versions of TLS prior to 1.1, there was no
|
|
7989
|
+
* IV field, and the last ciphertext block of the previous record (the "CBC
|
|
7990
|
+
* residue") was used as the IV. This was changed to prevent the attacks
|
|
7991
|
+
* described in [CBCATT]. For block ciphers, the IV length is of length
|
|
7992
|
+
* SecurityParameters.record_iv_length, which is equal to the
|
|
7993
|
+
* SecurityParameters.block_size.
|
|
7994
|
+
*
|
|
7995
|
+
* padding:
|
|
7996
|
+
* Padding that is added to force the length of the plaintext to be an
|
|
7997
|
+
* integral multiple of the block cipher's block length. The padding MAY be
|
|
7998
|
+
* any length up to 255 bytes, as long as it results in the
|
|
7999
|
+
* TLSCiphertext.length being an integral multiple of the block length.
|
|
8000
|
+
* Lengths longer than necessary might be desirable to frustrate attacks on
|
|
8001
|
+
* a protocol that are based on analysis of the lengths of exchanged
|
|
8002
|
+
* messages. Each uint8 in the padding data vector MUST be filled with the
|
|
8003
|
+
* padding length value. The receiver MUST check this padding and MUST use
|
|
8004
|
+
* the bad_record_mac alert to indicate padding errors.
|
|
8005
|
+
*
|
|
8006
|
+
* padding_length:
|
|
8007
|
+
* The padding length MUST be such that the total size of the
|
|
8008
|
+
* GenericBlockCipher structure is a multiple of the cipher's block length.
|
|
8009
|
+
* Legal values range from zero to 255, inclusive. This length specifies the
|
|
8010
|
+
* length of the padding field exclusive of the padding_length field itself.
|
|
8011
|
+
*
|
|
8012
|
+
* The encrypted data length (TLSCiphertext.length) is one more than the sum of
|
|
8013
|
+
* SecurityParameters.block_length, TLSCompressed.length,
|
|
8014
|
+
* SecurityParameters.mac_length, and padding_length.
|
|
8015
|
+
*
|
|
8016
|
+
* Example: If the block length is 8 bytes, the content length
|
|
8017
|
+
* (TLSCompressed.length) is 61 bytes, and the MAC length is 20 bytes, then the
|
|
8018
|
+
* length before padding is 82 bytes (this does not include the IV. Thus, the
|
|
8019
|
+
* padding length modulo 8 must be equal to 6 in order to make the total length
|
|
8020
|
+
* an even multiple of 8 bytes (the block length). The padding length can be
|
|
8021
|
+
* 6, 14, 22, and so on, through 254. If the padding length were the minimum
|
|
8022
|
+
* necessary, 6, the padding would be 6 bytes, each containing the value 6.
|
|
8023
|
+
* Thus, the last 8 octets of the GenericBlockCipher before block encryption
|
|
8024
|
+
* would be xx 06 06 06 06 06 06 06, where xx is the last octet of the MAC.
|
|
8025
|
+
*
|
|
8026
|
+
* Note: With block ciphers in CBC mode (Cipher Block Chaining), it is critical
|
|
8027
|
+
* that the entire plaintext of the record be known before any ciphertext is
|
|
8028
|
+
* transmitted. Otherwise, it is possible for the attacker to mount the attack
|
|
8029
|
+
* described in [CBCATT].
|
|
8030
|
+
*
|
|
8031
|
+
* Implementation note: Canvel et al. [CBCTIME] have demonstrated a timing
|
|
8032
|
+
* attack on CBC padding based on the time required to compute the MAC. In
|
|
8033
|
+
* order to defend against this attack, implementations MUST ensure that
|
|
8034
|
+
* record processing time is essentially the same whether or not the padding
|
|
8035
|
+
* is correct. In general, the best way to do this is to compute the MAC even
|
|
8036
|
+
* if the padding is incorrect, and only then reject the packet. For instance,
|
|
8037
|
+
* if the pad appears to be incorrect, the implementation might assume a
|
|
8038
|
+
* zero-length pad and then compute the MAC. This leaves a small timing
|
|
8039
|
+
* channel, since MAC performance depends, to some extent, on the size of the
|
|
8040
|
+
* data fragment, but it is not believed to be large enough to be exploitable,
|
|
8041
|
+
* due to the large block size of existing MACs and the small size of the
|
|
8042
|
+
* timing signal.
|
|
8043
|
+
*/
|
|
7765
8044
|
var $iGlOy = parcelRequire("iGlOy");
|
|
7766
8045
|
var $579f29a8775d6845$exports = {};
|
|
7767
|
-
|
|
8046
|
+
/**
|
|
8047
|
+
* Javascript implementation of Abstract Syntax Notation Number One.
|
|
8048
|
+
*
|
|
8049
|
+
* @author Dave Longley
|
|
8050
|
+
*
|
|
8051
|
+
* Copyright (c) 2010-2015 Digital Bazaar, Inc.
|
|
8052
|
+
*
|
|
8053
|
+
* An API for storing data using the Abstract Syntax Notation Number One
|
|
8054
|
+
* format using DER (Distinguished Encoding Rules) encoding. This encoding is
|
|
8055
|
+
* commonly used to store data for PKI, i.e. X.509 Certificates, and this
|
|
8056
|
+
* implementation exists for that purpose.
|
|
8057
|
+
*
|
|
8058
|
+
* Abstract Syntax Notation Number One (ASN.1) is used to define the abstract
|
|
8059
|
+
* syntax of information without restricting the way the information is encoded
|
|
8060
|
+
* for transmission. It provides a standard that allows for open systems
|
|
8061
|
+
* communication. ASN.1 defines the syntax of information data and a number of
|
|
8062
|
+
* simple data types as well as a notation for describing them and specifying
|
|
8063
|
+
* values for them.
|
|
8064
|
+
*
|
|
8065
|
+
* The RSA algorithm creates public and private keys that are often stored in
|
|
8066
|
+
* X.509 or PKCS#X formats -- which use ASN.1 (encoded in DER format). This
|
|
8067
|
+
* class provides the most basic functionality required to store and load DSA
|
|
8068
|
+
* keys that are encoded according to ASN.1.
|
|
8069
|
+
*
|
|
8070
|
+
* The most common binary encodings for ASN.1 are BER (Basic Encoding Rules)
|
|
8071
|
+
* and DER (Distinguished Encoding Rules). DER is just a subset of BER that
|
|
8072
|
+
* has stricter requirements for how data must be encoded.
|
|
8073
|
+
*
|
|
8074
|
+
* Each ASN.1 structure has a tag (a byte identifying the ASN.1 structure type)
|
|
8075
|
+
* and a byte array for the value of this ASN1 structure which may be data or a
|
|
8076
|
+
* list of ASN.1 structures.
|
|
8077
|
+
*
|
|
8078
|
+
* Each ASN.1 structure using BER is (Tag-Length-Value):
|
|
8079
|
+
*
|
|
8080
|
+
* | byte 0 | bytes X | bytes Y |
|
|
8081
|
+
* |--------|---------|----------
|
|
8082
|
+
* | tag | length | value |
|
|
8083
|
+
*
|
|
8084
|
+
* ASN.1 allows for tags to be of "High-tag-number form" which allows a tag to
|
|
8085
|
+
* be two or more octets, but that is not supported by this class. A tag is
|
|
8086
|
+
* only 1 byte. Bits 1-5 give the tag number (ie the data type within a
|
|
8087
|
+
* particular 'class'), 6 indicates whether or not the ASN.1 value is
|
|
8088
|
+
* constructed from other ASN.1 values, and bits 7 and 8 give the 'class'. If
|
|
8089
|
+
* bits 7 and 8 are both zero, the class is UNIVERSAL. If only bit 7 is set,
|
|
8090
|
+
* then the class is APPLICATION. If only bit 8 is set, then the class is
|
|
8091
|
+
* CONTEXT_SPECIFIC. If both bits 7 and 8 are set, then the class is PRIVATE.
|
|
8092
|
+
* The tag numbers for the data types for the class UNIVERSAL are listed below:
|
|
8093
|
+
*
|
|
8094
|
+
* UNIVERSAL 0 Reserved for use by the encoding rules
|
|
8095
|
+
* UNIVERSAL 1 Boolean type
|
|
8096
|
+
* UNIVERSAL 2 Integer type
|
|
8097
|
+
* UNIVERSAL 3 Bitstring type
|
|
8098
|
+
* UNIVERSAL 4 Octetstring type
|
|
8099
|
+
* UNIVERSAL 5 Null type
|
|
8100
|
+
* UNIVERSAL 6 Object identifier type
|
|
8101
|
+
* UNIVERSAL 7 Object descriptor type
|
|
8102
|
+
* UNIVERSAL 8 External type and Instance-of type
|
|
8103
|
+
* UNIVERSAL 9 Real type
|
|
8104
|
+
* UNIVERSAL 10 Enumerated type
|
|
8105
|
+
* UNIVERSAL 11 Embedded-pdv type
|
|
8106
|
+
* UNIVERSAL 12 UTF8String type
|
|
8107
|
+
* UNIVERSAL 13 Relative object identifier type
|
|
8108
|
+
* UNIVERSAL 14-15 Reserved for future editions
|
|
8109
|
+
* UNIVERSAL 16 Sequence and Sequence-of types
|
|
8110
|
+
* UNIVERSAL 17 Set and Set-of types
|
|
8111
|
+
* UNIVERSAL 18-22, 25-30 Character string types
|
|
8112
|
+
* UNIVERSAL 23-24 Time types
|
|
8113
|
+
*
|
|
8114
|
+
* The length of an ASN.1 structure is specified after the tag identifier.
|
|
8115
|
+
* There is a definite form and an indefinite form. The indefinite form may
|
|
8116
|
+
* be used if the encoding is constructed and not all immediately available.
|
|
8117
|
+
* The indefinite form is encoded using a length byte with only the 8th bit
|
|
8118
|
+
* set. The end of the constructed object is marked using end-of-contents
|
|
8119
|
+
* octets (two zero bytes).
|
|
8120
|
+
*
|
|
8121
|
+
* The definite form looks like this:
|
|
8122
|
+
*
|
|
8123
|
+
* The length may take up 1 or more bytes, it depends on the length of the
|
|
8124
|
+
* value of the ASN.1 structure. DER encoding requires that if the ASN.1
|
|
8125
|
+
* structure has a value that has a length greater than 127, more than 1 byte
|
|
8126
|
+
* will be used to store its length, otherwise just one byte will be used.
|
|
8127
|
+
* This is strict.
|
|
8128
|
+
*
|
|
8129
|
+
* In the case that the length of the ASN.1 value is less than 127, 1 octet
|
|
8130
|
+
* (byte) is used to store the "short form" length. The 8th bit has a value of
|
|
8131
|
+
* 0 indicating the length is "short form" and not "long form" and bits 7-1
|
|
8132
|
+
* give the length of the data. (The 8th bit is the left-most, most significant
|
|
8133
|
+
* bit: also known as big endian or network format).
|
|
8134
|
+
*
|
|
8135
|
+
* In the case that the length of the ASN.1 value is greater than 127, 2 to
|
|
8136
|
+
* 127 octets (bytes) are used to store the "long form" length. The first
|
|
8137
|
+
* byte's 8th bit is set to 1 to indicate the length is "long form." Bits 7-1
|
|
8138
|
+
* give the number of additional octets. All following octets are in base 256
|
|
8139
|
+
* with the most significant digit first (typical big-endian binary unsigned
|
|
8140
|
+
* integer storage). So, for instance, if the length of a value was 257, the
|
|
8141
|
+
* first byte would be set to:
|
|
8142
|
+
*
|
|
8143
|
+
* 10000010 = 130 = 0x82.
|
|
8144
|
+
*
|
|
8145
|
+
* This indicates there are 2 octets (base 256) for the length. The second and
|
|
8146
|
+
* third bytes (the octets just mentioned) would store the length in base 256:
|
|
8147
|
+
*
|
|
8148
|
+
* octet 2: 00000001 = 1 * 256^1 = 256
|
|
8149
|
+
* octet 3: 00000001 = 1 * 256^0 = 1
|
|
8150
|
+
* total = 257
|
|
8151
|
+
*
|
|
8152
|
+
* The algorithm for converting a js integer value of 257 to base-256 is:
|
|
8153
|
+
*
|
|
8154
|
+
* var value = 257;
|
|
8155
|
+
* var bytes = [];
|
|
8156
|
+
* bytes[0] = (value >>> 8) & 0xFF; // most significant byte first
|
|
8157
|
+
* bytes[1] = value & 0xFF; // least significant byte last
|
|
8158
|
+
*
|
|
8159
|
+
* On the ASN.1 UNIVERSAL Object Identifier (OID) type:
|
|
8160
|
+
*
|
|
8161
|
+
* An OID can be written like: "value1.value2.value3...valueN"
|
|
8162
|
+
*
|
|
8163
|
+
* The DER encoding rules:
|
|
8164
|
+
*
|
|
8165
|
+
* The first byte has the value 40 * value1 + value2.
|
|
8166
|
+
* The following bytes, if any, encode the remaining values. Each value is
|
|
8167
|
+
* encoded in base 128, most significant digit first (big endian), with as
|
|
8168
|
+
* few digits as possible, and the most significant bit of each byte set
|
|
8169
|
+
* to 1 except the last in each value's encoding. For example: Given the
|
|
8170
|
+
* OID "1.2.840.113549", its DER encoding is (remember each byte except the
|
|
8171
|
+
* last one in each encoding is OR'd with 0x80):
|
|
8172
|
+
*
|
|
8173
|
+
* byte 1: 40 * 1 + 2 = 42 = 0x2A.
|
|
8174
|
+
* bytes 2-3: 128 * 6 + 72 = 840 = 6 72 = 6 72 = 0x0648 = 0x8648
|
|
8175
|
+
* bytes 4-6: 16384 * 6 + 128 * 119 + 13 = 6 119 13 = 0x06770D = 0x86F70D
|
|
8176
|
+
*
|
|
8177
|
+
* The final value is: 0x2A864886F70D.
|
|
8178
|
+
* The full OID (including ASN.1 tag and length of 6 bytes) is:
|
|
8179
|
+
* 0x06062A864886F70D
|
|
8180
|
+
*/
|
|
7768
8181
|
var $iGlOy = parcelRequire("iGlOy");
|
|
7769
8182
|
|
|
7770
8183
|
var $10862ec0f65326f9$exports = {};
|
|
7771
|
-
|
|
8184
|
+
/**
|
|
8185
|
+
* Object IDs for ASN.1.
|
|
8186
|
+
*
|
|
8187
|
+
* @author Dave Longley
|
|
8188
|
+
*
|
|
8189
|
+
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
8190
|
+
*/
|
|
7772
8191
|
var $iGlOy = parcelRequire("iGlOy");
|
|
7773
8192
|
$iGlOy.pki = $iGlOy.pki || {};
|
|
7774
8193
|
var $10862ec0f65326f9$var$oids = $10862ec0f65326f9$exports = $iGlOy.pki.oids = $iGlOy.oids = $iGlOy.oids || {};
|
|
@@ -8892,7 +9311,15 @@ var $579f29a8775d6845$var$_nonLatinRegex = /[^\\u0000-\\u00ff]/;
|
|
|
8892
9311
|
|
|
8893
9312
|
|
|
8894
9313
|
var $84d5ddf5dc7c5415$exports = {};
|
|
8895
|
-
|
|
9314
|
+
/**
|
|
9315
|
+
* Hash-based Message Authentication Code implementation. Requires a message
|
|
9316
|
+
* digest object that can be obtained, for example, from forge.md.sha1 or
|
|
9317
|
+
* forge.md.md5.
|
|
9318
|
+
*
|
|
9319
|
+
* @author Dave Longley
|
|
9320
|
+
*
|
|
9321
|
+
* Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved.
|
|
9322
|
+
*/
|
|
8896
9323
|
var $iGlOy = parcelRequire("iGlOy");
|
|
8897
9324
|
parcelRequire("ai0Z9");
|
|
8898
9325
|
|
|
@@ -9003,7 +9430,13 @@ parcelRequire("ai0Z9");
|
|
|
9003
9430
|
|
|
9004
9431
|
|
|
9005
9432
|
var $a933e3938fe5f3ff$exports = {};
|
|
9006
|
-
|
|
9433
|
+
/**
|
|
9434
|
+
* Message Digest Algorithm 5 with 128-bit digest (MD5) implementation.
|
|
9435
|
+
*
|
|
9436
|
+
* @author Dave Longley
|
|
9437
|
+
*
|
|
9438
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
9439
|
+
*/
|
|
9007
9440
|
var $iGlOy = parcelRequire("iGlOy");
|
|
9008
9441
|
parcelRequire("ai0Z9");
|
|
9009
9442
|
|
|
@@ -9362,7 +9795,34 @@ var $a933e3938fe5f3ff$var$_initialized = false;
|
|
|
9362
9795
|
|
|
9363
9796
|
|
|
9364
9797
|
var $6c81a009b991fd79$exports = {};
|
|
9365
|
-
|
|
9798
|
+
/**
|
|
9799
|
+
* Javascript implementation of basic PEM (Privacy Enhanced Mail) algorithms.
|
|
9800
|
+
*
|
|
9801
|
+
* See: RFC 1421.
|
|
9802
|
+
*
|
|
9803
|
+
* @author Dave Longley
|
|
9804
|
+
*
|
|
9805
|
+
* Copyright (c) 2013-2014 Digital Bazaar, Inc.
|
|
9806
|
+
*
|
|
9807
|
+
* A Forge PEM object has the following fields:
|
|
9808
|
+
*
|
|
9809
|
+
* type: identifies the type of message (eg: "RSA PRIVATE KEY").
|
|
9810
|
+
*
|
|
9811
|
+
* procType: identifies the type of processing performed on the message,
|
|
9812
|
+
* it has two subfields: version and type, eg: 4,ENCRYPTED.
|
|
9813
|
+
*
|
|
9814
|
+
* contentDomain: identifies the type of content in the message, typically
|
|
9815
|
+
* only uses the value: "RFC822".
|
|
9816
|
+
*
|
|
9817
|
+
* dekInfo: identifies the message encryption algorithm and mode and includes
|
|
9818
|
+
* any parameters for the algorithm, it has two subfields: algorithm and
|
|
9819
|
+
* parameters, eg: DES-CBC,F8143EDE5960C597.
|
|
9820
|
+
*
|
|
9821
|
+
* headers: contains all other PEM encapsulated headers -- where order is
|
|
9822
|
+
* significant (for pairing data like recipient ID + key info).
|
|
9823
|
+
*
|
|
9824
|
+
* body: the binary-encoded body.
|
|
9825
|
+
*/
|
|
9366
9826
|
var $iGlOy = parcelRequire("iGlOy");
|
|
9367
9827
|
|
|
9368
9828
|
// shortcut for pem API
|
|
@@ -9529,17 +9989,72 @@ function $6c81a009b991fd79$var$ltrim(str) {
|
|
|
9529
9989
|
|
|
9530
9990
|
|
|
9531
9991
|
var $71c5302ef2ea3950$exports = {};
|
|
9532
|
-
|
|
9992
|
+
/**
|
|
9993
|
+
* Javascript implementation of a basic Public Key Infrastructure, including
|
|
9994
|
+
* support for RSA public and private keys.
|
|
9995
|
+
*
|
|
9996
|
+
* @author Dave Longley
|
|
9997
|
+
*
|
|
9998
|
+
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
9999
|
+
*/
|
|
9533
10000
|
var $iGlOy = parcelRequire("iGlOy");
|
|
9534
10001
|
|
|
9535
10002
|
|
|
9536
10003
|
var $4ead143e6089ae29$exports = {};
|
|
9537
|
-
|
|
10004
|
+
/**
|
|
10005
|
+
* Password-based encryption functions.
|
|
10006
|
+
*
|
|
10007
|
+
* @author Dave Longley
|
|
10008
|
+
* @author Stefan Siegl <stesie@brokenpipe.de>
|
|
10009
|
+
*
|
|
10010
|
+
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
10011
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
10012
|
+
*
|
|
10013
|
+
* An EncryptedPrivateKeyInfo:
|
|
10014
|
+
*
|
|
10015
|
+
* EncryptedPrivateKeyInfo ::= SEQUENCE {
|
|
10016
|
+
* encryptionAlgorithm EncryptionAlgorithmIdentifier,
|
|
10017
|
+
* encryptedData EncryptedData }
|
|
10018
|
+
*
|
|
10019
|
+
* EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
|
|
10020
|
+
*
|
|
10021
|
+
* EncryptedData ::= OCTET STRING
|
|
10022
|
+
*/
|
|
9538
10023
|
var $iGlOy = parcelRequire("iGlOy");
|
|
9539
10024
|
|
|
9540
10025
|
|
|
9541
10026
|
var $ff4c3bd9116e15cc$exports = {};
|
|
9542
|
-
|
|
10027
|
+
/**
|
|
10028
|
+
* DES (Data Encryption Standard) implementation.
|
|
10029
|
+
*
|
|
10030
|
+
* This implementation supports DES as well as 3DES-EDE in ECB and CBC mode.
|
|
10031
|
+
* It is based on the BSD-licensed implementation by Paul Tero:
|
|
10032
|
+
*
|
|
10033
|
+
* Paul Tero, July 2001
|
|
10034
|
+
* http://www.tero.co.uk/des/
|
|
10035
|
+
*
|
|
10036
|
+
* Optimised for performance with large blocks by
|
|
10037
|
+
* Michael Hayworth, November 2001
|
|
10038
|
+
* http://www.netdealing.com
|
|
10039
|
+
*
|
|
10040
|
+
* THIS SOFTWARE IS PROVIDED "AS IS" AND
|
|
10041
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
10042
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
10043
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
10044
|
+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
10045
|
+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
10046
|
+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
10047
|
+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
10048
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
10049
|
+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
10050
|
+
* SUCH DAMAGE.
|
|
10051
|
+
*
|
|
10052
|
+
* @author Stefan Siegl
|
|
10053
|
+
* @author Dave Longley
|
|
10054
|
+
*
|
|
10055
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
10056
|
+
* Copyright (c) 2012-2014 Digital Bazaar, Inc.
|
|
10057
|
+
*/
|
|
9543
10058
|
var $iGlOy = parcelRequire("iGlOy");
|
|
9544
10059
|
|
|
9545
10060
|
|
|
@@ -10704,7 +11219,15 @@ var $ff4c3bd9116e15cc$var$spfunction8 = [
|
|
|
10704
11219
|
parcelRequire("ai0Z9");
|
|
10705
11220
|
|
|
10706
11221
|
var $7436abf0cf29a7b7$exports = {};
|
|
10707
|
-
|
|
11222
|
+
/**
|
|
11223
|
+
* Password-Based Key-Derivation Function #2 implementation.
|
|
11224
|
+
*
|
|
11225
|
+
* See RFC 2898 for details.
|
|
11226
|
+
*
|
|
11227
|
+
* @author Dave Longley
|
|
11228
|
+
*
|
|
11229
|
+
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
11230
|
+
*/
|
|
10708
11231
|
var $iGlOy = parcelRequire("iGlOy");
|
|
10709
11232
|
|
|
10710
11233
|
parcelRequire("ai0Z9");
|
|
@@ -10863,11 +11386,33 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript) $7436abf0cf29a7b7
|
|
|
10863
11386
|
|
|
10864
11387
|
|
|
10865
11388
|
var $b9b57fce3e6d85ef$exports = {};
|
|
10866
|
-
|
|
11389
|
+
/**
|
|
11390
|
+
* An API for getting cryptographically-secure random bytes. The bytes are
|
|
11391
|
+
* generated using the Fortuna algorithm devised by Bruce Schneier and
|
|
11392
|
+
* Niels Ferguson.
|
|
11393
|
+
*
|
|
11394
|
+
* Getting strong random bytes is not yet easy to do in javascript. The only
|
|
11395
|
+
* truish random entropy that can be collected is from the mouse, keyboard, or
|
|
11396
|
+
* from timing with respect to page loads, etc. This generator makes a poor
|
|
11397
|
+
* attempt at providing random bytes when those sources haven't yet provided
|
|
11398
|
+
* enough entropy to initially seed or to reseed the PRNG.
|
|
11399
|
+
*
|
|
11400
|
+
* @author Dave Longley
|
|
11401
|
+
*
|
|
11402
|
+
* Copyright (c) 2009-2014 Digital Bazaar, Inc.
|
|
11403
|
+
*/
|
|
10867
11404
|
var $iGlOy = parcelRequire("iGlOy");
|
|
10868
11405
|
|
|
10869
11406
|
var $e523b90a804c5bd3$exports = {};
|
|
10870
|
-
|
|
11407
|
+
/**
|
|
11408
|
+
* Secure Hash Algorithm with 256-bit digest (SHA-256) implementation.
|
|
11409
|
+
*
|
|
11410
|
+
* See FIPS 180-2 for details.
|
|
11411
|
+
*
|
|
11412
|
+
* @author Dave Longley
|
|
11413
|
+
*
|
|
11414
|
+
* Copyright (c) 2010-2015 Digital Bazaar, Inc.
|
|
11415
|
+
*/
|
|
10871
11416
|
var $iGlOy = parcelRequire("iGlOy");
|
|
10872
11417
|
parcelRequire("ai0Z9");
|
|
10873
11418
|
|
|
@@ -11177,7 +11722,17 @@ var $e523b90a804c5bd3$var$_k = null;
|
|
|
11177
11722
|
|
|
11178
11723
|
|
|
11179
11724
|
var $c761b0edb959b99a$exports = {};
|
|
11180
|
-
|
|
11725
|
+
/**
|
|
11726
|
+
* A javascript implementation of a cryptographically-secure
|
|
11727
|
+
* Pseudo Random Number Generator (PRNG). The Fortuna algorithm is followed
|
|
11728
|
+
* here though the use of SHA-256 is not enforced; when generating an
|
|
11729
|
+
* a PRNG context, the hashing algorithm and block cipher used for
|
|
11730
|
+
* the generator are specified via a plugin.
|
|
11731
|
+
*
|
|
11732
|
+
* @author Dave Longley
|
|
11733
|
+
*
|
|
11734
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
11735
|
+
*/
|
|
11181
11736
|
var $iGlOy = parcelRequire("iGlOy");
|
|
11182
11737
|
|
|
11183
11738
|
var $c761b0edb959b99a$var$_crypto = null;
|
|
@@ -11641,7 +12196,16 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11641
12196
|
|
|
11642
12197
|
|
|
11643
12198
|
var $e745366ef6f504e1$exports = {};
|
|
11644
|
-
|
|
12199
|
+
/**
|
|
12200
|
+
* RC2 implementation.
|
|
12201
|
+
*
|
|
12202
|
+
* @author Stefan Siegl
|
|
12203
|
+
*
|
|
12204
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
12205
|
+
*
|
|
12206
|
+
* Information on the RC2 cipher is available from RFC #2268,
|
|
12207
|
+
* http://www.ietf.org/rfc/rfc2268.txt
|
|
12208
|
+
*/
|
|
11645
12209
|
var $iGlOy = parcelRequire("iGlOy");
|
|
11646
12210
|
|
|
11647
12211
|
var $e745366ef6f504e1$var$piTable = [
|
|
@@ -12202,11 +12766,116 @@ var $e745366ef6f504e1$var$s = [
|
|
|
12202
12766
|
|
|
12203
12767
|
|
|
12204
12768
|
var $8ab3548bea1beb81$exports = {};
|
|
12205
|
-
|
|
12769
|
+
/**
|
|
12770
|
+
* Javascript implementation of basic RSA algorithms.
|
|
12771
|
+
*
|
|
12772
|
+
* @author Dave Longley
|
|
12773
|
+
*
|
|
12774
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
12775
|
+
*
|
|
12776
|
+
* The only algorithm currently supported for PKI is RSA.
|
|
12777
|
+
*
|
|
12778
|
+
* An RSA key is often stored in ASN.1 DER format. The SubjectPublicKeyInfo
|
|
12779
|
+
* ASN.1 structure is composed of an algorithm of type AlgorithmIdentifier
|
|
12780
|
+
* and a subjectPublicKey of type bit string.
|
|
12781
|
+
*
|
|
12782
|
+
* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
|
|
12783
|
+
* for the algorithm, if any. In the case of RSA, there aren't any.
|
|
12784
|
+
*
|
|
12785
|
+
* SubjectPublicKeyInfo ::= SEQUENCE {
|
|
12786
|
+
* algorithm AlgorithmIdentifier,
|
|
12787
|
+
* subjectPublicKey BIT STRING
|
|
12788
|
+
* }
|
|
12789
|
+
*
|
|
12790
|
+
* AlgorithmIdentifer ::= SEQUENCE {
|
|
12791
|
+
* algorithm OBJECT IDENTIFIER,
|
|
12792
|
+
* parameters ANY DEFINED BY algorithm OPTIONAL
|
|
12793
|
+
* }
|
|
12794
|
+
*
|
|
12795
|
+
* For an RSA public key, the subjectPublicKey is:
|
|
12796
|
+
*
|
|
12797
|
+
* RSAPublicKey ::= SEQUENCE {
|
|
12798
|
+
* modulus INTEGER, -- n
|
|
12799
|
+
* publicExponent INTEGER -- e
|
|
12800
|
+
* }
|
|
12801
|
+
*
|
|
12802
|
+
* PrivateKeyInfo ::= SEQUENCE {
|
|
12803
|
+
* version Version,
|
|
12804
|
+
* privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
|
|
12805
|
+
* privateKey PrivateKey,
|
|
12806
|
+
* attributes [0] IMPLICIT Attributes OPTIONAL
|
|
12807
|
+
* }
|
|
12808
|
+
*
|
|
12809
|
+
* Version ::= INTEGER
|
|
12810
|
+
* PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
|
|
12811
|
+
* PrivateKey ::= OCTET STRING
|
|
12812
|
+
* Attributes ::= SET OF Attribute
|
|
12813
|
+
*
|
|
12814
|
+
* An RSA private key as the following structure:
|
|
12815
|
+
*
|
|
12816
|
+
* RSAPrivateKey ::= SEQUENCE {
|
|
12817
|
+
* version Version,
|
|
12818
|
+
* modulus INTEGER, -- n
|
|
12819
|
+
* publicExponent INTEGER, -- e
|
|
12820
|
+
* privateExponent INTEGER, -- d
|
|
12821
|
+
* prime1 INTEGER, -- p
|
|
12822
|
+
* prime2 INTEGER, -- q
|
|
12823
|
+
* exponent1 INTEGER, -- d mod (p-1)
|
|
12824
|
+
* exponent2 INTEGER, -- d mod (q-1)
|
|
12825
|
+
* coefficient INTEGER -- (inverse of q) mod p
|
|
12826
|
+
* }
|
|
12827
|
+
*
|
|
12828
|
+
* Version ::= INTEGER
|
|
12829
|
+
*
|
|
12830
|
+
* The OID for the RSA key algorithm is: 1.2.840.113549.1.1.1
|
|
12831
|
+
*/
|
|
12206
12832
|
var $iGlOy = parcelRequire("iGlOy");
|
|
12207
12833
|
|
|
12208
12834
|
var $1831e702d86f54be$exports = {};
|
|
12209
|
-
|
|
12835
|
+
// Copyright (c) 2005 Tom Wu
|
|
12836
|
+
// All Rights Reserved.
|
|
12837
|
+
// See "LICENSE" for details.
|
|
12838
|
+
// Basic JavaScript BN library - subset useful for RSA encryption.
|
|
12839
|
+
/*
|
|
12840
|
+
Licensing (LICENSE)
|
|
12841
|
+
-------------------
|
|
12842
|
+
|
|
12843
|
+
This software is covered under the following copyright:
|
|
12844
|
+
*/ /*
|
|
12845
|
+
* Copyright (c) 2003-2005 Tom Wu
|
|
12846
|
+
* All Rights Reserved.
|
|
12847
|
+
*
|
|
12848
|
+
* Permission is hereby granted, free of charge, to any person obtaining
|
|
12849
|
+
* a copy of this software and associated documentation files (the
|
|
12850
|
+
* "Software"), to deal in the Software without restriction, including
|
|
12851
|
+
* without limitation the rights to use, copy, modify, merge, publish,
|
|
12852
|
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
12853
|
+
* permit persons to whom the Software is furnished to do so, subject to
|
|
12854
|
+
* the following conditions:
|
|
12855
|
+
*
|
|
12856
|
+
* The above copyright notice and this permission notice shall be
|
|
12857
|
+
* included in all copies or substantial portions of the Software.
|
|
12858
|
+
*
|
|
12859
|
+
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
12860
|
+
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
12861
|
+
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
12862
|
+
*
|
|
12863
|
+
* IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
|
12864
|
+
* INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
|
12865
|
+
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
|
12866
|
+
* THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
|
12867
|
+
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
12868
|
+
*
|
|
12869
|
+
* In addition, the following condition applies:
|
|
12870
|
+
*
|
|
12871
|
+
* All redistributions must retain an intact copy of this copyright notice
|
|
12872
|
+
* and disclaimer.
|
|
12873
|
+
*/ /*
|
|
12874
|
+
Address all questions regarding this license to:
|
|
12875
|
+
|
|
12876
|
+
Tom Wu
|
|
12877
|
+
tjw@cs.Stanford.EDU
|
|
12878
|
+
*/
|
|
12210
12879
|
var $iGlOy = parcelRequire("iGlOy");
|
|
12211
12880
|
$1831e702d86f54be$exports = $iGlOy.jsbn = $iGlOy.jsbn || {};
|
|
12212
12881
|
// Bits per digit
|
|
@@ -13535,7 +14204,7 @@ function $1831e702d86f54be$var$bnpMillerRabin(t) {
|
|
|
13535
14204
|
var y = a.modPow(r, this);
|
|
13536
14205
|
if (y.compareTo($1831e702d86f54be$var$BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
|
|
13537
14206
|
var j = 1;
|
|
13538
|
-
while(
|
|
14207
|
+
while(j++ < k && y.compareTo(n1) != 0){
|
|
13539
14208
|
y = y.modPowInt(2, this);
|
|
13540
14209
|
if (y.compareTo($1831e702d86f54be$var$BigInteger.ONE) == 0) return false;
|
|
13541
14210
|
}
|
|
@@ -13612,12 +14281,62 @@ $1831e702d86f54be$var$BigInteger.prototype.isProbablePrime = $1831e702d86f54be$v
|
|
|
13612
14281
|
|
|
13613
14282
|
|
|
13614
14283
|
var $564ac6480d83471d$exports = {};
|
|
13615
|
-
|
|
14284
|
+
/**
|
|
14285
|
+
* Partial implementation of PKCS#1 v2.2: RSA-OEAP
|
|
14286
|
+
*
|
|
14287
|
+
* Modified but based on the following MIT and BSD licensed code:
|
|
14288
|
+
*
|
|
14289
|
+
* https://github.com/kjur/jsjws/blob/master/rsa.js:
|
|
14290
|
+
*
|
|
14291
|
+
* The 'jsjws'(JSON Web Signature JavaScript Library) License
|
|
14292
|
+
*
|
|
14293
|
+
* Copyright (c) 2012 Kenji Urushima
|
|
14294
|
+
*
|
|
14295
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14296
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
14297
|
+
* in the Software without restriction, including without limitation the rights
|
|
14298
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14299
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
14300
|
+
* furnished to do so, subject to the following conditions:
|
|
14301
|
+
*
|
|
14302
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14303
|
+
* all copies or substantial portions of the Software.
|
|
14304
|
+
*
|
|
14305
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14306
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14307
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14308
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
14309
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
14310
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
14311
|
+
* THE SOFTWARE.
|
|
14312
|
+
*
|
|
14313
|
+
* http://webrsa.cvs.sourceforge.net/viewvc/webrsa/Client/RSAES-OAEP.js?content-type=text%2Fplain:
|
|
14314
|
+
*
|
|
14315
|
+
* RSAES-OAEP.js
|
|
14316
|
+
* $Id: RSAES-OAEP.js,v 1.1.1.1 2003/03/19 15:37:20 ellispritchard Exp $
|
|
14317
|
+
* JavaScript Implementation of PKCS #1 v2.1 RSA CRYPTOGRAPHY STANDARD (RSA Laboratories, June 14, 2002)
|
|
14318
|
+
* Copyright (C) Ellis Pritchard, Guardian Unlimited 2003.
|
|
14319
|
+
* Contact: ellis@nukinetics.com
|
|
14320
|
+
* Distributed under the BSD License.
|
|
14321
|
+
*
|
|
14322
|
+
* Official documentation: http://www.rsa.com/rsalabs/node.asp?id=2125
|
|
14323
|
+
*
|
|
14324
|
+
* @author Evan Jones (http://evanjones.ca/)
|
|
14325
|
+
* @author Dave Longley
|
|
14326
|
+
*
|
|
14327
|
+
* Copyright (c) 2013-2014 Digital Bazaar, Inc.
|
|
14328
|
+
*/
|
|
13616
14329
|
var $iGlOy = parcelRequire("iGlOy");
|
|
13617
14330
|
|
|
13618
14331
|
|
|
13619
14332
|
var $7dc60e406dad2a14$exports = {};
|
|
13620
|
-
|
|
14333
|
+
/**
|
|
14334
|
+
* Secure Hash Algorithm with 160-bit digest (SHA-1) implementation.
|
|
14335
|
+
*
|
|
14336
|
+
* @author Dave Longley
|
|
14337
|
+
*
|
|
14338
|
+
* Copyright (c) 2010-2015 Digital Bazaar, Inc.
|
|
14339
|
+
*/
|
|
13621
14340
|
var $iGlOy = parcelRequire("iGlOy");
|
|
13622
14341
|
parcelRequire("ai0Z9");
|
|
13623
14342
|
|
|
@@ -14052,7 +14771,13 @@ function $564ac6480d83471d$var$rsa_mgf1(seed, maskLength, hash) {
|
|
|
14052
14771
|
|
|
14053
14772
|
|
|
14054
14773
|
var $82c15eca7626be33$exports = {};
|
|
14055
|
-
|
|
14774
|
+
/**
|
|
14775
|
+
* Prime number generation API.
|
|
14776
|
+
*
|
|
14777
|
+
* @author Dave Longley
|
|
14778
|
+
*
|
|
14779
|
+
* Copyright (c) 2014 Digital Bazaar, Inc.
|
|
14780
|
+
*/
|
|
14056
14781
|
var $iGlOy = parcelRequire("iGlOy");
|
|
14057
14782
|
|
|
14058
14783
|
|
|
@@ -14163,7 +14888,7 @@ var $iGlOy = parcelRequire("iGlOy");
|
|
|
14163
14888
|
// do primality test
|
|
14164
14889
|
if (num.isProbablePrime(mrTests)) return callback(null, num);
|
|
14165
14890
|
// get next potential prime
|
|
14166
|
-
num.dAddOffset(GCD_30_DELTA[
|
|
14891
|
+
num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
|
|
14167
14892
|
}while (maxBlockTime < 0 || +new Date() - start < maxBlockTime);
|
|
14168
14893
|
// keep trying later
|
|
14169
14894
|
$iGlOy.util.setImmediate(function() {
|
|
@@ -14918,7 +15643,7 @@ var $8ab3548bea1beb81$var$digestInfoValidator = {
|
|
|
14918
15643
|
state.pqState = 0;
|
|
14919
15644
|
else if (state.num.isProbablePrime($8ab3548bea1beb81$var$_getMillerRabinTests(state.num.bitLength()))) ++state.pqState;
|
|
14920
15645
|
else // get next potential prime
|
|
14921
|
-
state.num.dAddOffset($8ab3548bea1beb81$var$GCD_30_DELTA[
|
|
15646
|
+
state.num.dAddOffset($8ab3548bea1beb81$var$GCD_30_DELTA[deltaIdx++ % 8], 0);
|
|
14922
15647
|
} else if (state.pqState === 2) // ensure number is coprime with e
|
|
14923
15648
|
state.pqState = state.num.subtract($8ab3548bea1beb81$var$BigInteger.ONE).gcd(state.e).compareTo($8ab3548bea1beb81$var$BigInteger.ONE) === 0 ? 3 : 0;
|
|
14924
15649
|
else if (state.pqState === 3) {
|
|
@@ -16733,13 +17458,215 @@ function $4ead143e6089ae29$var$createPbkdf2Params(salt, countBytes, dkLen, prfAl
|
|
|
16733
17458
|
|
|
16734
17459
|
|
|
16735
17460
|
var $6fcb727b03413917$exports = {};
|
|
16736
|
-
|
|
17461
|
+
/**
|
|
17462
|
+
* Javascript implementation of PKCS#12.
|
|
17463
|
+
*
|
|
17464
|
+
* @author Dave Longley
|
|
17465
|
+
* @author Stefan Siegl <stesie@brokenpipe.de>
|
|
17466
|
+
*
|
|
17467
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
17468
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
17469
|
+
*
|
|
17470
|
+
* The ASN.1 representation of PKCS#12 is as follows
|
|
17471
|
+
* (see ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12-tc1.pdf for details)
|
|
17472
|
+
*
|
|
17473
|
+
* PFX ::= SEQUENCE {
|
|
17474
|
+
* version INTEGER {v3(3)}(v3,...),
|
|
17475
|
+
* authSafe ContentInfo,
|
|
17476
|
+
* macData MacData OPTIONAL
|
|
17477
|
+
* }
|
|
17478
|
+
*
|
|
17479
|
+
* MacData ::= SEQUENCE {
|
|
17480
|
+
* mac DigestInfo,
|
|
17481
|
+
* macSalt OCTET STRING,
|
|
17482
|
+
* iterations INTEGER DEFAULT 1
|
|
17483
|
+
* }
|
|
17484
|
+
* Note: The iterations default is for historical reasons and its use is
|
|
17485
|
+
* deprecated. A higher value, like 1024, is recommended.
|
|
17486
|
+
*
|
|
17487
|
+
* DigestInfo is defined in PKCS#7 as follows:
|
|
17488
|
+
*
|
|
17489
|
+
* DigestInfo ::= SEQUENCE {
|
|
17490
|
+
* digestAlgorithm DigestAlgorithmIdentifier,
|
|
17491
|
+
* digest Digest
|
|
17492
|
+
* }
|
|
17493
|
+
*
|
|
17494
|
+
* DigestAlgorithmIdentifier ::= AlgorithmIdentifier
|
|
17495
|
+
*
|
|
17496
|
+
* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
|
|
17497
|
+
* for the algorithm, if any. In the case of SHA1 there is none.
|
|
17498
|
+
*
|
|
17499
|
+
* AlgorithmIdentifer ::= SEQUENCE {
|
|
17500
|
+
* algorithm OBJECT IDENTIFIER,
|
|
17501
|
+
* parameters ANY DEFINED BY algorithm OPTIONAL
|
|
17502
|
+
* }
|
|
17503
|
+
*
|
|
17504
|
+
* Digest ::= OCTET STRING
|
|
17505
|
+
*
|
|
17506
|
+
*
|
|
17507
|
+
* ContentInfo ::= SEQUENCE {
|
|
17508
|
+
* contentType ContentType,
|
|
17509
|
+
* content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
|
|
17510
|
+
* }
|
|
17511
|
+
*
|
|
17512
|
+
* ContentType ::= OBJECT IDENTIFIER
|
|
17513
|
+
*
|
|
17514
|
+
* AuthenticatedSafe ::= SEQUENCE OF ContentInfo
|
|
17515
|
+
* -- Data if unencrypted
|
|
17516
|
+
* -- EncryptedData if password-encrypted
|
|
17517
|
+
* -- EnvelopedData if public key-encrypted
|
|
17518
|
+
*
|
|
17519
|
+
*
|
|
17520
|
+
* SafeContents ::= SEQUENCE OF SafeBag
|
|
17521
|
+
*
|
|
17522
|
+
* SafeBag ::= SEQUENCE {
|
|
17523
|
+
* bagId BAG-TYPE.&id ({PKCS12BagSet})
|
|
17524
|
+
* bagValue [0] EXPLICIT BAG-TYPE.&Type({PKCS12BagSet}{@bagId}),
|
|
17525
|
+
* bagAttributes SET OF PKCS12Attribute OPTIONAL
|
|
17526
|
+
* }
|
|
17527
|
+
*
|
|
17528
|
+
* PKCS12Attribute ::= SEQUENCE {
|
|
17529
|
+
* attrId ATTRIBUTE.&id ({PKCS12AttrSet}),
|
|
17530
|
+
* attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})
|
|
17531
|
+
* } -- This type is compatible with the X.500 type 'Attribute'
|
|
17532
|
+
*
|
|
17533
|
+
* PKCS12AttrSet ATTRIBUTE ::= {
|
|
17534
|
+
* friendlyName | -- from PKCS #9
|
|
17535
|
+
* localKeyId, -- from PKCS #9
|
|
17536
|
+
* ... -- Other attributes are allowed
|
|
17537
|
+
* }
|
|
17538
|
+
*
|
|
17539
|
+
* CertBag ::= SEQUENCE {
|
|
17540
|
+
* certId BAG-TYPE.&id ({CertTypes}),
|
|
17541
|
+
* certValue [0] EXPLICIT BAG-TYPE.&Type ({CertTypes}{@certId})
|
|
17542
|
+
* }
|
|
17543
|
+
*
|
|
17544
|
+
* x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1}}
|
|
17545
|
+
* -- DER-encoded X.509 certificate stored in OCTET STRING
|
|
17546
|
+
*
|
|
17547
|
+
* sdsiCertificate BAG-TYPE ::= {IA5String IDENTIFIED BY {certTypes 2}}
|
|
17548
|
+
* -- Base64-encoded SDSI certificate stored in IA5String
|
|
17549
|
+
*
|
|
17550
|
+
* CertTypes BAG-TYPE ::= {
|
|
17551
|
+
* x509Certificate |
|
|
17552
|
+
* sdsiCertificate,
|
|
17553
|
+
* ... -- For future extensions
|
|
17554
|
+
* }
|
|
17555
|
+
*/
|
|
16737
17556
|
var $iGlOy = parcelRequire("iGlOy");
|
|
16738
17557
|
|
|
16739
17558
|
|
|
16740
17559
|
|
|
16741
17560
|
var $a5c085c32c6e5e1a$exports = {};
|
|
16742
|
-
|
|
17561
|
+
/**
|
|
17562
|
+
* Javascript implementation of ASN.1 validators for PKCS#7 v1.5.
|
|
17563
|
+
*
|
|
17564
|
+
* @author Dave Longley
|
|
17565
|
+
* @author Stefan Siegl
|
|
17566
|
+
*
|
|
17567
|
+
* Copyright (c) 2012-2015 Digital Bazaar, Inc.
|
|
17568
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
17569
|
+
*
|
|
17570
|
+
* The ASN.1 representation of PKCS#7 is as follows
|
|
17571
|
+
* (see RFC #2315 for details, http://www.ietf.org/rfc/rfc2315.txt):
|
|
17572
|
+
*
|
|
17573
|
+
* A PKCS#7 message consists of a ContentInfo on root level, which may
|
|
17574
|
+
* contain any number of further ContentInfo nested into it.
|
|
17575
|
+
*
|
|
17576
|
+
* ContentInfo ::= SEQUENCE {
|
|
17577
|
+
* contentType ContentType,
|
|
17578
|
+
* content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
|
|
17579
|
+
* }
|
|
17580
|
+
*
|
|
17581
|
+
* ContentType ::= OBJECT IDENTIFIER
|
|
17582
|
+
*
|
|
17583
|
+
* EnvelopedData ::= SEQUENCE {
|
|
17584
|
+
* version Version,
|
|
17585
|
+
* recipientInfos RecipientInfos,
|
|
17586
|
+
* encryptedContentInfo EncryptedContentInfo
|
|
17587
|
+
* }
|
|
17588
|
+
*
|
|
17589
|
+
* EncryptedData ::= SEQUENCE {
|
|
17590
|
+
* version Version,
|
|
17591
|
+
* encryptedContentInfo EncryptedContentInfo
|
|
17592
|
+
* }
|
|
17593
|
+
*
|
|
17594
|
+
* id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
|
|
17595
|
+
* us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
|
|
17596
|
+
*
|
|
17597
|
+
* SignedData ::= SEQUENCE {
|
|
17598
|
+
* version INTEGER,
|
|
17599
|
+
* digestAlgorithms DigestAlgorithmIdentifiers,
|
|
17600
|
+
* contentInfo ContentInfo,
|
|
17601
|
+
* certificates [0] IMPLICIT Certificates OPTIONAL,
|
|
17602
|
+
* crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
|
|
17603
|
+
* signerInfos SignerInfos
|
|
17604
|
+
* }
|
|
17605
|
+
*
|
|
17606
|
+
* SignerInfos ::= SET OF SignerInfo
|
|
17607
|
+
*
|
|
17608
|
+
* SignerInfo ::= SEQUENCE {
|
|
17609
|
+
* version Version,
|
|
17610
|
+
* issuerAndSerialNumber IssuerAndSerialNumber,
|
|
17611
|
+
* digestAlgorithm DigestAlgorithmIdentifier,
|
|
17612
|
+
* authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
|
|
17613
|
+
* digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
|
|
17614
|
+
* encryptedDigest EncryptedDigest,
|
|
17615
|
+
* unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
|
|
17616
|
+
* }
|
|
17617
|
+
*
|
|
17618
|
+
* EncryptedDigest ::= OCTET STRING
|
|
17619
|
+
*
|
|
17620
|
+
* Attributes ::= SET OF Attribute
|
|
17621
|
+
*
|
|
17622
|
+
* Attribute ::= SEQUENCE {
|
|
17623
|
+
* attrType OBJECT IDENTIFIER,
|
|
17624
|
+
* attrValues SET OF AttributeValue
|
|
17625
|
+
* }
|
|
17626
|
+
*
|
|
17627
|
+
* AttributeValue ::= ANY
|
|
17628
|
+
*
|
|
17629
|
+
* Version ::= INTEGER
|
|
17630
|
+
*
|
|
17631
|
+
* RecipientInfos ::= SET OF RecipientInfo
|
|
17632
|
+
*
|
|
17633
|
+
* EncryptedContentInfo ::= SEQUENCE {
|
|
17634
|
+
* contentType ContentType,
|
|
17635
|
+
* contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
|
|
17636
|
+
* encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
|
|
17637
|
+
* }
|
|
17638
|
+
*
|
|
17639
|
+
* ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
|
|
17640
|
+
*
|
|
17641
|
+
* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
|
|
17642
|
+
* for the algorithm, if any. In the case of AES and DES3, there is only one,
|
|
17643
|
+
* the IV.
|
|
17644
|
+
*
|
|
17645
|
+
* AlgorithmIdentifer ::= SEQUENCE {
|
|
17646
|
+
* algorithm OBJECT IDENTIFIER,
|
|
17647
|
+
* parameters ANY DEFINED BY algorithm OPTIONAL
|
|
17648
|
+
* }
|
|
17649
|
+
*
|
|
17650
|
+
* EncryptedContent ::= OCTET STRING
|
|
17651
|
+
*
|
|
17652
|
+
* RecipientInfo ::= SEQUENCE {
|
|
17653
|
+
* version Version,
|
|
17654
|
+
* issuerAndSerialNumber IssuerAndSerialNumber,
|
|
17655
|
+
* keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
|
|
17656
|
+
* encryptedKey EncryptedKey
|
|
17657
|
+
* }
|
|
17658
|
+
*
|
|
17659
|
+
* IssuerAndSerialNumber ::= SEQUENCE {
|
|
17660
|
+
* issuer Name,
|
|
17661
|
+
* serialNumber CertificateSerialNumber
|
|
17662
|
+
* }
|
|
17663
|
+
*
|
|
17664
|
+
* CertificateSerialNumber ::= INTEGER
|
|
17665
|
+
*
|
|
17666
|
+
* KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
|
|
17667
|
+
*
|
|
17668
|
+
* EncryptedKey ::= OCTET STRING
|
|
17669
|
+
*/
|
|
16743
17670
|
var $iGlOy = parcelRequire("iGlOy");
|
|
16744
17671
|
|
|
16745
17672
|
|
|
@@ -17086,17 +18013,139 @@ $a5c085c32c6e5e1a$var$p7v.recipientInfoValidator = {
|
|
|
17086
18013
|
|
|
17087
18014
|
|
|
17088
18015
|
var $f71d929f259208f7$exports = {};
|
|
17089
|
-
|
|
18016
|
+
/**
|
|
18017
|
+
* Javascript implementation of X.509 and related components (such as
|
|
18018
|
+
* Certification Signing Requests) of a Public Key Infrastructure.
|
|
18019
|
+
*
|
|
18020
|
+
* @author Dave Longley
|
|
18021
|
+
*
|
|
18022
|
+
* Copyright (c) 2010-2014 Digital Bazaar, Inc.
|
|
18023
|
+
*
|
|
18024
|
+
* The ASN.1 representation of an X.509v3 certificate is as follows
|
|
18025
|
+
* (see RFC 2459):
|
|
18026
|
+
*
|
|
18027
|
+
* Certificate ::= SEQUENCE {
|
|
18028
|
+
* tbsCertificate TBSCertificate,
|
|
18029
|
+
* signatureAlgorithm AlgorithmIdentifier,
|
|
18030
|
+
* signatureValue BIT STRING
|
|
18031
|
+
* }
|
|
18032
|
+
*
|
|
18033
|
+
* TBSCertificate ::= SEQUENCE {
|
|
18034
|
+
* version [0] EXPLICIT Version DEFAULT v1,
|
|
18035
|
+
* serialNumber CertificateSerialNumber,
|
|
18036
|
+
* signature AlgorithmIdentifier,
|
|
18037
|
+
* issuer Name,
|
|
18038
|
+
* validity Validity,
|
|
18039
|
+
* subject Name,
|
|
18040
|
+
* subjectPublicKeyInfo SubjectPublicKeyInfo,
|
|
18041
|
+
* issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
18042
|
+
* -- If present, version shall be v2 or v3
|
|
18043
|
+
* subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
18044
|
+
* -- If present, version shall be v2 or v3
|
|
18045
|
+
* extensions [3] EXPLICIT Extensions OPTIONAL
|
|
18046
|
+
* -- If present, version shall be v3
|
|
18047
|
+
* }
|
|
18048
|
+
*
|
|
18049
|
+
* Version ::= INTEGER { v1(0), v2(1), v3(2) }
|
|
18050
|
+
*
|
|
18051
|
+
* CertificateSerialNumber ::= INTEGER
|
|
18052
|
+
*
|
|
18053
|
+
* Name ::= CHOICE {
|
|
18054
|
+
* // only one possible choice for now
|
|
18055
|
+
* RDNSequence
|
|
18056
|
+
* }
|
|
18057
|
+
*
|
|
18058
|
+
* RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
|
|
18059
|
+
*
|
|
18060
|
+
* RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
|
|
18061
|
+
*
|
|
18062
|
+
* AttributeTypeAndValue ::= SEQUENCE {
|
|
18063
|
+
* type AttributeType,
|
|
18064
|
+
* value AttributeValue
|
|
18065
|
+
* }
|
|
18066
|
+
* AttributeType ::= OBJECT IDENTIFIER
|
|
18067
|
+
* AttributeValue ::= ANY DEFINED BY AttributeType
|
|
18068
|
+
*
|
|
18069
|
+
* Validity ::= SEQUENCE {
|
|
18070
|
+
* notBefore Time,
|
|
18071
|
+
* notAfter Time
|
|
18072
|
+
* }
|
|
18073
|
+
*
|
|
18074
|
+
* Time ::= CHOICE {
|
|
18075
|
+
* utcTime UTCTime,
|
|
18076
|
+
* generalTime GeneralizedTime
|
|
18077
|
+
* }
|
|
18078
|
+
*
|
|
18079
|
+
* UniqueIdentifier ::= BIT STRING
|
|
18080
|
+
*
|
|
18081
|
+
* SubjectPublicKeyInfo ::= SEQUENCE {
|
|
18082
|
+
* algorithm AlgorithmIdentifier,
|
|
18083
|
+
* subjectPublicKey BIT STRING
|
|
18084
|
+
* }
|
|
18085
|
+
*
|
|
18086
|
+
* Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
|
|
18087
|
+
*
|
|
18088
|
+
* Extension ::= SEQUENCE {
|
|
18089
|
+
* extnID OBJECT IDENTIFIER,
|
|
18090
|
+
* critical BOOLEAN DEFAULT FALSE,
|
|
18091
|
+
* extnValue OCTET STRING
|
|
18092
|
+
* }
|
|
18093
|
+
*
|
|
18094
|
+
* The only key algorithm currently supported for PKI is RSA.
|
|
18095
|
+
*
|
|
18096
|
+
* RSASSA-PSS signatures are described in RFC 3447 and RFC 4055.
|
|
18097
|
+
*
|
|
18098
|
+
* PKCS#10 v1.7 describes certificate signing requests:
|
|
18099
|
+
*
|
|
18100
|
+
* CertificationRequestInfo:
|
|
18101
|
+
*
|
|
18102
|
+
* CertificationRequestInfo ::= SEQUENCE {
|
|
18103
|
+
* version INTEGER { v1(0) } (v1,...),
|
|
18104
|
+
* subject Name,
|
|
18105
|
+
* subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
|
|
18106
|
+
* attributes [0] Attributes{{ CRIAttributes }}
|
|
18107
|
+
* }
|
|
18108
|
+
*
|
|
18109
|
+
* Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
|
|
18110
|
+
*
|
|
18111
|
+
* CRIAttributes ATTRIBUTE ::= {
|
|
18112
|
+
* ... -- add any locally defined attributes here -- }
|
|
18113
|
+
*
|
|
18114
|
+
* Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
|
|
18115
|
+
* type ATTRIBUTE.&id({IOSet}),
|
|
18116
|
+
* values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
|
|
18117
|
+
* }
|
|
18118
|
+
*
|
|
18119
|
+
* CertificationRequest ::= SEQUENCE {
|
|
18120
|
+
* certificationRequestInfo CertificationRequestInfo,
|
|
18121
|
+
* signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},
|
|
18122
|
+
* signature BIT STRING
|
|
18123
|
+
* }
|
|
18124
|
+
*/
|
|
17090
18125
|
var $iGlOy = parcelRequire("iGlOy");
|
|
17091
18126
|
|
|
17092
18127
|
|
|
17093
18128
|
|
|
17094
18129
|
parcelRequire("ai0Z9");
|
|
17095
18130
|
var $c01d1f977f850a49$exports = {};
|
|
17096
|
-
|
|
18131
|
+
/**
|
|
18132
|
+
* Node.js module for Forge mask generation functions.
|
|
18133
|
+
*
|
|
18134
|
+
* @author Stefan Siegl
|
|
18135
|
+
*
|
|
18136
|
+
* Copyright 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
18137
|
+
*/
|
|
17097
18138
|
var $iGlOy = parcelRequire("iGlOy");
|
|
17098
18139
|
var $1a758e61c98aa2f6$exports = {};
|
|
17099
|
-
|
|
18140
|
+
/**
|
|
18141
|
+
* Javascript implementation of mask generation function MGF1.
|
|
18142
|
+
*
|
|
18143
|
+
* @author Stefan Siegl
|
|
18144
|
+
* @author Dave Longley
|
|
18145
|
+
*
|
|
18146
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
18147
|
+
* Copyright (c) 2014 Digital Bazaar, Inc.
|
|
18148
|
+
*/
|
|
17100
18149
|
var $iGlOy = parcelRequire("iGlOy");
|
|
17101
18150
|
|
|
17102
18151
|
$iGlOy.mgf = $iGlOy.mgf || {};
|
|
@@ -17141,7 +18190,13 @@ $iGlOy.mgf.mgf1 = $iGlOy.mgf1;
|
|
|
17141
18190
|
|
|
17142
18191
|
|
|
17143
18192
|
var $6aa068716df79957$exports = {};
|
|
17144
|
-
|
|
18193
|
+
/**
|
|
18194
|
+
* Javascript implementation of PKCS#1 PSS signature padding.
|
|
18195
|
+
*
|
|
18196
|
+
* @author Stefan Siegl
|
|
18197
|
+
*
|
|
18198
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
18199
|
+
*/
|
|
17145
18200
|
var $iGlOy = parcelRequire("iGlOy");
|
|
17146
18201
|
|
|
17147
18202
|
|
|
@@ -24851,12 +25906,32 @@ function $48103dfbc323e2e4$var$initConnectionState(state, c, sp) {
|
|
|
24851
25906
|
|
|
24852
25907
|
|
|
24853
25908
|
var $96695cc1b97188e1$exports = {};
|
|
24854
|
-
|
|
25909
|
+
/**
|
|
25910
|
+
* JavaScript implementation of Ed25519.
|
|
25911
|
+
*
|
|
25912
|
+
* Copyright (c) 2017-2019 Digital Bazaar, Inc.
|
|
25913
|
+
*
|
|
25914
|
+
* This implementation is based on the most excellent TweetNaCl which is
|
|
25915
|
+
* in the public domain. Many thanks to its contributors:
|
|
25916
|
+
*
|
|
25917
|
+
* https://github.com/dchest/tweetnacl-js
|
|
25918
|
+
*/
|
|
24855
25919
|
var $iGlOy = parcelRequire("iGlOy");
|
|
24856
25920
|
|
|
24857
25921
|
|
|
24858
25922
|
var $33c8fc1a702f0359$exports = {};
|
|
24859
|
-
|
|
25923
|
+
/**
|
|
25924
|
+
* Secure Hash Algorithm with a 1024-bit block size implementation.
|
|
25925
|
+
*
|
|
25926
|
+
* This includes: SHA-512, SHA-384, SHA-512/224, and SHA-512/256. For
|
|
25927
|
+
* SHA-256 (block size 512 bits), see sha256.js.
|
|
25928
|
+
*
|
|
25929
|
+
* See FIPS 180-4 for details.
|
|
25930
|
+
*
|
|
25931
|
+
* @author Dave Longley
|
|
25932
|
+
*
|
|
25933
|
+
* Copyright (c) 2014-2015 Digital Bazaar, Inc.
|
|
25934
|
+
*/
|
|
24860
25935
|
var $iGlOy = parcelRequire("iGlOy");
|
|
24861
25936
|
parcelRequire("ai0Z9");
|
|
24862
25937
|
|
|
@@ -25661,7 +26736,9 @@ var $33c8fc1a702f0359$var$_states = null;
|
|
|
25661
26736
|
|
|
25662
26737
|
|
|
25663
26738
|
|
|
25664
|
-
|
|
26739
|
+
/**
|
|
26740
|
+
* Copyright (c) 2019 Digital Bazaar, Inc.
|
|
26741
|
+
*/ var $4540a91b15e72417$export$fed72f95cdc10258;
|
|
25665
26742
|
var $4540a91b15e72417$export$16f1063872153885;
|
|
25666
26743
|
|
|
25667
26744
|
var $iGlOy = parcelRequire("iGlOy");
|
|
@@ -26767,7 +27844,15 @@ function $96695cc1b97188e1$var$M(o, a, b) {
|
|
|
26767
27844
|
|
|
26768
27845
|
|
|
26769
27846
|
var $8866d3403f6374db$exports = {};
|
|
26770
|
-
|
|
27847
|
+
/**
|
|
27848
|
+
* Javascript implementation of RSA-KEM.
|
|
27849
|
+
*
|
|
27850
|
+
* @author Lautaro Cozzani Rodriguez
|
|
27851
|
+
* @author Dave Longley
|
|
27852
|
+
*
|
|
27853
|
+
* Copyright (c) 2014 Lautaro Cozzani <lautaro.cozzani@scytl.com>
|
|
27854
|
+
* Copyright (c) 2014 Digital Bazaar, Inc.
|
|
27855
|
+
*/
|
|
26771
27856
|
var $iGlOy = parcelRequire("iGlOy");
|
|
26772
27857
|
|
|
26773
27858
|
|
|
@@ -26900,7 +27985,13 @@ var $8866d3403f6374db$var$BigInteger = $iGlOy.jsbn.BigInteger;
|
|
|
26900
27985
|
|
|
26901
27986
|
|
|
26902
27987
|
var $4b898e145571f67c$exports = {};
|
|
26903
|
-
|
|
27988
|
+
/**
|
|
27989
|
+
* Cross-browser support for logging in a web application.
|
|
27990
|
+
*
|
|
27991
|
+
* @author David I. Lehn <dlehn@digitalbazaar.com>
|
|
27992
|
+
*
|
|
27993
|
+
* Copyright (c) 2008-2013 Digital Bazaar, Inc.
|
|
27994
|
+
*/
|
|
26904
27995
|
var $iGlOy = parcelRequire("iGlOy");
|
|
26905
27996
|
|
|
26906
27997
|
/* LOG API */ $4b898e145571f67c$exports = $iGlOy.log = $iGlOy.log || {};
|
|
@@ -27171,14 +28262,14 @@ $iGlOy.log.consoleLogger = $4b898e145571f67c$var$sConsoleLogger;
|
|
|
27171
28262
|
|
|
27172
28263
|
|
|
27173
28264
|
var $8e579bac14cccf16$exports = {};
|
|
27174
|
-
|
|
27175
28265
|
/**
|
|
27176
28266
|
* Node.js module for all known Forge message digests.
|
|
27177
28267
|
*
|
|
27178
28268
|
* @author Dave Longley
|
|
27179
28269
|
*
|
|
27180
28270
|
* Copyright 2011-2017 Digital Bazaar, Inc.
|
|
27181
|
-
*/
|
|
28271
|
+
*/
|
|
28272
|
+
$8e579bac14cccf16$exports = (parcelRequire("ai0Z9"));
|
|
27182
28273
|
|
|
27183
28274
|
|
|
27184
28275
|
|
|
@@ -27191,7 +28282,24 @@ var $8e579bac14cccf16$exports = {};
|
|
|
27191
28282
|
|
|
27192
28283
|
|
|
27193
28284
|
var $e128d865c5cf51a7$exports = {};
|
|
27194
|
-
|
|
28285
|
+
/**
|
|
28286
|
+
* Javascript implementation of PKCS#7 v1.5.
|
|
28287
|
+
*
|
|
28288
|
+
* @author Stefan Siegl
|
|
28289
|
+
* @author Dave Longley
|
|
28290
|
+
*
|
|
28291
|
+
* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
|
|
28292
|
+
* Copyright (c) 2012-2015 Digital Bazaar, Inc.
|
|
28293
|
+
*
|
|
28294
|
+
* Currently this implementation only supports ContentType of EnvelopedData,
|
|
28295
|
+
* EncryptedData, or SignedData at the root level. The top level elements may
|
|
28296
|
+
* contain only a ContentInfo of ContentType Data, i.e. plain data. Further
|
|
28297
|
+
* nesting is not (yet) supported.
|
|
28298
|
+
*
|
|
28299
|
+
* The Forge validators for PKCS #7's ASN.1 structures are available from
|
|
28300
|
+
* a separate file pkcs7asn1.js, since those are referenced from other
|
|
28301
|
+
* PKCS standards like PKCS #12.
|
|
28302
|
+
*/
|
|
27195
28303
|
var $iGlOy = parcelRequire("iGlOy");
|
|
27196
28304
|
|
|
27197
28305
|
|
|
@@ -28138,7 +29246,16 @@ $e128d865c5cf51a7$var$p7.createSignedData = function() {
|
|
|
28138
29246
|
|
|
28139
29247
|
|
|
28140
29248
|
var $85c6486b1bf8bee8$exports = {};
|
|
28141
|
-
|
|
29249
|
+
/**
|
|
29250
|
+
* Functions to output keys in SSH-friendly formats.
|
|
29251
|
+
*
|
|
29252
|
+
* This is part of the Forge project which may be used under the terms of
|
|
29253
|
+
* either the BSD License or the GNU General Public License (GPL) Version 2.
|
|
29254
|
+
*
|
|
29255
|
+
* See: https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE
|
|
29256
|
+
*
|
|
29257
|
+
* @author https://github.com/shellac
|
|
29258
|
+
*/
|
|
28142
29259
|
var $iGlOy = parcelRequire("iGlOy");
|
|
28143
29260
|
|
|
28144
29261
|
|
|
@@ -28457,8 +29574,49 @@ async function $186980c178984fd2$export$2e2bcd8739ae039(fs, options) {
|
|
|
28457
29574
|
}
|
|
28458
29575
|
|
|
28459
29576
|
|
|
29577
|
+
|
|
29578
|
+
|
|
29579
|
+
const $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX = /^([a-zA-Z]:){0,1}[\\/]+/;
|
|
29580
|
+
const $3dff16cfd200ff25$var$SEPARATOR_REGEX = /[\\]+/g;
|
|
29581
|
+
function $3dff16cfd200ff25$export$e434c7255acda994(filepath) {
|
|
29582
|
+
return $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX.test(filepath);
|
|
29583
|
+
}
|
|
29584
|
+
function $3dff16cfd200ff25$export$16778b798ae8e49d(filePath) {
|
|
29585
|
+
return filePath.replace($3dff16cfd200ff25$var$SEPARATOR_REGEX, "/");
|
|
29586
|
+
}
|
|
29587
|
+
function $3dff16cfd200ff25$export$6af368f973c74c5(filePath, leadingDotSlash = true) {
|
|
29588
|
+
if (leadingDotSlash && (filePath[0] !== "." || filePath[1] !== "." && filePath[1] !== "/" && filePath[1] !== "\\") && !(0, ($parcel$interopDefault($8C1kk$path))).isAbsolute(filePath)) return $3dff16cfd200ff25$export$16778b798ae8e49d("./" + filePath);
|
|
29589
|
+
else return $3dff16cfd200ff25$export$16778b798ae8e49d(filePath);
|
|
29590
|
+
}
|
|
29591
|
+
function $3dff16cfd200ff25$export$7413eea5ad243d4(from, to, leadingDotSlash = true) {
|
|
29592
|
+
// Fast path
|
|
29593
|
+
if (to.startsWith(from + "/")) return (leadingDotSlash ? "./" : "") + to.slice(from.length + 1);
|
|
29594
|
+
return $3dff16cfd200ff25$export$6af368f973c74c5((0, ($parcel$interopDefault($8C1kk$path))).relative(from, to), leadingDotSlash);
|
|
29595
|
+
}
|
|
29596
|
+
|
|
29597
|
+
|
|
29598
|
+
function $313980afb666b13e$export$2e2bcd8739ae039(_name) {
|
|
29599
|
+
let name = (0, ($parcel$interopDefault($8C1kk$path))).normalize(_name);
|
|
29600
|
+
let splitOn = name.indexOf((0, ($parcel$interopDefault($8C1kk$path))).sep);
|
|
29601
|
+
if (name.charAt(0) === "@") splitOn = name.indexOf((0, ($parcel$interopDefault($8C1kk$path))).sep, splitOn + 1);
|
|
29602
|
+
if (splitOn < 0) return [
|
|
29603
|
+
(0, $3dff16cfd200ff25$export$16778b798ae8e49d)(name),
|
|
29604
|
+
undefined
|
|
29605
|
+
];
|
|
29606
|
+
else return [
|
|
29607
|
+
(0, $3dff16cfd200ff25$export$16778b798ae8e49d)(name.substring(0, splitOn)),
|
|
29608
|
+
name.substring(splitOn + 1) || undefined
|
|
29609
|
+
];
|
|
29610
|
+
}
|
|
29611
|
+
|
|
29612
|
+
|
|
28460
29613
|
var $5aee5a8e09e874bf$exports = {};
|
|
28461
|
-
|
|
29614
|
+
/*!
|
|
29615
|
+
* is-glob <https://github.com/jonschlinkert/is-glob>
|
|
29616
|
+
*
|
|
29617
|
+
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
29618
|
+
* Released under the MIT License.
|
|
29619
|
+
*/ var $49a059b76f641953$exports = {};
|
|
28462
29620
|
/*!
|
|
28463
29621
|
* is-extglob <https://github.com/jonschlinkert/is-extglob>
|
|
28464
29622
|
*
|
|
@@ -31882,25 +33040,6 @@ $b57e78be4f7a2622$exports = $b57e78be4f7a2622$var$FastGlob;
|
|
|
31882
33040
|
|
|
31883
33041
|
|
|
31884
33042
|
|
|
31885
|
-
const $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX = /^([a-zA-Z]:){0,1}[\\/]+/;
|
|
31886
|
-
const $3dff16cfd200ff25$var$SEPARATOR_REGEX = /[\\]+/g;
|
|
31887
|
-
function $3dff16cfd200ff25$export$e434c7255acda994(filepath) {
|
|
31888
|
-
return $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX.test(filepath);
|
|
31889
|
-
}
|
|
31890
|
-
function $3dff16cfd200ff25$export$16778b798ae8e49d(filePath) {
|
|
31891
|
-
return filePath.replace($3dff16cfd200ff25$var$SEPARATOR_REGEX, "/");
|
|
31892
|
-
}
|
|
31893
|
-
function $3dff16cfd200ff25$export$6af368f973c74c5(filePath, leadingDotSlash = true) {
|
|
31894
|
-
if (leadingDotSlash && (filePath[0] !== "." || filePath[1] !== "." && filePath[1] !== "/" && filePath[1] !== "\\") && !(0, ($parcel$interopDefault($8C1kk$path))).isAbsolute(filePath)) return $3dff16cfd200ff25$export$16778b798ae8e49d("./" + filePath);
|
|
31895
|
-
else return $3dff16cfd200ff25$export$16778b798ae8e49d(filePath);
|
|
31896
|
-
}
|
|
31897
|
-
function $3dff16cfd200ff25$export$7413eea5ad243d4(from, to, leadingDotSlash = true) {
|
|
31898
|
-
// Fast path
|
|
31899
|
-
if (to.startsWith(from + "/")) return (leadingDotSlash ? "./" : "") + to.slice(from.length + 1);
|
|
31900
|
-
return $3dff16cfd200ff25$export$6af368f973c74c5((0, ($parcel$interopDefault($8C1kk$path))).relative(from, to), leadingDotSlash);
|
|
31901
|
-
}
|
|
31902
|
-
|
|
31903
|
-
|
|
31904
33043
|
function $e8d0e504a4244d84$export$f3a2344a73dbdd42(p) {
|
|
31905
33044
|
return (0, (/*@__PURE__*/$parcel$interopDefault($5aee5a8e09e874bf$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p));
|
|
31906
33045
|
}
|
|
@@ -32925,9 +34064,9 @@ function $e499d3e618e93ebd$export$2e2bcd8739ae039(fn, delay) {
|
|
|
32925
34064
|
|
|
32926
34065
|
|
|
32927
34066
|
var $618f8c1de80a427f$exports = {};
|
|
32928
|
-
"use strict";
|
|
32929
34067
|
|
|
32930
34068
|
var $618f8c1de80a427f$var$$parcel$__dirname = $8C1kk$path.resolve(__dirname, "../../../../node_modules/open");
|
|
34069
|
+
"use strict";
|
|
32931
34070
|
|
|
32932
34071
|
var $618f8c1de80a427f$require$promisify = $8C1kk$util.promisify;
|
|
32933
34072
|
|
|
@@ -35203,7 +36342,7 @@ function $4b14026b40817fca$export$42462553d605d8cd(fs, filePath) {
|
|
|
35203
36342
|
}
|
|
35204
36343
|
|
|
35205
36344
|
|
|
35206
|
-
let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
|
|
36345
|
+
/* global MessageChannel:readonly */ let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
|
|
35207
36346
|
if (process.browser) {
|
|
35208
36347
|
$1c93db5abaa33eaa$export$8b1c306fed4227bf = ArrayBuffer; // Safari has removed the constructor
|
|
35209
36348
|
if (typeof SharedArrayBuffer !== "undefined") {
|