Curl minikube apiserver使用客户端证书进行身份验证
关于使用带有客户端证书和密钥的curl对minikube api服务器进行身份验证的基本问题 当我在api服务器上curlCurl minikube apiserver使用客户端证书进行身份验证,curl,kubernetes,minikube,client-certificates,Curl,Kubernetes,Minikube,Client Certificates,关于使用带有客户端证书和密钥的curl对minikube api服务器进行身份验证的基本问题 当我在api服务器上curl/ping端点时,我得到一个403(预期,身份验证失败) curl-khttps://127.0.0.1:32776/ping { “种类”:“状态”, “apiVersion”:“v1”, “元数据”:{ }, “状态”:“失败”, “消息”:“禁止:用户\”系统:匿名\“无法获取路径\“/ping\”, “理由”:“禁止”, “详情”:{ }, “代码”:403 } 为
/ping
端点时,我得到一个403(预期,身份验证失败)
curl-khttps://127.0.0.1:32776/ping
{
“种类”:“状态”,
“apiVersion”:“v1”,
“元数据”:{
},
“状态”:“失败”,
“消息”:“禁止:用户\”系统:匿名\“无法获取路径\“/ping\”,
“理由”:“禁止”,
“详情”:{
},
“代码”:403
}
为了解决这个问题,我尝试使用下面的curl命令
curl-v
--cert/Users/blah/.minikube/profiles/minikube/client.crt\
--cacert/Users/blah/.minikube/ca.cert\
--key/Users/blah/.minikube/profiles/minikube/client.key\
https://127.0.0.1:32776/ping
我回来了
*正在尝试127.0.0.1:32776。。。
*连接到127.0.0.1(127.0.0.1)端口32776(#0)
*ALPN,提供http/1.1
*警告:安全传输忽略SSL:CURLOPT_SSLKEY。私钥必须位于密钥链中。
*警告:SSL:未设置证书类型,采用PKCS#12格式。
*SSL:在密钥链中找不到证书“/Users/blah/.minikube/profiles/minikube/client.crt”及其私钥。
*正在关闭连接0
curl:(58)SSL:在密钥链中找不到证书“/Users/blah/.minikube/profiles/minikube/client.crt”及其私钥。
我正在使用上述证书,如中所述
kubectl配置视图
apiVersion:v1
集群:
-群集:
证书颁发机构:/Users/blah/.minikube/ca.crt
服务器:https://127.0.0.1:32776
姓名:minikube
上下文:
-背景:
集群:minikube
用户:minikube
姓名:minikube
当前上下文:minikube
种类:配置
首选项:{}
用户:
-姓名:minikube
用户:
客户端证书:/Users/blah/.minikube/profiles/minikube/client.crt
客户端密钥:/Users/blah/.minikube/profiles/minikube/client.key
我想这是我遗漏的更多卷发使用细节,minikube看起来不错。
另外,我很好奇其他人如何验证对minikube的curl请求?您使用的curl版本是什么?什么操作系统?不是吗 非常类似的问题,这里也没有有效的当前证书。解决方案是将密钥转换为
pkcs12
《华盛顿邮报》中的拉伊斯巴蒂也建议
我发现我使用了错误的证书,SSL:无法
加载证书[]及其私钥:OSStatus-25299是一个
CURL接受的地方
仅P12格式的证书。您必须在中使用证书
$HOME/.minikube/目录而不是$HOME/.minikube/certs。你也
必须格式化然后使用它们
你用什么卷发版本?什么操作系统?不是吗 非常类似的问题,这里也没有有效的当前证书。解决方案是将密钥转换为
pkcs12
《华盛顿邮报》中的拉伊斯巴蒂也建议
我发现我使用了错误的证书,SSL:无法
加载证书[]及其私钥:OSStatus-25299是一个
CURL接受的地方
仅P12格式的证书。您必须在中使用证书
$HOME/.minikube/目录而不是$HOME/.minikube/certs。你也
必须格式化然后使用它们