-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Quantum: Add OpenSSL key agreement instances and consumers #19632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Quantum: Add OpenSSL key agreement instances and consumers #19632
Conversation
…ound through tests, and updating CODEOWNERS for quantum tests
…l apache license and a readme for future stub creation. Modify existing test case to reference stubs location.
…eowners on any `test/stubs/crypto`. Minor fix to HashAlgorithmValueConsumer (remove library detector logic).
…Y_EXCH). Fix for raw algorithm names in all current instances. Update constants to include key agreement algorithms, previously missing. Note added in model for the possibility of ESDH.
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase | ||
private import AlgToAVCFlow | ||
|
||
predicate knownOpenSSLConstantToKeyAgreementFamilyType( |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
) | ||
} | ||
|
||
class KnownOpenSSLHashConstantAlgorithmInstance extends OpenSSLAlgorithmInstance, |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/KeyAgreementAlgorithmInstance.qll
Fixed
Show fixed
Hide fixed
this instanceof DirectAlgorithmValueConsumer and getterCall = this | ||
} | ||
|
||
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall } |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
@@ -67,6 +67,10 @@ | |||
KnownOpenSSLSignatureAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, "SIGNATURE") } | |||
} | |||
|
|||
class KnownOpenSSLKeyAgreementAlgorithmConstant extends KnownOpenSSLAlgorithmConstant { |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
@@ -35,13 +31,12 @@ | |||
* The EVP digest algorithm getters | |||
* https://docs.openssl.org/3.0/man3/EVP_DigestInit/#synopsis | |||
*/ | |||
class EVPDigestAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { | |||
class EVPDigestAlgorithmValueConsumer extends HashAlgorithmValueConsumer { |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase | ||
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances | ||
|
||
abstract class KEMAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { } |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
|
||
abstract class KEMAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { } | ||
|
||
class EVPKEMAlgorithmValueConsumer extends KEMAlgorithmValueConsumer { |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
|
||
abstract class KeyExchangeAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { } | ||
|
||
class EVPKeyExchangeAlgorithmValueConsumer extends KeyExchangeAlgorithmValueConsumer { |
Check warning
Code scanning / CodeQL
Acronyms should be PascalCase/camelCase. Warning
@nicolaswill , this branch is based on the initial openssl test branch (#19564), so when that's merged the number of changes will decrease. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The stubs (and CODEOWNERS changes) should be removed, since main
already has them in another directory. Other than that, there's just the QL for QL redundant cast alert.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM assuming CI runs pass.
No description provided.