curlコマンド

curl が利用するssl証明書

curl が利用するssl証明書の確認方法

以下の CAfile: で確認できます。

$ curl https://www.yahoo.co.jp -v >> /dev/null
* Uses proxy env variable no_proxy == 'localhost
* Uses proxy env variable https_proxy == 'http://proxy.co.jp:8080'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 10.51.8.102:8080...
* Connected to proxy.co.jp port 8080 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to www.yahoo.co.jp:443
> CONNECT www.yahoo.co.jp:443 HTTP/1.1
> Host: www.yahoo.co.jp:443
> User-Agent: curl/7.71.1
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection Established
< Proxy-Agent: Zscaler/6.1
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: ~/anaconda3/ssl/cacert.pem        ***ここで確認可能
  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* CONNECT phase completed!
* CONNECT phase completed!
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
curl が利用するssl証明書の変更方法

curl の--cacertオプションを利用することで、利用するsslを変更できます。

curl https://www.yahoo.co.jp -v -cacert プロキシのパス

もしくは、以下のように環境変数を指定してもよい。

export SSL_CERT_FILE = Proxyのパス

curlでTokenを取得する際の書き方

  • Headerは、-Hオプションで指定。 複数のHeaderを指定したい場合は、-Hオプションを複数つけること。

curlコマンドでの一例

