![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Example: Http.SetOAuthRsaKey methodDemonstrates the
#include <C_CkPfx.h> #include <C_CkPrivateKey.h> #include <C_CkHttp.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { BOOL success; HCkPfx pfx; HCkPrivateKey privKey; HCkHttp http; HCkHttpResponse resp; success = FALSE; pfx = CkPfx_Create(); success = CkPfx_LoadPfxFile(pfx,"qa_data/pfx/MCD_Sandbox_chilkat_iccp_API_Keys/chilkat_iccp-sandbox.p12","keystorepassword"); if (success == FALSE) { printf("%s\n",CkPfx_lastErrorText(pfx)); CkPfx_Dispose(pfx); return; } privKey = CkPrivateKey_Create(); success = CkPfx_PrivateKeyAt(pfx,0,privKey); if (success == FALSE) { printf("%s\n",CkPfx_lastErrorText(pfx)); CkPfx_Dispose(pfx); CkPrivateKey_Dispose(privKey); return; } http = CkHttp_Create(); // Use OAuth1.0a authentication. CkHttp_putOAuth1(http,TRUE); // Use your own consumer key (this is not a valid consumer key) CkHttp_putOAuthConsumerKey(http,"123abc"); CkHttp_putOAuthSigMethod(http,"RSA-SHA256"); success = CkHttp_SetOAuthRsaKey(http,privKey); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkPfx_Dispose(pfx); CkPrivateKey_Dispose(privKey); CkHttp_Dispose(http); return; } // Tell Chilkat to automatically calculate and add the oauth_body_hash field when sending the request. CkHttp_putOAuthBodyHash(http,TRUE); // Send this request to an endpoint at chilkatsoft.com. The purpose of this example is to show // how the OAuth1.0a Authorization header is computed and sent by Chilkat. // The chilkatsoft.com site itself doesn't do OAuth1. It's just ignoring the Authorization header. resp = CkHttpResponse_Create(); success = CkHttp_HttpStr(http,"POST","https://chilkatsoft.com/echo_request_body.asp","<notUsed>123</notUsed>","utf-8","application/xml",resp); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkPfx_Dispose(pfx); CkPrivateKey_Dispose(privKey); CkHttp_Dispose(http); CkHttpResponse_Dispose(resp); return; } // Examine the request header we just sent.. printf("%s\n",CkHttp_lastHeader(http)); // Sample output: // POST /echo_request_body.asp HTTP/1.1 // Host: chilkatsoft.com // Accept: */* // Accept-Encoding: gzip // Content-Type: application/xml // Content-Length: 22 // Authorization: OAuth oauth_consumer_key="123abc", oauth_nonce="A2E91C3B53E0BD7FBF71F441336679E358DDCEEE", oauth_body_hash="a5kPTsDwUwmBjC0voNlAAvM6YoaRS5X7sTO49jl3/h8=", oauth_timestamp="1756324932", oauth_signature_method="RSA-SHA256", oauth_version="1.0", oauth_signature="*****" CkPfx_Dispose(pfx); CkPrivateKey_Dispose(privKey); CkHttp_Dispose(http); CkHttpResponse_Dispose(resp); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.