管理网内证书
许多用户需要管理其环境中使用的证书类型。例如,一些用户需要使用椭圆曲线加密 (ECC),而另一些用户可能需要对 RSA 证书使用更强的位长度。为大多数用户配置环境中的证书可能是一项艰巨的任务。
本文档仅用于网内通信。有关管理网关处证书的信息,请参阅 安全网关 文档。有关管理 istiod 用于生成工作负载证书的 CA 的信息,请参阅 插件 CA 证书 文档。
istiod
当 Istio 在没有根 CA 证书的情况下安装时,istiod 将使用 RSA 2048 生成自签名 CA 证书。
要更改自签名 CA 证书的位长度,您需要修改提供给 istioctl
的 IstioOperator 清单或在 istio-discovery 图表 Helm 安装期间使用的 values 文件。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
pilot:
env:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
pilot:
env:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
Sidecar
由于 Sidecar 管理自己的证书以进行网内通信,因此 Sidecar 负责管理其私钥和生成的证书签名请求 (CSR)。需要修改 Sidecar 注入器以注入要用于此目的的环境变量。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyMetadata:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
meshConfig:
defaultConfig:
proxyMetadata:
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
apiVersion: apps/v1
kind: Deployment
metadata:
name: curl
spec:
...
template:
metadata:
...
annotations:
...
proxy.istio.io/config: |
CITADEL_SELF_SIGNED_CA_RSA_KEY_SIZE: 4096
spec:
...
签名算法
默认情况下,Sidecar 将创建 RSA 证书。如果要将其更改为 ECC,则需要将 ECC_SIGNATURE_ALGORITHM
设置为 ECDSA
。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyMetadata:
ECC_SIGNATURE_ALGORITHM: "ECDSA"
meshConfig:
defaultConfig:
proxyMetadata:
ECC_SIGNATURE_ALGORITHM: "ECDSA"
通过 ECC_CURVE
仅支持 P256 和 P384。
如果您希望保留 RSA 签名算法并想要修改 RSA 密钥大小,则可以更改 WORKLOAD_RSA_KEY_SIZE
的值。