# curl -H "Content-Length:62" -H "Content-Type: application/json" -X POST https://10.165.8.68:8080/UserManagement/v1/edgeui/auth/signin  -d '{"email": "defaultAdmin@admin.com", "password": "Admin1234!"}' -k   -i -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0"
{"statusCode":"200 OK","status":"SUCCESS","message":"Signin success","data":{"userId":1,"email":"defaultAdmin@admin.com","accessToken":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJvYjJ1cTdHZ0lnSkRmbXJuZ3JWYWJObzRLaWMwNE40R05UNENUQkdVa2dNIn0.eyJleHAiOjE2MTA5MjQwNTcsImlhdCI6MTYxMDkyMzc1NywianRpIjoiZTVhMjY4OTItYmFkMC00M2NiLTllZTgtMjEzZmQ0MTVjZDVkIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgyL2F1dGgvcmVhbG1zL0VER0VVSSIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJmOjQ5MmE2ZjdhLTZjNmQtNGI4NS05ZDBiLTdlMjNiZWEyMTU2NDoxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiRURHRVVJIiwic2Vzc2lvbl9zdGF0ZSI6ImI5OGNhODlmLTgzYTAtNDI3NC1iYWJlLTBkZjg1YTM2MGYyNiIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7IkVER0VVSSI6eyJyb2xlcyI6WyJBcHBsaWNhdGlvbl9BZG1pbiIsIkNvbnRyb2xwYW5lbF9BZG1pbiJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJvcGVuaWQgZW1haWwgcHJvZmlsZSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwibmFtZSI6ImRlZmF1bHRBZG1pbiBkZWZhdWx0QWRtaW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkZWZhdWx0QWRtaW5AYWRtaW4uY29tIiwiZ2l2ZW5fbmFtZSI6ImRlZmF1bHRBZG1pbiIsImFjdGlvbnMiOlsiUmVhZF9Vc2VyX0FjY291bnRzIiwiQWRkX1JlcG9ydCIsIlZpZXdfQ29uZmlndXJlZF9Ob3RpZmljYXRpb25zIiwiQWRkX05ld19XaWRnZXQiLCJEZWxldGVfTm90aWZpY2F0aW9ucyIsIkRlbGV0ZV9SZXBvcnQiLCJSZWFkX1JlcG9ydCIsIlZpZXdfTGl2ZXZpZXciLCJBZGRfTm90aWZpY2F0aW9ucyIsIkFkZF9TZWFyY2hfUXVlcnkiLCJSZWFkX1JvbGVzIiwiVXBkYXRlX05vdGlmaWNhdGlvbnMiLCJWaWV3X0Jhc2ljX0NvbmZpZ3VyYXRpb25fT2ZfQW5hbHl0aWNzX1VuaXQiLCJWaWV3X0ZhY2VtYXRjaF9SZXN1bHRzIiwiRW5yb2xsX1N1YmplY3RzIiwiVXBkYXRlX0Jhc2ljX0NvbmZpZ3VyYXRpb25fT2ZfQW5hbHl0aWNzX1VuaXQiLCJVcGRhdGVfQmFzaWNfQ29uZmlndXJhdGlvbl9PZl9DYW1lcmEiLCJWaWV3X0FuYWx5dGljc19Vbml0IiwiQWRkX0ZhY2VtYXRjaCIsIlVwZGF0ZV9BbGVydHMiLCJEZWxldGVfU2VhcmNoX1F1ZXJ5IiwiRGVsZXRlX0FsZXJ0cyIsIkV4cG9ydF9SZXBvcnRzIiwiVmlld19TZWFyY2hfUXVlcnkiLCJEZWxldGVfV2lkZ2V0IiwiQWRkX0FsZXJ0cyIsIlZpZXdfQmFzaWNfQ29uZmlndXJhdGlvbl9PZl9DYW1lcmEiLCJSZWFkX0FsZXJ0cyIsIlZpZXdfUmVwb3J0X0RldGFpbHMiLCJHZW5lcmF0ZV9SZXBvcnRzIiwiVXBkYXRlX1dpZGdldCIsIkNyZWF0ZV9Vc2VyX0FjY291bnRzIiwiUmVtb3ZlX0FVX0xpY2Vuc2VzIiwiUmVhZF9TdWJqZWN0cyIsIkRlbGV0ZV9Vc2VyX0FjY291bnRzIiwiUmVhZF9BVV9MaWNlbnNlcyIsIlJlYWRfQ2FtZXJhcyIsIlVwZGF0ZV9Pd25fQWNjb3VudF9JbmZvIiwiRGVsZXRlX1JvbGVzIiwiUmVhZF9BbGxfQ29uZmlndXJhdGlvbnMiLCJSZWFkX0VWQV9BbmFseXRpY3NfVW5pdCIsIlVwZGF0ZV9FVkFfQW5hbHl0aWNzX1VuaXQiLCJDcmVhdGVfV2F0Y2hsaXN0cyIsIkFkZF9BdWRpdF9SZXBvcnQiLCJVcGRhdGVfV2F0Y2hsaXN0cyIsIlVwZGF0ZV9TdWJqZWN0cyIsIlJlYWRfV2F0Y2hsaXN0cyIsIkNyZWF0ZV9Sb2xlcyIsIlJlYWRfTm9kZV9IYXJkd2FyZV9TdGF0dXMiLCJEZWxldGVfQXVkaXRfUmVwb3J0IiwiUmVhZF9BdWRpdCIsIkNyZWF0ZV9FVkFfQW5hbHl0aWNzX1VuaXQiLCJWaWV3X0F1ZGl0X1JlcG9ydF9EZXRhaWxzIiwiVXBkYXRlX1JvbGVzIiwiRGVsZXRlX1dhdGNobGlzdHMiLCJBZGRfVXNlcl9BY2NvdW50cyIsIlVwZGF0ZV9DYW1lcmFfTG9jYXRpb25zIiwiRGVsZXRlX0NhbWVyYXMiLCJVcGRhdGVfVXNlcl9BY2NvdW50cyIsIkRlbGV0ZV9TdWJqZWN0cyIsIkFkZF9BVV9MaWNlbnNlcyIsIkNyZWF0ZV9TdWJqZWN0cyIsIlVwZGF0ZV9BbGxfQ29uZmlndXJhdGlvbnMiLCJEZWxldGVfRVZBX0FuYWx5dGljc19Vbml0IiwiQWRkX0NhbWVyYXMiLCJVcGRhdGVfQ2FtZXJhcyJdLCJmYW1pbHlfbmFtZSI6ImRlZmF1bHRBZG1pbiIsImVtYWlsIjoiZGVmYXVsdEFkbWluQGFkbWluLmNvbSIsImF1dGhvcml0aWVzIjpbIkFwcGxpY2F0aW9uX0FkbWluIiwiQ29udHJvbHBhbmVsX0FkbWluIl19.KXVCArJlJggmG5OhHn9OaCWyCXee8vbQz9CiuyX0pnF7wuQNa3ygDU6vvO3ABXnM-uiymSZbc3rYK-tU7JKt9FMHZvAOmE0P6_PZrJxi_XoHof1mcoebr_c9CoaOfnEKlEJrfh50CMyNv8NIhXZovT8daDdZRhDkmwGDybbYBY5aaAFJB63OPXWNVtYIJu5a-TqhkfN3RhwMDqjdJJABzKOMiXnlmQbCnjqmPPSEk6qOK12v25IPFMBfoWtvPPeGyptu9kqCQXi4EyuNetiTAi9IDEVAUmfismkDfcPtlcJQz6zH5JPhighm5NvLiYfww6cVQqh7UuYuQBF1HlCQQg","refreshToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJkYzMwZWNjMi1lY2U0LTQyNzAtODA1MC05ZmEyYjE1NmQ2NTgifQ.eyJleHAiOjE2MTA5MjU1NTcsImlhdCI6MTYxMDkyMzc1NywianRpIjoiNzU5ZmE2MmItZjJhZS00YzA0LTljODMtM2QzNGU0ZGY2ZjVhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgyL2F1dGgvcmVhbG1zL0VER0VVSSIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4Mi9hdXRoL3JlYWxtcy9FREdFVUkiLCJzdWIiOiJmOjQ5MmE2ZjdhLTZjNmQtNGI4NS05ZDBiLTdlMjNiZWEyMTU2NDoxIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6IkVER0VVSSIsInNlc3Npb25fc3RhdGUiOiJiOThjYTg5Zi04M2EwLTQyNzQtYmFiZS0wZGY4NWEzNjBmMjYiLCJzY29wZSI6Im9wZW5pZCBlbWFpbCBwcm9maWxlIn0.Q2Q289YFOlpvTNtKpygaxBYv87b2MjVrRbYflT06P_0","tokenType":"bearer","remainingAttempts":4,"accountLocked":false,"defaultPassword":false}}