Okta API入门错误设置证书类型|获取用户应用程序API呼叫

时间:2014-02-11 16:03:13

标签: api curl ssl saml-2.0

我正在尝试使用Okta API。

我在cmd中输入的命令是:

curl -v -H "Authorization: SSWS MyAPITokenHERE" \
        -H "Accept: application/json" -H "Content-Type: application/json" \
        -X GET "https://MyDomain.okta.com/api/v1/apps"

*注意我在行尾用反斜杠格式化以便更好地阅读。

以上命令是根据API文档的格式。

C:\Users\MyAccount>curl -v -H "Authorization: SSWS MyApiToken" -H "Accept: application/json" -H "Content-Type: application/json" -X
 GET "https://MyDomain.okta.com/api/v1/apps" --cert-type (SSL)

* About to connect() to mydomain.okta.com port 443 (#0)
*   Trying 99.99.999.999...
* connected
* Connected to mydomain.okta.com (99.99.999.999) port 443 (#0)
* error setting certificate verify locations:
  CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none
* Closing connection #0
curl: (77) error setting certificate verify locations:
  CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none

我已尝试将认证类型设置为SSL,但没有修复它。我目前正在阅读文档和stackoverflow问题,但没有运气。

如果有人能够解释这个&amp ;;背后的原因,我将不胜感激。帮我弄清楚我需要做什么?提前谢谢。

Okta API文档 https://github.com/okta/api/blob/master/docs/getting_started/design_principles.md

CURL文档 http://curl.haxx.se/docs/manpage.html

更新 我添加了可选参数[-k]以禁止SSL检查,但仍想知道问题可能是什么

curl -v -H "Authorization: SSWS MyAPITokenHERE" \
        -H "Accept: application/json" -H "Content-Type: application/json" \
        -X GET "https://MyDomain.okta.com/api/v1/apps" -k

2 个答案:

答案 0 :(得分:1)

同时使用curl命令添加-k参数,以通过忽略ssl验证来克服此ssl错误。

答案 1 :(得分:0)

Curl需要知道/信任用于签署Okta证书的证书。当您使用curl时,此证书应位于文件/usr/ssl/certs/ca-bundle.crt 中(并且此文件需要由运行curl命令的用户读取)。您可以从Curl Cert Authority Bundle网页下载该捆绑包的当前副本(包括您需要的证书)。