scanoss 0.16.5 → 0.17.0
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/CHANGELOG.md +16 -0
- package/build/main/cli/bin/cli-bin.js +2 -2
- package/build/main/cli/commands/crypto.js +1 -1
- package/build/main/cli/commands/scan.js +8 -4
- package/build/main/sdk/BaseConfig.d.ts +38 -9
- package/build/main/sdk/BaseConfig.js +82 -13
- package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +5 -2
- package/build/main/sdk/Cryptography/CryptoCfg.d.ts +7 -13
- package/build/main/sdk/Cryptography/CryptoCfg.js +7 -14
- package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +5 -2
- package/build/main/sdk/Dependencies/DependencyScanner.d.ts +1 -0
- package/build/main/sdk/Dependencies/DependencyScanner.js +6 -13
- package/build/main/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -1
- package/build/main/sdk/Dependencies/DependencyScannerCfg.js +1 -5
- package/build/main/sdk/Services/Grpc/BaseService.d.ts +26 -4
- package/build/main/sdk/Services/Grpc/BaseService.js +92 -21
- package/build/main/sdk/Services/Grpc/CryptographyService.d.ts +9 -1
- package/build/main/sdk/Services/Grpc/CryptographyService.js +19 -12
- package/build/main/sdk/Services/Grpc/DependencyService.d.ts +10 -3
- package/build/main/sdk/Services/Grpc/DependencyService.js +19 -9
- package/build/main/sdk/scanner/ScannerCfg.d.ts +0 -1
- package/build/main/sdk/scanner/ScannerCfg.js +1 -3
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/module/cli/bin/cli-bin.js +2 -2
- package/build/module/cli/commands/crypto.js +1 -1
- package/build/module/cli/commands/scan.js +8 -4
- package/build/module/sdk/BaseConfig.d.ts +38 -9
- package/build/module/sdk/BaseConfig.js +82 -11
- package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +5 -2
- package/build/module/sdk/Cryptography/CryptoCfg.d.ts +7 -13
- package/build/module/sdk/Cryptography/CryptoCfg.js +7 -15
- package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +5 -2
- package/build/module/sdk/Dependencies/DependencyScanner.d.ts +1 -0
- package/build/module/sdk/Dependencies/DependencyScanner.js +6 -13
- package/build/module/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -1
- package/build/module/sdk/Dependencies/DependencyScannerCfg.js +1 -2
- package/build/module/sdk/Services/Grpc/BaseService.d.ts +26 -4
- package/build/module/sdk/Services/Grpc/BaseService.js +92 -20
- package/build/module/sdk/Services/Grpc/CryptographyService.d.ts +9 -1
- package/build/module/sdk/Services/Grpc/CryptographyService.js +19 -12
- package/build/module/sdk/Services/Grpc/DependencyService.d.ts +10 -3
- package/build/module/sdk/Services/Grpc/DependencyService.js +20 -11
- package/build/module/sdk/scanner/ScannerCfg.d.ts +0 -1
- package/build/module/sdk/scanner/ScannerCfg.js +1 -3
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,40 @@
|
|
|
1
|
-
export
|
|
2
|
-
HTTPS_PROXY
|
|
3
|
-
HTTP_PROXY
|
|
4
|
-
NO_PROXY
|
|
5
|
-
API_URL
|
|
6
|
-
GRPC_PROXY
|
|
7
|
-
CA_CERT
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export interface IBaseConfig {
|
|
2
|
+
HTTPS_PROXY?: string;
|
|
3
|
+
HTTP_PROXY?: string;
|
|
4
|
+
NO_PROXY?: string;
|
|
5
|
+
API_URL?: string;
|
|
6
|
+
GRPC_PROXY?: string;
|
|
7
|
+
CA_CERT?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class BaseConfig {
|
|
10
|
+
private _HTTPS_PROXY;
|
|
11
|
+
private _HTTP_PROXY;
|
|
12
|
+
private _NO_PROXY;
|
|
13
|
+
private _API_URL;
|
|
14
|
+
private _GRPC_PROXY;
|
|
15
|
+
private _CA_CERT;
|
|
16
|
+
constructor(config?: IBaseConfig);
|
|
10
17
|
static getDefaultURL(): string;
|
|
18
|
+
set HTTPS_PROXY(value: string);
|
|
19
|
+
set HTTP_PROXY(value: string);
|
|
20
|
+
set NO_PROXY(value: string);
|
|
21
|
+
/**
|
|
22
|
+
* Sets the API URL for service connections with validation
|
|
23
|
+
* @param value - The API URL (must start with http:// or https://)
|
|
24
|
+
* @throws {Error} When the URL is empty, missing http/https protocol, or has invalid format
|
|
25
|
+
*/
|
|
26
|
+
set API_URL(value: string);
|
|
27
|
+
set GRPC_PROXY(value: string);
|
|
28
|
+
/**
|
|
29
|
+
* Sets the CA certificate file path for gRPC connections
|
|
30
|
+
* @param caCertPath - Path to the CA certificate file
|
|
31
|
+
* @throws {Error} When the certificate file does not exist or cannot be read
|
|
32
|
+
*/
|
|
33
|
+
set CA_CERT(caCertPath: string);
|
|
34
|
+
get HTTPS_PROXY(): string;
|
|
35
|
+
get HTTP_PROXY(): string;
|
|
36
|
+
get NO_PROXY(): string;
|
|
37
|
+
get API_URL(): string;
|
|
38
|
+
get GRPC_PROXY(): string;
|
|
39
|
+
get CA_CERT(): string;
|
|
11
40
|
}
|
|
@@ -1,18 +1,89 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
export class BaseConfig {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.
|
|
3
|
+
_HTTPS_PROXY = '';
|
|
4
|
+
_HTTP_PROXY = '';
|
|
5
|
+
_NO_PROXY = ''; //comma separated values
|
|
6
|
+
_API_URL = '';
|
|
7
|
+
_GRPC_PROXY = '';
|
|
8
|
+
_CA_CERT = ''; // Path to the certificate to be used in SSL/TLS connection
|
|
9
|
+
constructor(config) {
|
|
10
|
+
if (config) {
|
|
11
|
+
this.HTTPS_PROXY = config.HTTPS_PROXY || '';
|
|
12
|
+
this.HTTP_PROXY = config.HTTP_PROXY || '';
|
|
13
|
+
this.NO_PROXY = config.NO_PROXY || '';
|
|
14
|
+
this.API_URL = config.API_URL || '';
|
|
15
|
+
this.GRPC_PROXY = config.GRPC_PROXY || '';
|
|
16
|
+
this.CA_CERT = config.CA_CERT;
|
|
17
|
+
}
|
|
13
18
|
}
|
|
14
19
|
static getDefaultURL() {
|
|
15
20
|
return 'https://api.osskb.org/scan/direct';
|
|
16
21
|
}
|
|
22
|
+
set HTTPS_PROXY(value) {
|
|
23
|
+
this._HTTPS_PROXY = value;
|
|
24
|
+
}
|
|
25
|
+
set HTTP_PROXY(value) {
|
|
26
|
+
this._HTTP_PROXY = value;
|
|
27
|
+
}
|
|
28
|
+
set NO_PROXY(value) {
|
|
29
|
+
this._NO_PROXY = value;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Sets the API URL for service connections with validation
|
|
33
|
+
* @param value - The API URL (must start with http:// or https://)
|
|
34
|
+
* @throws {Error} When the URL is empty, missing http/https protocol, or has invalid format
|
|
35
|
+
*/
|
|
36
|
+
set API_URL(value) {
|
|
37
|
+
if (!value) {
|
|
38
|
+
throw new Error('API_URL is required and cannot be empty');
|
|
39
|
+
}
|
|
40
|
+
if (!value.startsWith('http')) {
|
|
41
|
+
throw new Error(`API_URL must start with 'http://' or 'https://', got: '${value}'`);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
new URL(value);
|
|
45
|
+
this._API_URL = value;
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
throw new Error(`Invalid API_URL format '${value}': ${e.message}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
set GRPC_PROXY(value) {
|
|
52
|
+
this._GRPC_PROXY = value;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Sets the CA certificate file path for gRPC connections
|
|
56
|
+
* @param caCertPath - Path to the CA certificate file
|
|
57
|
+
* @throws {Error} When the certificate file does not exist or cannot be read
|
|
58
|
+
*/
|
|
59
|
+
set CA_CERT(caCertPath) {
|
|
60
|
+
if (caCertPath == null || caCertPath === '')
|
|
61
|
+
return;
|
|
62
|
+
try {
|
|
63
|
+
fs.readFileSync(caCertPath);
|
|
64
|
+
this._CA_CERT = caCertPath;
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
throw new Error(`Certificate file not found: '${caCertPath}'`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
get HTTPS_PROXY() {
|
|
71
|
+
return this._HTTPS_PROXY;
|
|
72
|
+
}
|
|
73
|
+
get HTTP_PROXY() {
|
|
74
|
+
return this._HTTP_PROXY;
|
|
75
|
+
}
|
|
76
|
+
get NO_PROXY() {
|
|
77
|
+
return this._NO_PROXY;
|
|
78
|
+
}
|
|
79
|
+
get API_URL() {
|
|
80
|
+
return this._API_URL;
|
|
81
|
+
}
|
|
82
|
+
get GRPC_PROXY() {
|
|
83
|
+
return this._GRPC_PROXY;
|
|
84
|
+
}
|
|
85
|
+
get CA_CERT() {
|
|
86
|
+
return this._CA_CERT;
|
|
87
|
+
}
|
|
17
88
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFZcEIsTUFBTSxPQUFPLFVBQVU7SUFDYixZQUFZLEdBQVcsRUFBRSxDQUFDO0lBQzFCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsU0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFHLHdCQUF3QjtJQUNsRCxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFHLDJEQUEyRDtJQUVwRixZQUFZLE1BQW9CO1FBQzlCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWE7UUFDekIsT0FBTyxtQ0FBbUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxPQUFPLENBQUMsVUFBa0I7UUFDNUIsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsS0FBSyxFQUFFO1lBQUUsT0FBTztRQUNwRCxJQUFJLENBQUM7WUFDRCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUM7UUFBQyxPQUFNLENBQUMsRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIn0=
|
|
@@ -14,10 +14,13 @@ export class ComponentAlgorithmScanner extends BaseCryptographyScanner {
|
|
|
14
14
|
* @returns {AlgorithmResponse} A promise that resolves to an AlgorithmResponse containing detected cryptographic algorithms.
|
|
15
15
|
*/
|
|
16
16
|
async scan(req) {
|
|
17
|
-
const cryptographyService = new CryptographyService(this.config.getApikey(),
|
|
17
|
+
const cryptographyService = new CryptographyService(this.config.getApikey(), // API KEY
|
|
18
|
+
this.config.API_URL, // Destination Host
|
|
19
|
+
this.config.GRPC_PROXY, // Proxy Host
|
|
20
|
+
this.config.CA_CERT);
|
|
18
21
|
const results = await cryptographyService.getAlgorithms(req);
|
|
19
22
|
this.resultCollector.collectAlgorithmResults(results);
|
|
20
23
|
return results;
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50QWxnb3JpdGhtU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ3J5cHRvZ3JhcGh5L0FsZ29yaXRobS9Db21wb25lbnRzL0NvbXBvbmVudEFsZ29yaXRobVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUVMLG1CQUFtQixFQUNwQixNQUFNLDRDQUE0QyxDQUFDO0FBRXBELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8seUJBQ1gsU0FBUSx1QkFHWTtJQUVwQjs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQWdCO1FBQ2hDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxVQUFVO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLG1CQUFtQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxhQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQXFCLE1BQU0sbUJBQW1CLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIn0=
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
+
import { BaseConfig, IBaseConfig } from "../BaseConfig";
|
|
1
2
|
/**
|
|
2
3
|
* Represents a configuration for cryptography scanner.
|
|
3
4
|
*/
|
|
4
|
-
export declare class CryptoCfg {
|
|
5
|
+
export declare class CryptoCfg extends BaseConfig {
|
|
5
6
|
private readonly DEFAULT_THREADS;
|
|
6
7
|
private readonly algorithmRulesPath;
|
|
7
8
|
private readonly libraryRulesPath;
|
|
8
9
|
private readonly threads;
|
|
9
|
-
|
|
10
|
-
protected readonly proxy: string;
|
|
10
|
+
private readonly apiKey;
|
|
11
11
|
/**
|
|
12
12
|
* Creates an instance of CryptoCfg.
|
|
13
13
|
* @param {Object} cfg - Configuration object.
|
|
14
14
|
* @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
|
|
15
15
|
* @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
|
|
16
16
|
* @param {string} [cfg.apiKey] - Optional. SCANOSS API Key.
|
|
17
|
-
* @param {string} [cfg.proxy] - Optional. proxy.
|
|
18
17
|
*/
|
|
19
18
|
constructor(cfg: {
|
|
20
19
|
threads?: number;
|
|
@@ -22,7 +21,7 @@ export declare class CryptoCfg {
|
|
|
22
21
|
libraryRulesPath?: string;
|
|
23
22
|
apiKey?: string;
|
|
24
23
|
proxy?: string;
|
|
25
|
-
});
|
|
24
|
+
} & IBaseConfig);
|
|
26
25
|
/**
|
|
27
26
|
* Gets the path to the cryptography algorithm rules file.
|
|
28
27
|
* @returns The path to the cryptography rules file.
|
|
@@ -39,13 +38,8 @@ export declare class CryptoCfg {
|
|
|
39
38
|
**/
|
|
40
39
|
getNumberOfThreads(): number;
|
|
41
40
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
* Gets the API Key set.
|
|
42
|
+
* @returns The API Key.
|
|
43
|
+
**/
|
|
45
44
|
getApikey(): string;
|
|
46
|
-
/**
|
|
47
|
-
* Gets proxy.
|
|
48
|
-
* @returns proxy.
|
|
49
|
-
**/
|
|
50
|
-
getProxy(): string;
|
|
51
45
|
}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
+
import { BaseConfig } from "../BaseConfig";
|
|
1
2
|
/**
|
|
2
3
|
* Represents a configuration for cryptography scanner.
|
|
3
4
|
*/
|
|
4
|
-
export class CryptoCfg {
|
|
5
|
+
export class CryptoCfg extends BaseConfig {
|
|
5
6
|
DEFAULT_THREADS = 5;
|
|
6
7
|
algorithmRulesPath;
|
|
7
8
|
libraryRulesPath;
|
|
8
9
|
threads;
|
|
9
10
|
apiKey;
|
|
10
|
-
proxy;
|
|
11
11
|
/**
|
|
12
12
|
* Creates an instance of CryptoCfg.
|
|
13
13
|
* @param {Object} cfg - Configuration object.
|
|
14
14
|
* @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
|
|
15
15
|
* @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
|
|
16
16
|
* @param {string} [cfg.apiKey] - Optional. SCANOSS API Key.
|
|
17
|
-
* @param {string} [cfg.proxy] - Optional. proxy.
|
|
18
17
|
*/
|
|
19
18
|
constructor(cfg) {
|
|
19
|
+
super();
|
|
20
20
|
this.algorithmRulesPath = cfg.algorithmRulesPath;
|
|
21
21
|
this.libraryRulesPath = cfg.libraryRulesPath;
|
|
22
22
|
this.threads = cfg.threads ? Number(cfg.threads) : this.DEFAULT_THREADS;
|
|
23
23
|
this.apiKey = cfg.apiKey;
|
|
24
|
-
this.proxy = cfg.proxy;
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* Gets the path to the cryptography algorithm rules file.
|
|
@@ -45,18 +44,11 @@ export class CryptoCfg {
|
|
|
45
44
|
return this.threads;
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
* Gets the API Key set.
|
|
48
|
+
* @returns The API Key.
|
|
49
|
+
**/
|
|
51
50
|
getApikey() {
|
|
52
51
|
return this.apiKey;
|
|
53
52
|
}
|
|
54
|
-
/**
|
|
55
|
-
* Gets proxy.
|
|
56
|
-
* @returns proxy.
|
|
57
|
-
**/
|
|
58
|
-
getProxy() {
|
|
59
|
-
return this.proxy;
|
|
60
|
-
}
|
|
61
53
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvQ2ZnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvQ3J5cHRvQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQVU7SUFFdEIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUVuQixrQkFBa0IsQ0FBUztJQUUzQixnQkFBZ0IsQ0FBUztJQUV6QixPQUFPLENBQVM7SUFFaEIsTUFBTSxDQUFTO0lBR2pDOzs7Ozs7T0FNRztJQUNGLFlBQWEsR0FNQTtRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVGOzs7T0FHRztJQUNLLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUY7OztNQUdFO0lBQ0ssbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O1FBR0k7SUFDRyxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FFRiJ9
|
|
@@ -14,10 +14,13 @@ export class ComponentHintScanner extends BaseCryptographyScanner {
|
|
|
14
14
|
* @returns {HintsResponse} A promise that resolves to a HintsResponse containing detected cryptographic hints.
|
|
15
15
|
*/
|
|
16
16
|
async scan(req) {
|
|
17
|
-
const cryptographyService = new CryptographyService(this.config.getApikey(),
|
|
17
|
+
const cryptographyService = new CryptographyService(this.config.getApikey(), // API KEY
|
|
18
|
+
this.config.API_URL, // Destination Host
|
|
19
|
+
this.config.GRPC_PROXY, // Proxy Host
|
|
20
|
+
this.config.CA_CERT);
|
|
18
21
|
const results = await cryptographyService.getEncryptionHints(req);
|
|
19
22
|
this.resultCollector.collectHintResults(results);
|
|
20
23
|
return results;
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50SGludFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NyeXB0b2dyYXBoeS9IaW50L0NvbXBvbmVudHMvQ29tcG9uZW50SGludFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLG1CQUFtQixFQUNYLE1BQU0sNENBQTRDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFeEU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFDWCxTQUFRLHVCQUdRO0lBRWhCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG1CQUFtQixDQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVU7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsbUJBQW1CO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWE7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIn0=
|
|
@@ -3,6 +3,7 @@ import { IDependencyResponse } from './DependencyTypes';
|
|
|
3
3
|
export declare class DependencyScanner {
|
|
4
4
|
private localDependency;
|
|
5
5
|
private grpcDependencyService;
|
|
6
|
+
private config;
|
|
6
7
|
constructor(cfg?: DependencyScannerCfg);
|
|
7
8
|
scanFolder(path: string): Promise<IDependencyResponse>;
|
|
8
9
|
scan(files: Array<string>): Promise<IDependencyResponse>;
|
|
@@ -8,18 +8,11 @@ import { Tree } from '../tree/Tree';
|
|
|
8
8
|
export class DependencyScanner {
|
|
9
9
|
localDependency;
|
|
10
10
|
grpcDependencyService;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (cfg
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let port;
|
|
17
|
-
if (!apiURL.port)
|
|
18
|
-
port = apiURL.protocol === 'https:' ? '443' : '80';
|
|
19
|
-
hostname = apiURL.host;
|
|
20
|
-
cfg.API_URL = `${hostname}:${port}`;
|
|
21
|
-
}
|
|
22
|
-
this.grpcDependencyService = new DependencyService(cfg.API_URL, cfg.GRPC_PROXY, cfg.CA_CERT_BUFF);
|
|
11
|
+
config = new DependencyScannerCfg();
|
|
12
|
+
constructor(cfg) {
|
|
13
|
+
if (cfg)
|
|
14
|
+
this.config = cfg;
|
|
15
|
+
this.grpcDependencyService = new DependencyService(this.config.API_URL, this.config.GRPC_PROXY, this.config.CA_CERT);
|
|
23
16
|
this.localDependency = new LocalDependencies();
|
|
24
17
|
}
|
|
25
18
|
async scanFolder(path) {
|
|
@@ -111,4 +104,4 @@ export class DependencyScanner {
|
|
|
111
104
|
}
|
|
112
105
|
}
|
|
113
106
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsaUJBQWlCLEdBRWxCLE1BQU0sc0VBQXNFLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwQyxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLGVBQWUsQ0FBb0I7SUFFbkMscUJBQXFCLENBQW9CO0lBRXpDLE1BQU0sR0FBeUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBRWxFLFlBQVksR0FBMEI7UUFFcEMsSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNySCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxD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
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BaseConfig } from '../BaseConfig';
|
|
2
2
|
export class DependencyScannerCfg extends BaseConfig {
|
|
3
|
-
API_URL = 'https://api.scanoss.com';
|
|
4
3
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXJDZmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lckNmZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFVO0NBQ25EIn0=
|
|
@@ -5,14 +5,36 @@ export interface PurlRequest extends CommonMessages.PurlRequest.AsObject {
|
|
|
5
5
|
export interface EchoRequest extends CommonMessages.EchoRequest.AsObject {
|
|
6
6
|
}
|
|
7
7
|
export declare class BaseService {
|
|
8
|
-
protected
|
|
9
|
-
protected
|
|
10
|
-
protected
|
|
11
|
-
protected
|
|
8
|
+
protected _HOSTNAME: string;
|
|
9
|
+
protected _API_TOKEN: string;
|
|
10
|
+
protected _IS_PREMIUM_SERVICE: boolean;
|
|
11
|
+
protected _SERVICE_NAME: string;
|
|
12
|
+
protected _CA_CERT: string;
|
|
13
|
+
protected _PROXY_URL: string;
|
|
14
|
+
constructor({ HOSTNAME, PROXY_URL, API_TOKEN, IS_PREMIUM_SERVICE, SERVICE_NAME, CA_CERT, }: {
|
|
15
|
+
HOSTNAME?: string;
|
|
16
|
+
PROXY_URL?: string;
|
|
17
|
+
API_TOKEN?: string;
|
|
18
|
+
IS_PREMIUM_SERVICE?: boolean;
|
|
19
|
+
SERVICE_NAME?: string;
|
|
20
|
+
CA_CERT?: string;
|
|
21
|
+
});
|
|
12
22
|
protected handleResponse(response: {
|
|
13
23
|
status: CommonMessages.StatusResponse.AsObject;
|
|
14
24
|
}): {};
|
|
15
25
|
protected buildGRPCPurlRequest(purlRequest: PurlRequest): CommonMessages.PurlRequest;
|
|
16
26
|
protected buildGRPCEchoRequest(echoRequest: EchoRequest): CommonMessages.EchoRequest;
|
|
17
27
|
protected generateChannelCredentials(): grpc.ChannelCredentials;
|
|
28
|
+
set SERVICE_NAME(serviceName: string);
|
|
29
|
+
get SERVICE_NAME(): string;
|
|
30
|
+
set HOSTNAME(host: string);
|
|
31
|
+
get HOSTNAME(): string;
|
|
32
|
+
set API_TOKEN(apiToken: string);
|
|
33
|
+
get API_TOKEN(): string;
|
|
34
|
+
set IS_PREMIUM_SERVICE(isPremiumService: boolean);
|
|
35
|
+
get IS_PREMIUM_SERVICE(): boolean;
|
|
36
|
+
set CA_CERT(caCertPath: string);
|
|
37
|
+
get CA_CERT(): string;
|
|
38
|
+
set PROXY_URL(proxyURL: string);
|
|
39
|
+
get PROXY_URL(): string;
|
|
18
40
|
}
|
|
@@ -4,24 +4,39 @@ import { Logger, logger } from '../../Logger';
|
|
|
4
4
|
import { HEADER_NAME_API_TOKEN, SCANOSS_GRPC_ENDPOINT } from '../../Constants';
|
|
5
5
|
var Level = Logger.Level;
|
|
6
6
|
import { ERROR_SERVICES_GRPC_API_TOKEN_REQUIRED } from '../../Errors';
|
|
7
|
+
import fs from "fs";
|
|
7
8
|
export class BaseService {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
_HOSTNAME = SCANOSS_GRPC_ENDPOINT;
|
|
10
|
+
_API_TOKEN = '';
|
|
11
|
+
_IS_PREMIUM_SERVICE = false;
|
|
12
|
+
_SERVICE_NAME = '';
|
|
13
|
+
_CA_CERT;
|
|
14
|
+
_PROXY_URL;
|
|
15
|
+
constructor({ HOSTNAME, PROXY_URL, API_TOKEN, IS_PREMIUM_SERVICE, SERVICE_NAME, CA_CERT, }) {
|
|
16
|
+
this.API_TOKEN = API_TOKEN;
|
|
17
|
+
this.PROXY_URL = PROXY_URL;
|
|
18
|
+
this.IS_PREMIUM_SERVICE = IS_PREMIUM_SERVICE;
|
|
19
|
+
this.SERVICE_NAME = SERVICE_NAME;
|
|
20
|
+
this.CA_CERT = CA_CERT;
|
|
21
|
+
this.HOSTNAME = HOSTNAME;
|
|
22
|
+
if (this.PROXY_URL)
|
|
23
|
+
process.env.grpc_proxy = this.PROXY_URL;
|
|
24
|
+
if (this.IS_PREMIUM_SERVICE && !this.API_TOKEN)
|
|
25
|
+
throw new Error(ERROR_SERVICES_GRPC_API_TOKEN_REQUIRED);
|
|
26
|
+
}
|
|
12
27
|
handleResponse(response) {
|
|
13
28
|
const { status, ...responseWithoutStatus } = response;
|
|
14
29
|
if (status.status === CommonMessages.StatusCode.FAILED) {
|
|
15
|
-
logger.log(`[ GRPC ${this.
|
|
30
|
+
logger.log(`[ GRPC ${this._SERVICE_NAME} ] - Server GRPC Code: ${status.status} - ${status.message}`, Level.error);
|
|
16
31
|
throw new Error(status.message);
|
|
17
32
|
}
|
|
18
33
|
else if (status.status === CommonMessages.StatusCode.WARNING ||
|
|
19
34
|
status.status === CommonMessages.StatusCode.SUCCEEDED_WITH_WARNINGS ||
|
|
20
35
|
status.status === CommonMessages.StatusCode.UNSPECIFIED) {
|
|
21
|
-
logger.log(`[ GRPC ${this.
|
|
36
|
+
logger.log(`[ GRPC ${this._SERVICE_NAME} ] - Server GRPC Code: ${status.status} - ${status.message}`, Level.warn);
|
|
22
37
|
}
|
|
23
38
|
else if (status.status === CommonMessages.StatusCode.SUCCESS) {
|
|
24
|
-
logger.log(`[ GRPC ${this.
|
|
39
|
+
logger.log(`[ GRPC ${this._SERVICE_NAME} ] - Server GRPC Code: ${status.status} - ${status.message}`, Level.info);
|
|
25
40
|
}
|
|
26
41
|
return responseWithoutStatus;
|
|
27
42
|
}
|
|
@@ -42,18 +57,75 @@ export class BaseService {
|
|
|
42
57
|
return gRPCEchoRequest;
|
|
43
58
|
}
|
|
44
59
|
generateChannelCredentials() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
let cc = grpc.credentials.createSsl();
|
|
61
|
+
if (this.CA_CERT && this.PROXY_URL) {
|
|
62
|
+
const caCert = fs.readFileSync(this.CA_CERT);
|
|
63
|
+
cc = grpc.credentials.createSsl(caCert);
|
|
64
|
+
}
|
|
65
|
+
if (this.API_TOKEN) {
|
|
66
|
+
const metaCallback = (_params, callback) => {
|
|
67
|
+
const metadata = new grpc.Metadata();
|
|
68
|
+
metadata.add(HEADER_NAME_API_TOKEN, this.API_TOKEN);
|
|
69
|
+
callback(null, metadata);
|
|
70
|
+
};
|
|
71
|
+
const callCredentials = grpc.credentials.createFromMetadataGenerator(metaCallback);
|
|
72
|
+
cc = grpc.credentials.combineChannelCredentials(cc, callCredentials);
|
|
73
|
+
}
|
|
74
|
+
return cc;
|
|
75
|
+
}
|
|
76
|
+
set SERVICE_NAME(serviceName) {
|
|
77
|
+
this._SERVICE_NAME = serviceName;
|
|
78
|
+
}
|
|
79
|
+
get SERVICE_NAME() {
|
|
80
|
+
return this._SERVICE_NAME;
|
|
81
|
+
}
|
|
82
|
+
set HOSTNAME(host) {
|
|
83
|
+
if (host !== null && host !== '') {
|
|
84
|
+
//Extract host from URL (hostname:port)
|
|
85
|
+
if (host.startsWith('http')) {
|
|
86
|
+
const apiURL = new URL(host);
|
|
87
|
+
let hostname;
|
|
88
|
+
let port;
|
|
89
|
+
if (!apiURL.port)
|
|
90
|
+
port = apiURL.protocol === 'https:' ? '443' : '80';
|
|
91
|
+
hostname = apiURL.host;
|
|
92
|
+
this._HOSTNAME = `${hostname}:${port}`;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
this._HOSTNAME = host;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
get HOSTNAME() {
|
|
99
|
+
return this._HOSTNAME;
|
|
100
|
+
}
|
|
101
|
+
set API_TOKEN(apiToken) {
|
|
102
|
+
if (apiToken != null && apiToken != '')
|
|
103
|
+
this._API_TOKEN = apiToken;
|
|
104
|
+
}
|
|
105
|
+
get API_TOKEN() {
|
|
106
|
+
return this._API_TOKEN;
|
|
107
|
+
}
|
|
108
|
+
set IS_PREMIUM_SERVICE(isPremiumService) {
|
|
109
|
+
if (isPremiumService != null)
|
|
110
|
+
this._IS_PREMIUM_SERVICE = isPremiumService;
|
|
111
|
+
}
|
|
112
|
+
get IS_PREMIUM_SERVICE() {
|
|
113
|
+
return this._IS_PREMIUM_SERVICE;
|
|
114
|
+
}
|
|
115
|
+
set CA_CERT(caCertPath) {
|
|
116
|
+
if (caCertPath != null && caCertPath != '')
|
|
117
|
+
this._CA_CERT = caCertPath;
|
|
118
|
+
}
|
|
119
|
+
get CA_CERT() {
|
|
120
|
+
return this._CA_CERT;
|
|
121
|
+
}
|
|
122
|
+
set PROXY_URL(proxyURL) {
|
|
123
|
+
if (proxyURL != null && proxyURL != '') {
|
|
124
|
+
this._PROXY_URL = proxyURL;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
get PROXY_URL() {
|
|
128
|
+
return this._PROXY_URL;
|
|
57
129
|
}
|
|
58
130
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL1NlcnZpY2VzL0dycGMvQmFzZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxLQUFLLGNBQWMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxJQUFPLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQzVCLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFNcEIsTUFBTSxPQUFPLFdBQVc7SUFDWixTQUFTLEdBQVcscUJBQXFCLENBQUM7SUFDMUMsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixtQkFBbUIsR0FBWSxLQUFLLENBQUM7SUFDckMsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixRQUFRLENBQVM7SUFDakIsVUFBVSxDQUFTO0lBRTdCLFlBQVksRUFDRSxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLE9BQU8sR0FRcEI7UUFDQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFH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
|
|
@@ -5,8 +5,16 @@ export interface AlgorithmResponse extends CryptographyMessages.AlgorithmRespons
|
|
|
5
5
|
export interface HintsResponse extends CryptographyMessages.HintsInRangeResponse.AsObject {
|
|
6
6
|
}
|
|
7
7
|
export declare class CryptographyService extends BaseService {
|
|
8
|
+
static readonly serviceName = "CryptographyService";
|
|
8
9
|
private client;
|
|
9
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Creates CryptographyService Instance.
|
|
12
|
+
* @param {string} token - Optional. API TOKEN.
|
|
13
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
14
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
15
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
16
|
+
*/
|
|
17
|
+
constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
|
|
10
18
|
getAlgorithms(req: PurlRequest): Promise<AlgorithmResponse>;
|
|
11
19
|
getEncryptionHints(req: PurlRequest): Promise<HintsResponse>;
|
|
12
20
|
}
|