mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-05 20:40:16 -08:00
feat(flag): add --cacert flag (#9781)
This commit is contained in:
@@ -29,6 +29,7 @@ trivy [global flags] command [flags] target
|
|||||||
### Options
|
### Options
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ trivy clean [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Control Trivy Cloud platform integration settings
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Control Trivy Cloud configuration
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ trivy cloud config edit [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ trivy cloud config get [setting] [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ trivy cloud config list [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ trivy cloud config set [setting] [value] [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ trivy cloud config unset [setting] [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ trivy config [flags] DIR
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ trivy convert [flags] RESULT_JSON
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ trivy filesystem [flags] PATH
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ trivy image [flags] IMAGE_NAME
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -187,6 +187,7 @@ trivy kubernetes [flags] [CONTEXT]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ trivy login [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy logout [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ Manage modules
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy module install [flags] REPOSITORY
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy module uninstall [flags] REPOSITORY
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Manage plugins
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin info PLUGIN_NAME
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ trivy plugin install NAME | URL | FILE_PATH
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin list
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin run NAME | URL | FILE_PATH
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin search [KEYWORD]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin uninstall PLUGIN_NAME
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin update
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy plugin upgrade [PLUGIN_NAMES]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Manage registry authentication
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ trivy registry login SERVER [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ trivy registry logout SERVER [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL)
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -179,6 +179,7 @@ trivy rootfs [flags] ROOTDIR
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ trivy sbom [flags] SBOM_PATH
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ trivy server [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ trivy version [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Manage VEX repositories
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ trivy vex repo download [REPO_NAMES] [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy vex repo init [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ trivy vex repo list [flags]
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ trivy vm [flags] VM_IMAGE
|
|||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
|
||||||
```
|
```
|
||||||
|
--cacert string Path to PEM-encoded CA certificate file
|
||||||
--cache-dir string cache directory (default "/path/to/cache")
|
--cache-dir string cache directory (default "/path/to/cache")
|
||||||
-c, --config string config path (default "trivy.yaml")
|
-c, --config string config path (default "trivy.yaml")
|
||||||
-d, --debug debug mode
|
-d, --debug debug mode
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ These samples contain default values for flags.
|
|||||||
## Global options
|
## Global options
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
# Same as '--cacert'
|
||||||
|
cacert: ""
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
# Same as '--cache-dir'
|
# Same as '--cache-dir'
|
||||||
dir: "/path/to/cache"
|
dir: "/path/to/cache"
|
||||||
|
|||||||
@@ -78,15 +78,27 @@ Common mistakes include the following, depending on where you are pulling images
|
|||||||
$ TRIVY_INSECURE=true trivy image [YOUR_IMAGE]
|
$ TRIVY_INSECURE=true trivy image [YOUR_IMAGE]
|
||||||
```
|
```
|
||||||
|
|
||||||
On Unix systems other than macOS, you can specify the location of your certificate using `SSL_CERT_FILE` or `SSL_CERT_DIR` environment variables.
|
If you need to trust a custom CA certificate, you can provide a PEM-encoded bundle.
|
||||||
|
|
||||||
```
|
=== "Unix (except macOS)"
|
||||||
$ SSL_CERT_FILE=/path/to/cert trivy image [YOUR_IMAGE]
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
You can specify the location of your certificate using the `SSL_CERT_FILE` or `SSL_CERT_DIR` environment variables.
|
||||||
$ SSL_CERT_DIR=/path/to/certs trivy image [YOUR_IMAGE]
|
|
||||||
```
|
```bash
|
||||||
|
$ SSL_CERT_FILE=/path/to/ca.pem trivy image [YOUR_IMAGE]
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ SSL_CERT_DIR=/path/to/certs trivy image [YOUR_IMAGE]
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "All systems"
|
||||||
|
|
||||||
|
Use the `--cacert` flag to point Trivy to a PEM-encoded CA certificate file, regardless of the operating system.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ trivy image --cacert /path/to/ca.pem [YOUR_IMAGE]
|
||||||
|
```
|
||||||
|
|
||||||
### GitHub Rate limiting
|
### GitHub Rate limiting
|
||||||
Trivy uses GitHub API for [VEX repositories](../supply-chain/vex/repo.md).
|
Trivy uses GitHub API for [VEX repositories](../supply-chain/vex/repo.md).
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ func NewRunner(ctx context.Context, cliOptions flag.Options, targetKind TargetKi
|
|||||||
// Set the default HTTP transport
|
// Set the default HTTP transport
|
||||||
xhttp.SetDefaultTransport(xhttp.NewTransport(xhttp.Options{
|
xhttp.SetDefaultTransport(xhttp.NewTransport(xhttp.Options{
|
||||||
Insecure: cliOptions.Insecure,
|
Insecure: cliOptions.Insecure,
|
||||||
|
CACerts: cliOptions.CACerts,
|
||||||
Timeout: cliOptions.Timeout,
|
Timeout: cliOptions.Timeout,
|
||||||
TraceHTTP: cliOptions.TraceHTTP,
|
TraceHTTP: cliOptions.TraceHTTP,
|
||||||
}))
|
}))
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ func Run(ctx context.Context, opts flag.Options) (err error) {
|
|||||||
// Set the default HTTP transport
|
// Set the default HTTP transport
|
||||||
xhttp.SetDefaultTransport(xhttp.NewTransport(xhttp.Options{
|
xhttp.SetDefaultTransport(xhttp.NewTransport(xhttp.Options{
|
||||||
Insecure: opts.Insecure,
|
Insecure: opts.Insecure,
|
||||||
|
CACerts: opts.CACerts,
|
||||||
Timeout: opts.Timeout,
|
Timeout: opts.Timeout,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ func getSession(domain, region string, option types.RegistryOptions) (aws.Config
|
|||||||
// cf. https://github.com/aquasecurity/trivy/discussions/9429
|
// cf. https://github.com/aquasecurity/trivy/discussions/9429
|
||||||
client := awshttp.NewBuildableClient().WithTransportOptions(func(transport *http.Transport) {
|
client := awshttp.NewBuildableClient().WithTransportOptions(func(transport *http.Transport) {
|
||||||
transport.TLSClientConfig.InsecureSkipVerify = option.Insecure
|
transport.TLSClientConfig.InsecureSkipVerify = option.Insecure
|
||||||
|
transport.TLSClientConfig.RootCAs = option.CACerts
|
||||||
})
|
})
|
||||||
// create custom credential information if option is valid
|
// create custom credential information if option is valid
|
||||||
if option.AWSSecretKey != "" && option.AWSAccessKey != "" && option.AWSRegion != "" {
|
if option.AWSSecretKey != "" && option.AWSAccessKey != "" && option.AWSRegion != "" {
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/x509"
|
||||||
|
|
||||||
v1 "github.com/google/go-containerregistry/pkg/v1"
|
v1 "github.com/google/go-containerregistry/pkg/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -87,6 +89,7 @@ type RegistryOptions struct {
|
|||||||
|
|
||||||
// SSL/TLS
|
// SSL/TLS
|
||||||
Insecure bool
|
Insecure bool
|
||||||
|
CACerts *x509.CertPool
|
||||||
|
|
||||||
// Architecture
|
// Architecture
|
||||||
Platform Platform
|
Platform Platform
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
package flag
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/x509"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
"github.com/aquasecurity/trivy/pkg/cache"
|
"github.com/aquasecurity/trivy/pkg/cache"
|
||||||
"github.com/aquasecurity/trivy/pkg/log"
|
"github.com/aquasecurity/trivy/pkg/log"
|
||||||
@@ -49,6 +51,12 @@ var (
|
|||||||
Persistent: true,
|
Persistent: true,
|
||||||
TelemetrySafe: true,
|
TelemetrySafe: true,
|
||||||
}
|
}
|
||||||
|
CACertFlag = Flag[string]{
|
||||||
|
Name: "cacert",
|
||||||
|
ConfigName: "cacert",
|
||||||
|
Usage: "Path to PEM-encoded CA certificate file",
|
||||||
|
Persistent: true,
|
||||||
|
}
|
||||||
TimeoutFlag = Flag[time.Duration]{
|
TimeoutFlag = Flag[time.Duration]{
|
||||||
Name: "timeout",
|
Name: "timeout",
|
||||||
ConfigName: "timeout",
|
ConfigName: "timeout",
|
||||||
@@ -87,6 +95,7 @@ type GlobalFlagGroup struct {
|
|||||||
Quiet *Flag[bool]
|
Quiet *Flag[bool]
|
||||||
Debug *Flag[bool]
|
Debug *Flag[bool]
|
||||||
Insecure *Flag[bool]
|
Insecure *Flag[bool]
|
||||||
|
CACert *Flag[string]
|
||||||
Timeout *Flag[time.Duration]
|
Timeout *Flag[time.Duration]
|
||||||
CacheDir *Flag[string]
|
CacheDir *Flag[string]
|
||||||
GenerateDefaultConfig *Flag[bool]
|
GenerateDefaultConfig *Flag[bool]
|
||||||
@@ -100,6 +109,7 @@ type GlobalOptions struct {
|
|||||||
Quiet bool
|
Quiet bool
|
||||||
Debug bool
|
Debug bool
|
||||||
Insecure bool
|
Insecure bool
|
||||||
|
CACerts *x509.CertPool
|
||||||
Timeout time.Duration
|
Timeout time.Duration
|
||||||
CacheDir string
|
CacheDir string
|
||||||
GenerateDefaultConfig bool
|
GenerateDefaultConfig bool
|
||||||
@@ -113,6 +123,7 @@ func NewGlobalFlagGroup() *GlobalFlagGroup {
|
|||||||
Quiet: QuietFlag.Clone(),
|
Quiet: QuietFlag.Clone(),
|
||||||
Debug: DebugFlag.Clone(),
|
Debug: DebugFlag.Clone(),
|
||||||
Insecure: InsecureFlag.Clone(),
|
Insecure: InsecureFlag.Clone(),
|
||||||
|
CACert: CACertFlag.Clone(),
|
||||||
Timeout: TimeoutFlag.Clone(),
|
Timeout: TimeoutFlag.Clone(),
|
||||||
CacheDir: CacheDirFlag.Clone(),
|
CacheDir: CacheDirFlag.Clone(),
|
||||||
GenerateDefaultConfig: GenerateDefaultConfigFlag.Clone(),
|
GenerateDefaultConfig: GenerateDefaultConfigFlag.Clone(),
|
||||||
@@ -131,6 +142,7 @@ func (f *GlobalFlagGroup) Flags() []Flagger {
|
|||||||
f.Quiet,
|
f.Quiet,
|
||||||
f.Debug,
|
f.Debug,
|
||||||
f.Insecure,
|
f.Insecure,
|
||||||
|
f.CACert,
|
||||||
f.Timeout,
|
f.Timeout,
|
||||||
f.CacheDir,
|
f.CacheDir,
|
||||||
f.GenerateDefaultConfig,
|
f.GenerateDefaultConfig,
|
||||||
@@ -156,6 +168,10 @@ func (f *GlobalFlagGroup) Bind(cmd *cobra.Command) error {
|
|||||||
func (f *GlobalFlagGroup) ToOptions(opts *Options) error {
|
func (f *GlobalFlagGroup) ToOptions(opts *Options) error {
|
||||||
// Keep TRIVY_NON_SSL for backward compatibility
|
// Keep TRIVY_NON_SSL for backward compatibility
|
||||||
insecure := f.Insecure.Value() || os.Getenv("TRIVY_NON_SSL") != ""
|
insecure := f.Insecure.Value() || os.Getenv("TRIVY_NON_SSL") != ""
|
||||||
|
caCerts, err := loadRootCAs(f.CACert.Value())
|
||||||
|
if err != nil {
|
||||||
|
return xerrors.Errorf("failed to load root CA certificates: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
log.Debug("Cache dir", log.String("dir", f.CacheDir.Value()))
|
log.Debug("Cache dir", log.String("dir", f.CacheDir.Value()))
|
||||||
|
|
||||||
@@ -165,6 +181,7 @@ func (f *GlobalFlagGroup) ToOptions(opts *Options) error {
|
|||||||
Quiet: f.Quiet.Value(),
|
Quiet: f.Quiet.Value(),
|
||||||
Debug: f.Debug.Value(),
|
Debug: f.Debug.Value(),
|
||||||
Insecure: insecure,
|
Insecure: insecure,
|
||||||
|
CACerts: caCerts,
|
||||||
Timeout: f.Timeout.Value(),
|
Timeout: f.Timeout.Value(),
|
||||||
CacheDir: f.CacheDir.Value(),
|
CacheDir: f.CacheDir.Value(),
|
||||||
GenerateDefaultConfig: f.GenerateDefaultConfig.Value(),
|
GenerateDefaultConfig: f.GenerateDefaultConfig.Value(),
|
||||||
@@ -172,3 +189,25 @@ func (f *GlobalFlagGroup) ToOptions(opts *Options) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// loadRootCAs builds a cert pool from the system pool and the provided PEM bundle.
|
||||||
|
// Returns nil if caCertPath is empty or on failure.
|
||||||
|
func loadRootCAs(caCertPath string) (*x509.CertPool, error) {
|
||||||
|
if caCertPath == "" {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
rootCAs, err := x509.SystemCertPool()
|
||||||
|
if err != nil || rootCAs == nil {
|
||||||
|
rootCAs = x509.NewCertPool()
|
||||||
|
}
|
||||||
|
|
||||||
|
pem, err := os.ReadFile(caCertPath)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Errorf("failed to read root CA certificate: %w", err)
|
||||||
|
}
|
||||||
|
if ok := rootCAs.AppendCertsFromPEM(pem); !ok {
|
||||||
|
return nil, xerrors.Errorf("failed to append CA bundle")
|
||||||
|
}
|
||||||
|
return rootCAs, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -514,6 +514,7 @@ func (o *Options) RegistryOpts() ftypes.RegistryOptions {
|
|||||||
Credentials: o.Credentials,
|
Credentials: o.Credentials,
|
||||||
RegistryToken: o.RegistryToken,
|
RegistryToken: o.RegistryToken,
|
||||||
Insecure: o.Insecure,
|
Insecure: o.Insecure,
|
||||||
|
CACerts: o.CACerts,
|
||||||
Platform: o.Platform,
|
Platform: o.Platform,
|
||||||
AWSRegion: o.AWSOptions.Region,
|
AWSRegion: o.AWSOptions.Region,
|
||||||
RegistryMirrors: o.RegistryMirrors,
|
RegistryMirrors: o.RegistryMirrors,
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"cmp"
|
"cmp"
|
||||||
"context"
|
"context"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
|
"crypto/x509"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -30,6 +31,7 @@ func WithTransport(ctx context.Context, tr http.RoundTripper) context.Context {
|
|||||||
type Options struct {
|
type Options struct {
|
||||||
Insecure bool
|
Insecure bool
|
||||||
Timeout time.Duration
|
Timeout time.Duration
|
||||||
|
CACerts *x509.CertPool
|
||||||
UserAgent string
|
UserAgent string
|
||||||
TraceHTTP bool
|
TraceHTTP bool
|
||||||
}
|
}
|
||||||
@@ -68,10 +70,11 @@ func NewTransport(opts Options) http.RoundTripper {
|
|||||||
}
|
}
|
||||||
tr.DialContext = d.DialContext
|
tr.DialContext = d.DialContext
|
||||||
|
|
||||||
// Configure TLS
|
// Configure TLS only when needed.
|
||||||
if opts.Insecure {
|
if opts.CACerts != nil || opts.Insecure {
|
||||||
tr.TLSClientConfig = &tls.Config{
|
tr.TLSClientConfig = &tls.Config{
|
||||||
InsecureSkipVerify: opts.Insecure,
|
InsecureSkipVerify: opts.Insecure,
|
||||||
|
RootCAs: opts.CACerts,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user