Skip to content
This repository was archived by the owner on Nov 6, 2024. It is now read-only.

Commit 7b3eefe

Browse files
Merge pull request #187 from bridgecrewio/add-no-cert-verify
add option for no cert verify
2 parents 0e98a33 + 8663843 commit 7b3eefe

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

src/main/kotlin/com/bridgecrew/services/CheckovScanService.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,16 @@ class CheckovScanService {
146146

147147
private fun getCertParams(cmds: ArrayList<String>): ArrayList<String> {
148148
val certPath = settings?.certificate
149+
val noCertVerify = settings?.noCertVerify
149150
if (!certPath.isNullOrEmpty()) {
150151
cmds.add("-ca")
151152
cmds.add(certPath)
152-
return cmds
153153
}
154+
155+
if (noCertVerify == true) {
156+
cmds.add("--no-cert-verify")
157+
}
158+
154159
return cmds
155160
}
156161

src/main/kotlin/com/bridgecrew/settings/CheckovSettingsConfigurable.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ class CheckovSettingsConfigurable(val project: Project) : Configurable {
2121
val settings = CheckovSettingsState().getInstance()
2222
return !checkovSettingsComponent.apiTokenField.text.equals(settings?.apiToken) ||
2323
!checkovSettingsComponent.certificateField.text.equals(settings?.certificate) ||
24-
!checkovSettingsComponent.prismaURLField.text.equals(settings?.prismaURL)
24+
!checkovSettingsComponent.prismaURLField.text.equals(settings?.prismaURL) ||
25+
!checkovSettingsComponent.noCertVerifyField.isSelected().equals(settings?.noCertVerify)
2526
}
2627

2728
override fun apply() {
@@ -30,6 +31,7 @@ class CheckovSettingsConfigurable(val project: Project) : Configurable {
3031
settings?.apiToken = checkovSettingsComponent.apiTokenField.text.trim()
3132
settings?.certificate = checkovSettingsComponent.certificateField.text.trim()
3233
settings?.prismaURL = checkovSettingsComponent.prismaURLField.text.trim()
34+
settings?.noCertVerify = checkovSettingsComponent.noCertVerifyField.isSelected()
3335
if (apiTokenModified){
3436
project.messageBus.syncPublisher(CheckovSettingsListener.SETTINGS_TOPIC).settingsUpdated()
3537
}
@@ -41,6 +43,7 @@ class CheckovSettingsConfigurable(val project: Project) : Configurable {
4143
checkovSettingsComponent.apiTokenField.text = setting?.apiToken
4244
checkovSettingsComponent.certificateField.text = setting?.certificate
4345
checkovSettingsComponent.prismaURLField.text = setting?.prismaURL
46+
checkovSettingsComponent.noCertVerifyField.setSelected(setting?.noCertVerify == true)
4447

4548

4649
}

src/main/kotlin/com/bridgecrew/settings/CheckovSettingsState.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class CheckovSettingsState() : PersistentStateComponent<CheckovSettingsState> {
1717
var apiToken: String = ""
1818
var certificate: String = ""
1919
var prismaURL: String = ""
20+
var noCertVerify: Boolean = false
2021

2122
fun getInstance(): CheckovSettingsState? {
2223
return ApplicationManager.getApplication().getService(CheckovSettingsState::class.java)

src/main/kotlin/com/bridgecrew/ui/CheckovSettingsComponent.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,25 @@ import com.intellij.uiDesigner.core.GridConstraints
77
import java.awt.Insets
88
import javax.swing.JLabel
99
import javax.swing.JTextField
10+
import javax.swing.JCheckBox
1011

1112
class CheckovSettingsComponent () {
1213
private var rootPanel: JPanel = JPanel()
1314
val apiTokenField: JTextField = JTextField()
1415
val certificateField: JTextField = JTextField()
1516
val prismaURLField: JTextField = JTextField()
17+
val noCertVerifyField: JCheckBox = JCheckBox()
1618

1719
init {
1820
rootPanel.layout = GridLayoutManager(1, 2, Insets(0, 0, 0, 0), -1, -1)
19-
val settingsPanel = JPanel(GridLayoutManager(3, 2, Insets(0, 0, 0, 0), -1, -1))
21+
val settingsPanel = JPanel(GridLayoutManager(5, 2, Insets(0, 0, 0, 0), -1, -1))
2022

2123
val apiTokenLabel = JLabel("Token (Required)")
2224
apiTokenLabel.labelFor = apiTokenField
2325
settingsPanel.add(apiTokenLabel, createGridRowCol(0,0,GridConstraints.ANCHOR_WEST))
2426
settingsPanel.add(apiTokenField, createGridRowCol(0,1,GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL))
2527

26-
val prismaURLLabel = JLabel("Prisma URL ( Required if using Prisma Cloud Access Token)")
28+
val prismaURLLabel = JLabel("Prisma URL (Required if using Prisma Cloud Access Token)")
2729
prismaURLLabel.labelFor = prismaURLField
2830
settingsPanel.add(prismaURLLabel, createGridRowCol(1,0,GridConstraints.ANCHOR_WEST))
2931
settingsPanel.add(prismaURLField, createGridRowCol(1,1,GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL))
@@ -33,6 +35,14 @@ class CheckovSettingsComponent () {
3335
settingsPanel.add(certificateLabel, createGridRowCol(2,0,GridConstraints.ANCHOR_WEST))
3436
settingsPanel.add(certificateField, createGridRowCol(2,1,GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL))
3537

38+
val noCertVerifyLabel = JLabel("Skip SSL certificate verification")
39+
noCertVerifyLabel.labelFor = noCertVerifyField
40+
settingsPanel.add(noCertVerifyLabel, createGridRowCol(3,0,GridConstraints.ANCHOR_WEST))
41+
settingsPanel.add(noCertVerifyField, createGridRowCol(3,1,GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL))
42+
43+
val noCertVerifyWarning = JLabel("Warning: this is risky and prevents detecting invalid certificates - use for testing only")
44+
settingsPanel.add(noCertVerifyWarning, createGridRowCol(4,0,GridConstraints.ANCHOR_WEST))
45+
3646
rootPanel.add(settingsPanel, GridConstraints(
3747
0,
3848
0,

0 commit comments

Comments
 (0)