qsafe-sdk 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +134 -0
- data/Rakefile +10 -0
- data/docs/APIKeysApi.md +427 -0
- data/docs/ApiKey.md +40 -0
- data/docs/AuthResponse.md +20 -0
- data/docs/AuthResponseData.md +26 -0
- data/docs/AuthenticationApi.md +276 -0
- data/docs/ChangePassword200Response.md +20 -0
- data/docs/ChangePasswordRequest.md +20 -0
- data/docs/CreateApiKey201Response.md +20 -0
- data/docs/CreateApiKey201ResponseData.md +20 -0
- data/docs/CreateApiKeyRequest.md +28 -0
- data/docs/CryptographicOperationsApi.md +331 -0
- data/docs/DebugApi.md +84 -0
- data/docs/DebugRedisTest200Response.md +30 -0
- data/docs/DebugRedisTest200ResponseRateLimitTest.md +22 -0
- data/docs/DebugRedisTest200ResponseServicesStatus.md +24 -0
- data/docs/DebugRedisTest500Response.md +20 -0
- data/docs/DecryptData200Response.md +20 -0
- data/docs/DecryptData200ResponseData.md +24 -0
- data/docs/DecryptRequest.md +28 -0
- data/docs/DecryptRequestEphemeralCrypto.md +24 -0
- data/docs/EncryptData200Response.md +20 -0
- data/docs/EncryptData200ResponseData.md +28 -0
- data/docs/EncryptData200ResponseDataEphemeralStorage.md +22 -0
- data/docs/EncryptRequest.md +26 -0
- data/docs/EncryptRequestEphemeralStorage.md +22 -0
- data/docs/Error.md +28 -0
- data/docs/GenerateKeypair201Response.md +20 -0
- data/docs/GenerateKeypairRequest.md +24 -0
- data/docs/GenerateKeypairRequestKeyPolicy.md +20 -0
- data/docs/GetApiKey200Response.md +20 -0
- data/docs/GetApiKeyUsage200Response.md +20 -0
- data/docs/GetApiKeyUsage200ResponseData.md +22 -0
- data/docs/GetApiKeyUsage200ResponseDataDailyUsageInner.md +20 -0
- data/docs/GetAuthInfo200Response.md +20 -0
- data/docs/GetAuthInfo200ResponseData.md +26 -0
- data/docs/GetHealth200Response.md +22 -0
- data/docs/GetHealth200ResponseServices.md +22 -0
- data/docs/GetHealth200ResponseServicesApi.md +22 -0
- data/docs/GetHealth200ResponseServicesEphemeralStorage.md +18 -0
- data/docs/GetHealth200ResponseServicesRedis.md +20 -0
- data/docs/GetRateLimitStatus200Response.md +20 -0
- data/docs/GetRateLimitStatus200ResponseData.md +22 -0
- data/docs/GetRateLimitStatus200ResponseDataCurrentUsage.md +22 -0
- data/docs/GetRateLimitStatus200ResponseDataLimits.md +22 -0
- data/docs/GetRateLimitStatus200ResponseDataResetTimes.md +22 -0
- data/docs/HealthApi.md +69 -0
- data/docs/Keypair.md +40 -0
- data/docs/KeypairsApi.md +341 -0
- data/docs/ListApiKeys200Response.md +20 -0
- data/docs/ListApiKeys200ResponseData.md +22 -0
- data/docs/ListApiKeys200ResponseDataPagination.md +22 -0
- data/docs/ListKeypairs200Response.md +20 -0
- data/docs/ListKeypairs200ResponseData.md +22 -0
- data/docs/ListKeypairs200ResponseDataPagination.md +22 -0
- data/docs/LoginRequest.md +20 -0
- data/docs/RegisterRequest.md +24 -0
- data/docs/RevokeKeypair200Response.md +22 -0
- data/docs/RevokeKeypairRequest.md +22 -0
- data/docs/RotateApiKey200Response.md +20 -0
- data/docs/RotateApiKey200ResponseData.md +20 -0
- data/docs/SignData200Response.md +20 -0
- data/docs/SignData200ResponseData.md +30 -0
- data/docs/SignData200ResponseDataEphemeralStorage.md +22 -0
- data/docs/SignRequest.md +26 -0
- data/docs/SignRequestEphemeralStorage.md +20 -0
- data/docs/UpdateApiKeyRequest.md +28 -0
- data/docs/UpdateKeypair200Response.md +20 -0
- data/docs/UpdateKeypairRequest.md +24 -0
- data/docs/User.md +32 -0
- data/docs/UtilitiesApi.md +81 -0
- data/docs/VerifyRequest.md +26 -0
- data/docs/VerifySignature200Response.md +20 -0
- data/docs/VerifySignature200ResponseData.md +22 -0
- data/docs/VerifySignature200ResponseDataSignatureInfo.md +20 -0
- data/docs/VerifySignature200ResponseDataVerificationResult.md +22 -0
- data/git_push.sh +57 -0
- data/lib/qsafe/api/api_keys_api.rb +430 -0
- data/lib/qsafe/api/authentication_api.rb +275 -0
- data/lib/qsafe/api/cryptographic_operations_api.rb +314 -0
- data/lib/qsafe/api/debug_api.rb +79 -0
- data/lib/qsafe/api/health_api.rb +79 -0
- data/lib/qsafe/api/keypairs_api.rb +345 -0
- data/lib/qsafe/api/utilities_api.rb +79 -0
- data/lib/qsafe/api_client.rb +394 -0
- data/lib/qsafe/api_error.rb +58 -0
- data/lib/qsafe/configuration.rb +327 -0
- data/lib/qsafe/models/api_key.rb +325 -0
- data/lib/qsafe/models/auth_response.rb +223 -0
- data/lib/qsafe/models/auth_response_data.rb +242 -0
- data/lib/qsafe/models/change_password200_response.rb +223 -0
- data/lib/qsafe/models/change_password_request.rb +256 -0
- data/lib/qsafe/models/create_api_key201_response.rb +233 -0
- data/lib/qsafe/models/create_api_key_request.rb +350 -0
- data/lib/qsafe/models/debug_redis_test200_response.rb +304 -0
- data/lib/qsafe/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
- data/lib/qsafe/models/debug_redis_test200_response_services_status.rb +241 -0
- data/lib/qsafe/models/debug_redis_test500_response.rb +223 -0
- data/lib/qsafe/models/decrypt_data200_response.rb +223 -0
- data/lib/qsafe/models/decrypt_data200_response_data.rb +242 -0
- data/lib/qsafe/models/decrypt_request.rb +301 -0
- data/lib/qsafe/models/decrypt_request_ephemeral_crypto.rb +276 -0
- data/lib/qsafe/models/encrypt_data200_response.rb +223 -0
- data/lib/qsafe/models/encrypt_data200_response_data.rb +263 -0
- data/lib/qsafe/models/encrypt_request.rb +322 -0
- data/lib/qsafe/models/encrypt_request_ephemeral_storage.rb +289 -0
- data/lib/qsafe/models/error.rb +275 -0
- data/lib/qsafe/models/generate_keypair201_response.rb +233 -0
- data/lib/qsafe/models/generate_keypair_request.rb +297 -0
- data/lib/qsafe/models/generate_keypair_request_key_policy.rb +266 -0
- data/lib/qsafe/models/get_api_key200_response.rb +223 -0
- data/lib/qsafe/models/get_api_key_usage200_response.rb +223 -0
- data/lib/qsafe/models/get_api_key_usage200_response_data.rb +236 -0
- data/lib/qsafe/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
- data/lib/qsafe/models/get_auth_info200_response.rb +223 -0
- data/lib/qsafe/models/get_auth_info200_response_data.rb +284 -0
- data/lib/qsafe/models/get_health200_response.rb +232 -0
- data/lib/qsafe/models/get_health200_response_services.rb +232 -0
- data/lib/qsafe/models/get_health200_response_services_api.rb +232 -0
- data/lib/qsafe/models/get_health200_response_services_ephemeral_storage.rb +214 -0
- data/lib/qsafe/models/get_health200_response_services_redis.rb +223 -0
- data/lib/qsafe/models/get_rate_limit_status200_response.rb +223 -0
- data/lib/qsafe/models/get_rate_limit_status200_response_data.rb +232 -0
- data/lib/qsafe/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
- data/lib/qsafe/models/get_rate_limit_status200_response_data_limits.rb +232 -0
- data/lib/qsafe/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
- data/lib/qsafe/models/keypair.rb +379 -0
- data/lib/qsafe/models/list_api_keys200_response.rb +223 -0
- data/lib/qsafe/models/list_api_keys200_response_data.rb +234 -0
- data/lib/qsafe/models/list_api_keys200_response_data_pagination.rb +232 -0
- data/lib/qsafe/models/list_keypairs200_response.rb +223 -0
- data/lib/qsafe/models/list_keypairs200_response_data.rb +234 -0
- data/lib/qsafe/models/list_keypairs200_response_data_pagination.rb +232 -0
- data/lib/qsafe/models/login_request.rb +237 -0
- data/lib/qsafe/models/register_request.rb +345 -0
- data/lib/qsafe/models/revoke_keypair200_response.rb +232 -0
- data/lib/qsafe/models/revoke_keypair_request.rb +301 -0
- data/lib/qsafe/models/rotate_api_key200_response.rb +232 -0
- data/lib/qsafe/models/sign_data200_response.rb +223 -0
- data/lib/qsafe/models/sign_data200_response_data.rb +262 -0
- data/lib/qsafe/models/sign_request.rb +321 -0
- data/lib/qsafe/models/sign_request_ephemeral_storage.rb +279 -0
- data/lib/qsafe/models/update_api_key_request.rb +343 -0
- data/lib/qsafe/models/update_keypair200_response.rb +223 -0
- data/lib/qsafe/models/update_keypair_request.rb +317 -0
- data/lib/qsafe/models/user.rb +293 -0
- data/lib/qsafe/models/verify_request.rb +389 -0
- data/lib/qsafe/models/verify_signature200_response.rb +223 -0
- data/lib/qsafe/models/verify_signature200_response_data.rb +251 -0
- data/lib/qsafe/version.rb +15 -0
- data/lib/qsafe-sdk/api/api_keys_api.rb +430 -0
- data/lib/qsafe-sdk/api/authentication_api.rb +275 -0
- data/lib/qsafe-sdk/api/cryptographic_operations_api.rb +314 -0
- data/lib/qsafe-sdk/api/debug_api.rb +79 -0
- data/lib/qsafe-sdk/api/health_api.rb +79 -0
- data/lib/qsafe-sdk/api/keypairs_api.rb +345 -0
- data/lib/qsafe-sdk/api/utilities_api.rb +79 -0
- data/lib/qsafe-sdk/api_client.rb +394 -0
- data/lib/qsafe-sdk/api_error.rb +58 -0
- data/lib/qsafe-sdk/configuration.rb +327 -0
- data/lib/qsafe-sdk/models/api_key.rb +345 -0
- data/lib/qsafe-sdk/models/auth_response.rb +223 -0
- data/lib/qsafe-sdk/models/auth_response_data.rb +252 -0
- data/lib/qsafe-sdk/models/change_password200_response.rb +223 -0
- data/lib/qsafe-sdk/models/change_password_request.rb +256 -0
- data/lib/qsafe-sdk/models/create_api_key201_response.rb +223 -0
- data/lib/qsafe-sdk/models/create_api_key201_response_data.rb +224 -0
- data/lib/qsafe-sdk/models/create_api_key_request.rb +350 -0
- data/lib/qsafe-sdk/models/debug_redis_test200_response.rb +304 -0
- data/lib/qsafe-sdk/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
- data/lib/qsafe-sdk/models/debug_redis_test200_response_services_status.rb +241 -0
- data/lib/qsafe-sdk/models/debug_redis_test500_response.rb +223 -0
- data/lib/qsafe-sdk/models/decrypt_data200_response.rb +223 -0
- data/lib/qsafe-sdk/models/decrypt_data200_response_data.rb +242 -0
- data/lib/qsafe-sdk/models/decrypt_request.rb +301 -0
- data/lib/qsafe-sdk/models/decrypt_request_ephemeral_crypto.rb +276 -0
- data/lib/qsafe-sdk/models/encrypt_data200_response.rb +223 -0
- data/lib/qsafe-sdk/models/encrypt_data200_response_data.rb +262 -0
- data/lib/qsafe-sdk/models/encrypt_data200_response_data_ephemeral_storage.rb +235 -0
- data/lib/qsafe-sdk/models/encrypt_request.rb +322 -0
- data/lib/qsafe-sdk/models/encrypt_request_ephemeral_storage.rb +289 -0
- data/lib/qsafe-sdk/models/error.rb +275 -0
- data/lib/qsafe-sdk/models/generate_keypair201_response.rb +223 -0
- data/lib/qsafe-sdk/models/generate_keypair_request.rb +297 -0
- data/lib/qsafe-sdk/models/generate_keypair_request_key_policy.rb +266 -0
- data/lib/qsafe-sdk/models/get_api_key200_response.rb +223 -0
- data/lib/qsafe-sdk/models/get_api_key_usage200_response.rb +223 -0
- data/lib/qsafe-sdk/models/get_api_key_usage200_response_data.rb +236 -0
- data/lib/qsafe-sdk/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
- data/lib/qsafe-sdk/models/get_auth_info200_response.rb +223 -0
- data/lib/qsafe-sdk/models/get_auth_info200_response_data.rb +284 -0
- data/lib/qsafe-sdk/models/get_health200_response.rb +232 -0
- data/lib/qsafe-sdk/models/get_health200_response_services.rb +232 -0
- data/lib/qsafe-sdk/models/get_health200_response_services_api.rb +232 -0
- data/lib/qsafe-sdk/models/get_health200_response_services_ephemeral_storage.rb +214 -0
- data/lib/qsafe-sdk/models/get_health200_response_services_redis.rb +223 -0
- data/lib/qsafe-sdk/models/get_rate_limit_status200_response.rb +223 -0
- data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data.rb +232 -0
- data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
- data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_limits.rb +232 -0
- data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
- data/lib/qsafe-sdk/models/keypair.rb +379 -0
- data/lib/qsafe-sdk/models/list_api_keys200_response.rb +223 -0
- data/lib/qsafe-sdk/models/list_api_keys200_response_data.rb +234 -0
- data/lib/qsafe-sdk/models/list_api_keys200_response_data_pagination.rb +232 -0
- data/lib/qsafe-sdk/models/list_keypairs200_response.rb +223 -0
- data/lib/qsafe-sdk/models/list_keypairs200_response_data.rb +234 -0
- data/lib/qsafe-sdk/models/list_keypairs200_response_data_pagination.rb +232 -0
- data/lib/qsafe-sdk/models/login_request.rb +237 -0
- data/lib/qsafe-sdk/models/register_request.rb +345 -0
- data/lib/qsafe-sdk/models/revoke_keypair200_response.rb +232 -0
- data/lib/qsafe-sdk/models/revoke_keypair_request.rb +301 -0
- data/lib/qsafe-sdk/models/rotate_api_key200_response.rb +223 -0
- data/lib/qsafe-sdk/models/rotate_api_key200_response_data.rb +224 -0
- data/lib/qsafe-sdk/models/sign_data200_response.rb +223 -0
- data/lib/qsafe-sdk/models/sign_data200_response_data.rb +270 -0
- data/lib/qsafe-sdk/models/sign_data200_response_data_ephemeral_storage.rb +234 -0
- data/lib/qsafe-sdk/models/sign_request.rb +321 -0
- data/lib/qsafe-sdk/models/sign_request_ephemeral_storage.rb +279 -0
- data/lib/qsafe-sdk/models/update_api_key_request.rb +343 -0
- data/lib/qsafe-sdk/models/update_keypair200_response.rb +223 -0
- data/lib/qsafe-sdk/models/update_keypair_request.rb +317 -0
- data/lib/qsafe-sdk/models/user.rb +312 -0
- data/lib/qsafe-sdk/models/verify_request.rb +389 -0
- data/lib/qsafe-sdk/models/verify_signature200_response.rb +223 -0
- data/lib/qsafe-sdk/models/verify_signature200_response_data.rb +232 -0
- data/lib/qsafe-sdk/models/verify_signature200_response_data_signature_info.rb +223 -0
- data/lib/qsafe-sdk/models/verify_signature200_response_data_verification_result.rb +233 -0
- data/lib/qsafe-sdk/version.rb +15 -0
- data/lib/qsafe-sdk.rb +114 -0
- data/lib/qsafe.rb +108 -0
- data/qsafe-sdk.gemspec +39 -0
- data/qsafe.gemspec +39 -0
- data/spec/api/api_keys_api_spec.rb +105 -0
- data/spec/api/authentication_api_spec.rb +78 -0
- data/spec/api/cryptographic_operations_api_spec.rb +85 -0
- data/spec/api/debug_api_spec.rb +46 -0
- data/spec/api/health_api_spec.rb +46 -0
- data/spec/api/keypairs_api_spec.rb +89 -0
- data/spec/api/utilities_api_spec.rb +46 -0
- data/spec/models/api_key_spec.rb +94 -0
- data/spec/models/auth_response_data_spec.rb +54 -0
- data/spec/models/auth_response_spec.rb +42 -0
- data/spec/models/change_password200_response_spec.rb +42 -0
- data/spec/models/change_password_request_spec.rb +42 -0
- data/spec/models/create_api_key201_response_data_spec.rb +42 -0
- data/spec/models/create_api_key201_response_spec.rb +48 -0
- data/spec/models/create_api_key_request_spec.rb +70 -0
- data/spec/models/debug_redis_test200_response_rate_limit_test_spec.rb +48 -0
- data/spec/models/debug_redis_test200_response_services_status_spec.rb +54 -0
- data/spec/models/debug_redis_test200_response_spec.rb +76 -0
- data/spec/models/debug_redis_test500_response_spec.rb +42 -0
- data/spec/models/decrypt_data200_response_data_spec.rb +54 -0
- data/spec/models/decrypt_data200_response_spec.rb +42 -0
- data/spec/models/decrypt_request_ephemeral_crypto_spec.rb +54 -0
- data/spec/models/decrypt_request_spec.rb +66 -0
- data/spec/models/encrypt_data200_response_data_ephemeral_storage_spec.rb +48 -0
- data/spec/models/encrypt_data200_response_data_spec.rb +66 -0
- data/spec/models/encrypt_data200_response_spec.rb +42 -0
- data/spec/models/encrypt_request_ephemeral_storage_spec.rb +48 -0
- data/spec/models/encrypt_request_spec.rb +64 -0
- data/spec/models/error_spec.rb +66 -0
- data/spec/models/generate_keypair201_response_spec.rb +48 -0
- data/spec/models/generate_keypair_request_key_policy_spec.rb +46 -0
- data/spec/models/generate_keypair_request_spec.rb +62 -0
- data/spec/models/get_api_key200_response_spec.rb +42 -0
- data/spec/models/get_api_key_usage200_response_data_daily_usage_inner_spec.rb +42 -0
- data/spec/models/get_api_key_usage200_response_data_spec.rb +48 -0
- data/spec/models/get_api_key_usage200_response_spec.rb +42 -0
- data/spec/models/get_auth_info200_response_data_spec.rb +64 -0
- data/spec/models/get_auth_info200_response_spec.rb +42 -0
- data/spec/models/get_health200_response_services_api_spec.rb +48 -0
- data/spec/models/get_health200_response_services_ephemeral_storage_spec.rb +36 -0
- data/spec/models/get_health200_response_services_redis_spec.rb +42 -0
- data/spec/models/get_health200_response_services_spec.rb +48 -0
- data/spec/models/get_health200_response_spec.rb +48 -0
- data/spec/models/get_rate_limit_status200_response_data_current_usage_spec.rb +48 -0
- data/spec/models/get_rate_limit_status200_response_data_limits_spec.rb +48 -0
- data/spec/models/get_rate_limit_status200_response_data_reset_times_spec.rb +48 -0
- data/spec/models/get_rate_limit_status200_response_data_spec.rb +48 -0
- data/spec/models/get_rate_limit_status200_response_spec.rb +42 -0
- data/spec/models/keypair_spec.rb +114 -0
- data/spec/models/list_api_keys200_response_data_pagination_spec.rb +48 -0
- data/spec/models/list_api_keys200_response_data_spec.rb +48 -0
- data/spec/models/list_api_keys200_response_spec.rb +42 -0
- data/spec/models/list_keypairs200_response_data_pagination_spec.rb +48 -0
- data/spec/models/list_keypairs200_response_data_spec.rb +48 -0
- data/spec/models/list_keypairs200_response_spec.rb +42 -0
- data/spec/models/login_request_spec.rb +42 -0
- data/spec/models/register_request_spec.rb +54 -0
- data/spec/models/revoke_keypair200_response_spec.rb +48 -0
- data/spec/models/revoke_keypair_request_spec.rb +52 -0
- data/spec/models/rotate_api_key200_response_data_spec.rb +42 -0
- data/spec/models/rotate_api_key200_response_spec.rb +48 -0
- data/spec/models/sign_data200_response_data_ephemeral_storage_spec.rb +48 -0
- data/spec/models/sign_data200_response_data_spec.rb +66 -0
- data/spec/models/sign_data200_response_spec.rb +42 -0
- data/spec/models/sign_request_ephemeral_storage_spec.rb +42 -0
- data/spec/models/sign_request_spec.rb +64 -0
- data/spec/models/update_api_key_request_spec.rb +70 -0
- data/spec/models/update_keypair200_response_spec.rb +42 -0
- data/spec/models/update_keypair_request_spec.rb +58 -0
- data/spec/models/user_spec.rb +70 -0
- data/spec/models/verify_request_spec.rb +64 -0
- data/spec/models/verify_signature200_response_data_signature_info_spec.rb +42 -0
- data/spec/models/verify_signature200_response_data_spec.rb +60 -0
- data/spec/models/verify_signature200_response_data_verification_result_spec.rb +48 -0
- data/spec/models/verify_signature200_response_spec.rb +42 -0
- data/spec/spec_helper.rb +111 -0
- metadata +477 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#QSafe PQC API
|
|
3
|
+
|
|
4
|
+
#Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: rushikesh.n.kakadiya@gmail.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module QSafe
|
|
16
|
+
class AuthenticationApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Change password (JWT only)
|
|
23
|
+
# @param change_password_request [ChangePasswordRequest]
|
|
24
|
+
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @return [ChangePassword200Response]
|
|
26
|
+
def change_password(change_password_request, opts = {})
|
|
27
|
+
data, _status_code, _headers = change_password_with_http_info(change_password_request, opts)
|
|
28
|
+
data
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Change password (JWT only)
|
|
32
|
+
# @param change_password_request [ChangePasswordRequest]
|
|
33
|
+
# @param [Hash] opts the optional parameters
|
|
34
|
+
# @return [Array<(ChangePassword200Response, Integer, Hash)>] ChangePassword200Response data, response status code and response headers
|
|
35
|
+
def change_password_with_http_info(change_password_request, opts = {})
|
|
36
|
+
if @api_client.config.debugging
|
|
37
|
+
@api_client.config.logger.debug 'Calling API: AuthenticationApi.change_password ...'
|
|
38
|
+
end
|
|
39
|
+
# verify the required parameter 'change_password_request' is set
|
|
40
|
+
if @api_client.config.client_side_validation && change_password_request.nil?
|
|
41
|
+
fail ArgumentError, "Missing the required parameter 'change_password_request' when calling AuthenticationApi.change_password"
|
|
42
|
+
end
|
|
43
|
+
# resource path
|
|
44
|
+
local_var_path = '/auth/change-password'
|
|
45
|
+
|
|
46
|
+
# query parameters
|
|
47
|
+
query_params = opts[:query_params] || {}
|
|
48
|
+
|
|
49
|
+
# header parameters
|
|
50
|
+
header_params = opts[:header_params] || {}
|
|
51
|
+
# HTTP header 'Accept' (if needed)
|
|
52
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
53
|
+
# HTTP header 'Content-Type'
|
|
54
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
55
|
+
if !content_type.nil?
|
|
56
|
+
header_params['Content-Type'] = content_type
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# form parameters
|
|
60
|
+
form_params = opts[:form_params] || {}
|
|
61
|
+
|
|
62
|
+
# http body (model)
|
|
63
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(change_password_request)
|
|
64
|
+
|
|
65
|
+
# return_type
|
|
66
|
+
return_type = opts[:debug_return_type] || 'ChangePassword200Response'
|
|
67
|
+
|
|
68
|
+
# auth_names
|
|
69
|
+
auth_names = opts[:debug_auth_names] || ['BearerAuth']
|
|
70
|
+
|
|
71
|
+
new_options = opts.merge(
|
|
72
|
+
:operation => :"AuthenticationApi.change_password",
|
|
73
|
+
:header_params => header_params,
|
|
74
|
+
:query_params => query_params,
|
|
75
|
+
:form_params => form_params,
|
|
76
|
+
:body => post_body,
|
|
77
|
+
:auth_names => auth_names,
|
|
78
|
+
:return_type => return_type
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
82
|
+
if @api_client.config.debugging
|
|
83
|
+
@api_client.config.logger.debug "API called: AuthenticationApi#change_password\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
84
|
+
end
|
|
85
|
+
return data, status_code, headers
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Get current auth context (JWT or API key)
|
|
89
|
+
# @param [Hash] opts the optional parameters
|
|
90
|
+
# @return [GetAuthInfo200Response]
|
|
91
|
+
def get_auth_info(opts = {})
|
|
92
|
+
data, _status_code, _headers = get_auth_info_with_http_info(opts)
|
|
93
|
+
data
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Get current auth context (JWT or API key)
|
|
97
|
+
# @param [Hash] opts the optional parameters
|
|
98
|
+
# @return [Array<(GetAuthInfo200Response, Integer, Hash)>] GetAuthInfo200Response data, response status code and response headers
|
|
99
|
+
def get_auth_info_with_http_info(opts = {})
|
|
100
|
+
if @api_client.config.debugging
|
|
101
|
+
@api_client.config.logger.debug 'Calling API: AuthenticationApi.get_auth_info ...'
|
|
102
|
+
end
|
|
103
|
+
# resource path
|
|
104
|
+
local_var_path = '/auth/info'
|
|
105
|
+
|
|
106
|
+
# query parameters
|
|
107
|
+
query_params = opts[:query_params] || {}
|
|
108
|
+
|
|
109
|
+
# header parameters
|
|
110
|
+
header_params = opts[:header_params] || {}
|
|
111
|
+
# HTTP header 'Accept' (if needed)
|
|
112
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
113
|
+
|
|
114
|
+
# form parameters
|
|
115
|
+
form_params = opts[:form_params] || {}
|
|
116
|
+
|
|
117
|
+
# http body (model)
|
|
118
|
+
post_body = opts[:debug_body]
|
|
119
|
+
|
|
120
|
+
# return_type
|
|
121
|
+
return_type = opts[:debug_return_type] || 'GetAuthInfo200Response'
|
|
122
|
+
|
|
123
|
+
# auth_names
|
|
124
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
125
|
+
|
|
126
|
+
new_options = opts.merge(
|
|
127
|
+
:operation => :"AuthenticationApi.get_auth_info",
|
|
128
|
+
:header_params => header_params,
|
|
129
|
+
:query_params => query_params,
|
|
130
|
+
:form_params => form_params,
|
|
131
|
+
:body => post_body,
|
|
132
|
+
:auth_names => auth_names,
|
|
133
|
+
:return_type => return_type
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
137
|
+
if @api_client.config.debugging
|
|
138
|
+
@api_client.config.logger.debug "API called: AuthenticationApi#get_auth_info\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
139
|
+
end
|
|
140
|
+
return data, status_code, headers
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Login and get JWT token
|
|
144
|
+
# @param login_request [LoginRequest]
|
|
145
|
+
# @param [Hash] opts the optional parameters
|
|
146
|
+
# @return [AuthResponse]
|
|
147
|
+
def login_user(login_request, opts = {})
|
|
148
|
+
data, _status_code, _headers = login_user_with_http_info(login_request, opts)
|
|
149
|
+
data
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Login and get JWT token
|
|
153
|
+
# @param login_request [LoginRequest]
|
|
154
|
+
# @param [Hash] opts the optional parameters
|
|
155
|
+
# @return [Array<(AuthResponse, Integer, Hash)>] AuthResponse data, response status code and response headers
|
|
156
|
+
def login_user_with_http_info(login_request, opts = {})
|
|
157
|
+
if @api_client.config.debugging
|
|
158
|
+
@api_client.config.logger.debug 'Calling API: AuthenticationApi.login_user ...'
|
|
159
|
+
end
|
|
160
|
+
# verify the required parameter 'login_request' is set
|
|
161
|
+
if @api_client.config.client_side_validation && login_request.nil?
|
|
162
|
+
fail ArgumentError, "Missing the required parameter 'login_request' when calling AuthenticationApi.login_user"
|
|
163
|
+
end
|
|
164
|
+
# resource path
|
|
165
|
+
local_var_path = '/auth/login'
|
|
166
|
+
|
|
167
|
+
# query parameters
|
|
168
|
+
query_params = opts[:query_params] || {}
|
|
169
|
+
|
|
170
|
+
# header parameters
|
|
171
|
+
header_params = opts[:header_params] || {}
|
|
172
|
+
# HTTP header 'Accept' (if needed)
|
|
173
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
174
|
+
# HTTP header 'Content-Type'
|
|
175
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
176
|
+
if !content_type.nil?
|
|
177
|
+
header_params['Content-Type'] = content_type
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# form parameters
|
|
181
|
+
form_params = opts[:form_params] || {}
|
|
182
|
+
|
|
183
|
+
# http body (model)
|
|
184
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(login_request)
|
|
185
|
+
|
|
186
|
+
# return_type
|
|
187
|
+
return_type = opts[:debug_return_type] || 'AuthResponse'
|
|
188
|
+
|
|
189
|
+
# auth_names
|
|
190
|
+
auth_names = opts[:debug_auth_names] || []
|
|
191
|
+
|
|
192
|
+
new_options = opts.merge(
|
|
193
|
+
:operation => :"AuthenticationApi.login_user",
|
|
194
|
+
:header_params => header_params,
|
|
195
|
+
:query_params => query_params,
|
|
196
|
+
:form_params => form_params,
|
|
197
|
+
:body => post_body,
|
|
198
|
+
:auth_names => auth_names,
|
|
199
|
+
:return_type => return_type
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
203
|
+
if @api_client.config.debugging
|
|
204
|
+
@api_client.config.logger.debug "API called: AuthenticationApi#login_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
205
|
+
end
|
|
206
|
+
return data, status_code, headers
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# Register a new user
|
|
210
|
+
# @param register_request [RegisterRequest]
|
|
211
|
+
# @param [Hash] opts the optional parameters
|
|
212
|
+
# @return [AuthResponse]
|
|
213
|
+
def register_user(register_request, opts = {})
|
|
214
|
+
data, _status_code, _headers = register_user_with_http_info(register_request, opts)
|
|
215
|
+
data
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
# Register a new user
|
|
219
|
+
# @param register_request [RegisterRequest]
|
|
220
|
+
# @param [Hash] opts the optional parameters
|
|
221
|
+
# @return [Array<(AuthResponse, Integer, Hash)>] AuthResponse data, response status code and response headers
|
|
222
|
+
def register_user_with_http_info(register_request, opts = {})
|
|
223
|
+
if @api_client.config.debugging
|
|
224
|
+
@api_client.config.logger.debug 'Calling API: AuthenticationApi.register_user ...'
|
|
225
|
+
end
|
|
226
|
+
# verify the required parameter 'register_request' is set
|
|
227
|
+
if @api_client.config.client_side_validation && register_request.nil?
|
|
228
|
+
fail ArgumentError, "Missing the required parameter 'register_request' when calling AuthenticationApi.register_user"
|
|
229
|
+
end
|
|
230
|
+
# resource path
|
|
231
|
+
local_var_path = '/auth/register'
|
|
232
|
+
|
|
233
|
+
# query parameters
|
|
234
|
+
query_params = opts[:query_params] || {}
|
|
235
|
+
|
|
236
|
+
# header parameters
|
|
237
|
+
header_params = opts[:header_params] || {}
|
|
238
|
+
# HTTP header 'Accept' (if needed)
|
|
239
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
240
|
+
# HTTP header 'Content-Type'
|
|
241
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
242
|
+
if !content_type.nil?
|
|
243
|
+
header_params['Content-Type'] = content_type
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# form parameters
|
|
247
|
+
form_params = opts[:form_params] || {}
|
|
248
|
+
|
|
249
|
+
# http body (model)
|
|
250
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(register_request)
|
|
251
|
+
|
|
252
|
+
# return_type
|
|
253
|
+
return_type = opts[:debug_return_type] || 'AuthResponse'
|
|
254
|
+
|
|
255
|
+
# auth_names
|
|
256
|
+
auth_names = opts[:debug_auth_names] || []
|
|
257
|
+
|
|
258
|
+
new_options = opts.merge(
|
|
259
|
+
:operation => :"AuthenticationApi.register_user",
|
|
260
|
+
:header_params => header_params,
|
|
261
|
+
:query_params => query_params,
|
|
262
|
+
:form_params => form_params,
|
|
263
|
+
:body => post_body,
|
|
264
|
+
:auth_names => auth_names,
|
|
265
|
+
:return_type => return_type
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
269
|
+
if @api_client.config.debugging
|
|
270
|
+
@api_client.config.logger.debug "API called: AuthenticationApi#register_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
271
|
+
end
|
|
272
|
+
return data, status_code, headers
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
end
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#QSafe PQC API
|
|
3
|
+
|
|
4
|
+
#Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: rushikesh.n.kakadiya@gmail.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module QSafe
|
|
16
|
+
class CryptographicOperationsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Decrypt data with a keypair's private key
|
|
23
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
24
|
+
# @param decrypt_request [DecryptRequest]
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [DecryptData200Response]
|
|
27
|
+
def decrypt_data(keypair_id, decrypt_request, opts = {})
|
|
28
|
+
data, _status_code, _headers = decrypt_data_with_http_info(keypair_id, decrypt_request, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Decrypt data with a keypair's private key
|
|
33
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
34
|
+
# @param decrypt_request [DecryptRequest]
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(DecryptData200Response, Integer, Hash)>] DecryptData200Response data, response status code and response headers
|
|
37
|
+
def decrypt_data_with_http_info(keypair_id, decrypt_request, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.decrypt_data ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'keypair_id' is set
|
|
42
|
+
if @api_client.config.client_side_validation && keypair_id.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.decrypt_data"
|
|
44
|
+
end
|
|
45
|
+
# verify the required parameter 'decrypt_request' is set
|
|
46
|
+
if @api_client.config.client_side_validation && decrypt_request.nil?
|
|
47
|
+
fail ArgumentError, "Missing the required parameter 'decrypt_request' when calling CryptographicOperationsApi.decrypt_data"
|
|
48
|
+
end
|
|
49
|
+
# resource path
|
|
50
|
+
local_var_path = '/keypairs/{keypairId}/decrypt'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
|
|
51
|
+
|
|
52
|
+
# query parameters
|
|
53
|
+
query_params = opts[:query_params] || {}
|
|
54
|
+
|
|
55
|
+
# header parameters
|
|
56
|
+
header_params = opts[:header_params] || {}
|
|
57
|
+
# HTTP header 'Accept' (if needed)
|
|
58
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
59
|
+
# HTTP header 'Content-Type'
|
|
60
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
61
|
+
if !content_type.nil?
|
|
62
|
+
header_params['Content-Type'] = content_type
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# form parameters
|
|
66
|
+
form_params = opts[:form_params] || {}
|
|
67
|
+
|
|
68
|
+
# http body (model)
|
|
69
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(decrypt_request)
|
|
70
|
+
|
|
71
|
+
# return_type
|
|
72
|
+
return_type = opts[:debug_return_type] || 'DecryptData200Response'
|
|
73
|
+
|
|
74
|
+
# auth_names
|
|
75
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
76
|
+
|
|
77
|
+
new_options = opts.merge(
|
|
78
|
+
:operation => :"CryptographicOperationsApi.decrypt_data",
|
|
79
|
+
:header_params => header_params,
|
|
80
|
+
:query_params => query_params,
|
|
81
|
+
:form_params => form_params,
|
|
82
|
+
:body => post_body,
|
|
83
|
+
:auth_names => auth_names,
|
|
84
|
+
:return_type => return_type
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
88
|
+
if @api_client.config.debugging
|
|
89
|
+
@api_client.config.logger.debug "API called: CryptographicOperationsApi#decrypt_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
90
|
+
end
|
|
91
|
+
return data, status_code, headers
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Encrypt data with a keypair's public key
|
|
95
|
+
# Uses ML-KEM (Kyber). The keypair must use a `KYBER*` algorithm. Optionally stores result in ephemeral storage and returns an `ephemeral_id` for later decryption without passing raw ciphertext.
|
|
96
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
97
|
+
# @param encrypt_request [EncryptRequest]
|
|
98
|
+
# @param [Hash] opts the optional parameters
|
|
99
|
+
# @return [EncryptData200Response]
|
|
100
|
+
def encrypt_data(keypair_id, encrypt_request, opts = {})
|
|
101
|
+
data, _status_code, _headers = encrypt_data_with_http_info(keypair_id, encrypt_request, opts)
|
|
102
|
+
data
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Encrypt data with a keypair's public key
|
|
106
|
+
# Uses ML-KEM (Kyber). The keypair must use a `KYBER*` algorithm. Optionally stores result in ephemeral storage and returns an `ephemeral_id` for later decryption without passing raw ciphertext.
|
|
107
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
108
|
+
# @param encrypt_request [EncryptRequest]
|
|
109
|
+
# @param [Hash] opts the optional parameters
|
|
110
|
+
# @return [Array<(EncryptData200Response, Integer, Hash)>] EncryptData200Response data, response status code and response headers
|
|
111
|
+
def encrypt_data_with_http_info(keypair_id, encrypt_request, opts = {})
|
|
112
|
+
if @api_client.config.debugging
|
|
113
|
+
@api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.encrypt_data ...'
|
|
114
|
+
end
|
|
115
|
+
# verify the required parameter 'keypair_id' is set
|
|
116
|
+
if @api_client.config.client_side_validation && keypair_id.nil?
|
|
117
|
+
fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.encrypt_data"
|
|
118
|
+
end
|
|
119
|
+
# verify the required parameter 'encrypt_request' is set
|
|
120
|
+
if @api_client.config.client_side_validation && encrypt_request.nil?
|
|
121
|
+
fail ArgumentError, "Missing the required parameter 'encrypt_request' when calling CryptographicOperationsApi.encrypt_data"
|
|
122
|
+
end
|
|
123
|
+
# resource path
|
|
124
|
+
local_var_path = '/keypairs/{keypairId}/encrypt'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
|
|
125
|
+
|
|
126
|
+
# query parameters
|
|
127
|
+
query_params = opts[:query_params] || {}
|
|
128
|
+
|
|
129
|
+
# header parameters
|
|
130
|
+
header_params = opts[:header_params] || {}
|
|
131
|
+
# HTTP header 'Accept' (if needed)
|
|
132
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
133
|
+
# HTTP header 'Content-Type'
|
|
134
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
135
|
+
if !content_type.nil?
|
|
136
|
+
header_params['Content-Type'] = content_type
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# form parameters
|
|
140
|
+
form_params = opts[:form_params] || {}
|
|
141
|
+
|
|
142
|
+
# http body (model)
|
|
143
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(encrypt_request)
|
|
144
|
+
|
|
145
|
+
# return_type
|
|
146
|
+
return_type = opts[:debug_return_type] || 'EncryptData200Response'
|
|
147
|
+
|
|
148
|
+
# auth_names
|
|
149
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
150
|
+
|
|
151
|
+
new_options = opts.merge(
|
|
152
|
+
:operation => :"CryptographicOperationsApi.encrypt_data",
|
|
153
|
+
:header_params => header_params,
|
|
154
|
+
:query_params => query_params,
|
|
155
|
+
:form_params => form_params,
|
|
156
|
+
:body => post_body,
|
|
157
|
+
:auth_names => auth_names,
|
|
158
|
+
:return_type => return_type
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
162
|
+
if @api_client.config.debugging
|
|
163
|
+
@api_client.config.logger.debug "API called: CryptographicOperationsApi#encrypt_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
164
|
+
end
|
|
165
|
+
return data, status_code, headers
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Sign data with a keypair's private key
|
|
169
|
+
# Uses ML-DSA (Dilithium). The keypair must use a `DILITHIUM*` algorithm.
|
|
170
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
171
|
+
# @param sign_request [SignRequest]
|
|
172
|
+
# @param [Hash] opts the optional parameters
|
|
173
|
+
# @return [SignData200Response]
|
|
174
|
+
def sign_data(keypair_id, sign_request, opts = {})
|
|
175
|
+
data, _status_code, _headers = sign_data_with_http_info(keypair_id, sign_request, opts)
|
|
176
|
+
data
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Sign data with a keypair's private key
|
|
180
|
+
# Uses ML-DSA (Dilithium). The keypair must use a `DILITHIUM*` algorithm.
|
|
181
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
182
|
+
# @param sign_request [SignRequest]
|
|
183
|
+
# @param [Hash] opts the optional parameters
|
|
184
|
+
# @return [Array<(SignData200Response, Integer, Hash)>] SignData200Response data, response status code and response headers
|
|
185
|
+
def sign_data_with_http_info(keypair_id, sign_request, opts = {})
|
|
186
|
+
if @api_client.config.debugging
|
|
187
|
+
@api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.sign_data ...'
|
|
188
|
+
end
|
|
189
|
+
# verify the required parameter 'keypair_id' is set
|
|
190
|
+
if @api_client.config.client_side_validation && keypair_id.nil?
|
|
191
|
+
fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.sign_data"
|
|
192
|
+
end
|
|
193
|
+
# verify the required parameter 'sign_request' is set
|
|
194
|
+
if @api_client.config.client_side_validation && sign_request.nil?
|
|
195
|
+
fail ArgumentError, "Missing the required parameter 'sign_request' when calling CryptographicOperationsApi.sign_data"
|
|
196
|
+
end
|
|
197
|
+
# resource path
|
|
198
|
+
local_var_path = '/keypairs/{keypairId}/sign'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
|
|
199
|
+
|
|
200
|
+
# query parameters
|
|
201
|
+
query_params = opts[:query_params] || {}
|
|
202
|
+
|
|
203
|
+
# header parameters
|
|
204
|
+
header_params = opts[:header_params] || {}
|
|
205
|
+
# HTTP header 'Accept' (if needed)
|
|
206
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
207
|
+
# HTTP header 'Content-Type'
|
|
208
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
209
|
+
if !content_type.nil?
|
|
210
|
+
header_params['Content-Type'] = content_type
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
# form parameters
|
|
214
|
+
form_params = opts[:form_params] || {}
|
|
215
|
+
|
|
216
|
+
# http body (model)
|
|
217
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(sign_request)
|
|
218
|
+
|
|
219
|
+
# return_type
|
|
220
|
+
return_type = opts[:debug_return_type] || 'SignData200Response'
|
|
221
|
+
|
|
222
|
+
# auth_names
|
|
223
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
224
|
+
|
|
225
|
+
new_options = opts.merge(
|
|
226
|
+
:operation => :"CryptographicOperationsApi.sign_data",
|
|
227
|
+
:header_params => header_params,
|
|
228
|
+
:query_params => query_params,
|
|
229
|
+
:form_params => form_params,
|
|
230
|
+
:body => post_body,
|
|
231
|
+
:auth_names => auth_names,
|
|
232
|
+
:return_type => return_type
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
236
|
+
if @api_client.config.debugging
|
|
237
|
+
@api_client.config.logger.debug "API called: CryptographicOperationsApi#sign_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
238
|
+
end
|
|
239
|
+
return data, status_code, headers
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Verify a signature
|
|
243
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
244
|
+
# @param verify_request [VerifyRequest]
|
|
245
|
+
# @param [Hash] opts the optional parameters
|
|
246
|
+
# @return [VerifySignature200Response]
|
|
247
|
+
def verify_signature(keypair_id, verify_request, opts = {})
|
|
248
|
+
data, _status_code, _headers = verify_signature_with_http_info(keypair_id, verify_request, opts)
|
|
249
|
+
data
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
# Verify a signature
|
|
253
|
+
# @param keypair_id [String] UUID v4 keypair identifier
|
|
254
|
+
# @param verify_request [VerifyRequest]
|
|
255
|
+
# @param [Hash] opts the optional parameters
|
|
256
|
+
# @return [Array<(VerifySignature200Response, Integer, Hash)>] VerifySignature200Response data, response status code and response headers
|
|
257
|
+
def verify_signature_with_http_info(keypair_id, verify_request, opts = {})
|
|
258
|
+
if @api_client.config.debugging
|
|
259
|
+
@api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.verify_signature ...'
|
|
260
|
+
end
|
|
261
|
+
# verify the required parameter 'keypair_id' is set
|
|
262
|
+
if @api_client.config.client_side_validation && keypair_id.nil?
|
|
263
|
+
fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.verify_signature"
|
|
264
|
+
end
|
|
265
|
+
# verify the required parameter 'verify_request' is set
|
|
266
|
+
if @api_client.config.client_side_validation && verify_request.nil?
|
|
267
|
+
fail ArgumentError, "Missing the required parameter 'verify_request' when calling CryptographicOperationsApi.verify_signature"
|
|
268
|
+
end
|
|
269
|
+
# resource path
|
|
270
|
+
local_var_path = '/keypairs/{keypairId}/verify'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
|
|
271
|
+
|
|
272
|
+
# query parameters
|
|
273
|
+
query_params = opts[:query_params] || {}
|
|
274
|
+
|
|
275
|
+
# header parameters
|
|
276
|
+
header_params = opts[:header_params] || {}
|
|
277
|
+
# HTTP header 'Accept' (if needed)
|
|
278
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
279
|
+
# HTTP header 'Content-Type'
|
|
280
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
281
|
+
if !content_type.nil?
|
|
282
|
+
header_params['Content-Type'] = content_type
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
# form parameters
|
|
286
|
+
form_params = opts[:form_params] || {}
|
|
287
|
+
|
|
288
|
+
# http body (model)
|
|
289
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(verify_request)
|
|
290
|
+
|
|
291
|
+
# return_type
|
|
292
|
+
return_type = opts[:debug_return_type] || 'VerifySignature200Response'
|
|
293
|
+
|
|
294
|
+
# auth_names
|
|
295
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
296
|
+
|
|
297
|
+
new_options = opts.merge(
|
|
298
|
+
:operation => :"CryptographicOperationsApi.verify_signature",
|
|
299
|
+
:header_params => header_params,
|
|
300
|
+
:query_params => query_params,
|
|
301
|
+
:form_params => form_params,
|
|
302
|
+
:body => post_body,
|
|
303
|
+
:auth_names => auth_names,
|
|
304
|
+
:return_type => return_type
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
308
|
+
if @api_client.config.debugging
|
|
309
|
+
@api_client.config.logger.debug "API called: CryptographicOperationsApi#verify_signature\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
310
|
+
end
|
|
311
|
+
return data, status_code, headers
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#QSafe PQC API
|
|
3
|
+
|
|
4
|
+
#Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: rushikesh.n.kakadiya@gmail.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module QSafe
|
|
16
|
+
class DebugApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Test Redis and internal services
|
|
23
|
+
# ⚠️ Disable in production. Tests Redis connectivity and all enhanced services.
|
|
24
|
+
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @return [DebugRedisTest200Response]
|
|
26
|
+
def debug_redis_test(opts = {})
|
|
27
|
+
data, _status_code, _headers = debug_redis_test_with_http_info(opts)
|
|
28
|
+
data
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Test Redis and internal services
|
|
32
|
+
# ⚠️ Disable in production. Tests Redis connectivity and all enhanced services.
|
|
33
|
+
# @param [Hash] opts the optional parameters
|
|
34
|
+
# @return [Array<(DebugRedisTest200Response, Integer, Hash)>] DebugRedisTest200Response data, response status code and response headers
|
|
35
|
+
def debug_redis_test_with_http_info(opts = {})
|
|
36
|
+
if @api_client.config.debugging
|
|
37
|
+
@api_client.config.logger.debug 'Calling API: DebugApi.debug_redis_test ...'
|
|
38
|
+
end
|
|
39
|
+
# resource path
|
|
40
|
+
local_var_path = '/debug/redis-test'
|
|
41
|
+
|
|
42
|
+
# query parameters
|
|
43
|
+
query_params = opts[:query_params] || {}
|
|
44
|
+
|
|
45
|
+
# header parameters
|
|
46
|
+
header_params = opts[:header_params] || {}
|
|
47
|
+
# HTTP header 'Accept' (if needed)
|
|
48
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
49
|
+
|
|
50
|
+
# form parameters
|
|
51
|
+
form_params = opts[:form_params] || {}
|
|
52
|
+
|
|
53
|
+
# http body (model)
|
|
54
|
+
post_body = opts[:debug_body]
|
|
55
|
+
|
|
56
|
+
# return_type
|
|
57
|
+
return_type = opts[:debug_return_type] || 'DebugRedisTest200Response'
|
|
58
|
+
|
|
59
|
+
# auth_names
|
|
60
|
+
auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
|
|
61
|
+
|
|
62
|
+
new_options = opts.merge(
|
|
63
|
+
:operation => :"DebugApi.debug_redis_test",
|
|
64
|
+
:header_params => header_params,
|
|
65
|
+
:query_params => query_params,
|
|
66
|
+
:form_params => form_params,
|
|
67
|
+
:body => post_body,
|
|
68
|
+
:auth_names => auth_names,
|
|
69
|
+
:return_type => return_type
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
73
|
+
if @api_client.config.debugging
|
|
74
|
+
@api_client.config.logger.debug "API called: DebugApi#debug_redis_test\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
75
|
+
end
|
|
76
|
+
return data, status_code, headers
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|