mirror of
https://github.com/github/codeql.git
synced 2026-05-01 11:45:14 +02:00
add Diffie-Hellman from the crypto library
This commit is contained in:
@@ -204,6 +204,19 @@ private module NodeJSCrypto {
|
||||
override predicate isSymmetricKey() { symmetric = true }
|
||||
}
|
||||
|
||||
private class CreateDiffieHellmanKey extends CryptographicKeyCreation, DataFlow::CallNode {
|
||||
// require("crypto").createDiffieHellman(prime_length);
|
||||
CreateDiffieHellmanKey() {
|
||||
this = DataFlow::moduleMember("crypto", "createDiffieHellman").getACall()
|
||||
}
|
||||
|
||||
override CryptographicAlgorithm getAlgorithm() { none() }
|
||||
|
||||
override int getSize() { result = getArgument(0).getIntValue() }
|
||||
|
||||
override predicate isSymmetricKey() { none() }
|
||||
}
|
||||
|
||||
private class Apply extends CryptographicOperation, MethodCallExpr {
|
||||
InstantiatedAlgorithm instantiation;
|
||||
|
||||
|
||||
@@ -30,4 +30,7 @@ var key3 = myBuffer.getBytes(8);
|
||||
var bad9 = forge.cipher.createDecipher('3DES-CBC', key3); // NOT OK
|
||||
|
||||
var key4 = myBuffer.getBytes(16);
|
||||
var good5 = forge.cipher.createDecipher('AES-CBC', key4); // OK
|
||||
var good5 = forge.cipher.createDecipher('AES-CBC', key4); // OK
|
||||
|
||||
var bad10 = crypto.createDiffieHellman(512);
|
||||
var good6 = crypto.createDiffieHellman(2048);
|
||||
Reference in New Issue
Block a user