123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- 'use strict';
- 'require baseclass';
- return baseclass.extend({
- _encryptionAlgorithms: new Map([
- ['3des', true],
- ['cast128', true],
- ['blowfish128', true],
- ['blowfish192', true],
- ['blowfish256', true],
- ['null', true],
- ['aes128'],
- ['aes192'],
- ['aes256'],
- ['aes128ctr'],
- ['aes192ctr'],
- ['aes256ctr'],
- ['camellia128'],
- ['camellia192'],
- ['camellia256'],
- ['camellia128ctr'],
- ['camellia192ctr'],
- ['camellia256ctr']
- ]),
- _authenticatedEncryptionAlgorithms: new Map([
- ['aes128ccm64'],
- ['aes192ccm64'],
- ['aes256ccm64'],
- ['aes128ccm96'],
- ['aes192ccm96'],
- ['aes256ccm96'],
- ['aes128ccm128'],
- ['aes192ccm128'],
- ['aes256ccm128'],
- ['aes128gcm64'],
- ['aes192gcm64'],
- ['aes256gcm64'],
- ['aes128gcm96'],
- ['aes192gcm96'],
- ['aes256gcm96'],
- ['aes128gcm128'],
- ['aes192gcm128'],
- ['aes256gcm128'],
- ['aes128gmac'],
- ['aes192gmac'],
- ['aes256gmac'],
- ['camellia128ccm64'],
- ['camellia192ccm64'],
- ['camellia256ccm64'],
- ['camellia128ccm96'],
- ['camellia192ccm96'],
- ['camellia256ccm96'],
- ['camellia128ccm128'],
- ['camellia192ccm128'],
- ['camellia256ccm128'],
- ['chacha20poly1305']
- ]),
- _hashAlgorithms: new Map([
- ['md5', true],
- ['md5_128', true],
- ['sha1', true],
- ['sha1_160', true],
- ['aesxcbc'],
- ['aescmac'],
- ['aes128gmac'],
- ['aes192gmac'],
- ['aes256gmac'],
- ['sha256'],
- ['sha384'],
- ['sha512'],
- ['sha256_96']
- ]),
- _dhAlgorithms: new Map([
- ['modp768', true],
- ['modp1024', true],
- ['modp1536', true],
- ['modp2048'],
- ['modp3072'],
- ['modp4096'],
- ['modp6144'],
- ['modp8192'],
- ['modp1024s160', true],
- ['modp2048s224', true],
- ['modp2048s256', true],
- ['ecp192', true],
- ['ecp224'],
- ['ecp256'],
- ['ecp384'],
- ['ecp521'],
- ['ecp224bp'],
- ['ecp256bp'],
- ['ecp384bp'],
- ['ecp512bp'],
- ['curve25519'],
- ['curve448']
- ]),
- _prfAlgorithms: new Map([
- ['prfmd5', true],
- ['prfsha1', true],
- ['prfaesxcbc'],
- ['prfaescmac'],
- ['prfsha256'],
- ['prfsha384'],
- ['prfsha512']
- ]),
- _getAlgorithmNames: function (algorithms) {
- return Array.from(algorithms.keys());
- },
- isInsecure: function (algorithmName) {
- return this._encryptionAlgorithms.get(algorithmName) == true
- || this._authenticatedEncryptionAlgorithms.get(algorithmName) == true
- || this._hashAlgorithms.get(algorithmName) == true
- || this._dhAlgorithms.get(algorithmName) == true
- || this._prfAlgorithms.get(algorithmName) == true;
- },
- getEncryptionAlgorithms: function () {
- return this._getAlgorithmNames(this._encryptionAlgorithms);
- },
- getAuthenticatedEncryptionAlgorithms: function () {
- return this._getAlgorithmNames(this._authenticatedEncryptionAlgorithms);
- },
- getHashAlgorithms: function () {
- return this._getAlgorithmNames(this._hashAlgorithms);
- },
- getDiffieHellmanAlgorithms: function () {
- return this._getAlgorithmNames(this._dhAlgorithms);
- },
- getPrfAlgorithms: function () {
- return this._getAlgorithmNames(this._prfAlgorithms);
- }
- });
|