Skip to content

Commit 3687770

Browse files
committed
C#: Re-factor AddCertToRootStore to use the new API.
1 parent ec68e91 commit 3687770

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

csharp/ql/src/Security Features/CWE-327/DontInstallRootCert.ql

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@
1212

1313
import csharp
1414
import semmle.code.csharp.dataflow.DataFlow::DataFlow
15-
import semmle.code.csharp.dataflow.DataFlow::DataFlow::PathGraph
15+
import AddCertToRootStore::PathGraph
1616

17-
class AddCertToRootStoreConfig extends DataFlow::Configuration {
18-
AddCertToRootStoreConfig() { this = "Adding Certificate To Root Store" }
19-
20-
override predicate isSource(DataFlow::Node source) {
17+
module AddCertToRootStoreConfig implements DataFlow::ConfigSig {
18+
predicate isSource(DataFlow::Node source) {
2119
exists(ObjectCreation oc | oc = source.asExpr() |
2220
oc.getType()
2321
.(RefType)
@@ -26,7 +24,7 @@ class AddCertToRootStoreConfig extends DataFlow::Configuration {
2624
)
2725
}
2826

29-
override predicate isSink(DataFlow::Node sink) {
27+
predicate isSink(DataFlow::Node sink) {
3028
exists(MethodCall mc |
3129
(
3230
mc.getTarget()
@@ -40,6 +38,8 @@ class AddCertToRootStoreConfig extends DataFlow::Configuration {
4038
}
4139
}
4240

43-
from DataFlow::PathNode oc, DataFlow::PathNode mc, AddCertToRootStoreConfig config
44-
where config.hasFlowPath(oc, mc)
41+
module AddCertToRootStore = DataFlow::Global<AddCertToRootStoreConfig>;
42+
43+
from AddCertToRootStore::PathNode oc, AddCertToRootStore::PathNode mc
44+
where AddCertToRootStore::flowPath(oc, mc)
4545
select mc.getNode(), oc, mc, "This certificate is added to the root certificate store."

0 commit comments

Comments
 (0)