You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
747 B
28 lines
747 B
require "net/http"
|
|
require "uri"
|
|
require "openssl"
|
|
require "json"
|
|
require "yaml"
|
|
|
|
# curl -k -E lxd-client.crt -X GET https://192.168.30.1:8443/1.0/
|
|
# where lxd-client contains both, cert and key.
|
|
#
|
|
api_base_uri = 'https://192.168.30.1:8443/'
|
|
|
|
cert = File.read(File.dirname(__FILE__) + '/client.crt')
|
|
key = File.read(File.dirname(__FILE__) + '/client.key')
|
|
|
|
uri = URI.parse(api_base_uri + '1.0/certificates')
|
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
http.use_ssl = true
|
|
http.cert = OpenSSL::X509::Certificate.new(cert)
|
|
http.key = OpenSSL::PKey::RSA.new(key)
|
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
|
|
request = Net::HTTP::Get.new(uri.request_uri)
|
|
|
|
response = http.request(request)
|
|
|
|
puts JSON.parse(response.body).to_yaml
|
|
|
|
# vim: set ts=2 sw=2:
|