![]() |
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
(PowerBuilder) HTTP Basic Auth with Secure StringsDemonstrates how to do HTTP basic authentication using secure strings.
integer li_rc integer li_Success oleobject loo_Json oleobject loo_Crypt oleobject loo_SsLogin oleobject loo_SsPassword oleobject loo_Http string ls_ResponseStr // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Imagine we've previously saved our encrypted login and password within a JSON config file // that contains this: // { // "http_login": "mCrOmA7mBA7Au9RuJGb9hw==", // "http_password": "jJtiI9TgErTTpqBz9JtHBw==" // } loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") if li_rc < 0 then destroy loo_Json MessageBox("Error","Connecting to COM object failed") return end if loo_Json.LoadFile("qa_data/passwords/http.json") loo_Crypt = create oleobject // Use "Chilkat_9_5_0.Crypt2" for versions of Chilkat < 10.0.0 li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2") // These are the encryption settings we previously used to encrypt the credentials within the JSON config file. loo_Crypt.CryptAlgorithm = "aes" loo_Crypt.CipherMode = "cbc" loo_Crypt.KeyLength = 128 loo_Crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex") loo_Crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex") loo_Crypt.EncodingMode = "base64" loo_SsLogin = create oleobject // Use "Chilkat_9_5_0.SecureString" for versions of Chilkat < 10.0.0 li_rc = loo_SsLogin.ConnectToNewObject("Chilkat.SecureString") loo_SsPassword = create oleobject // Use "Chilkat_9_5_0.SecureString" for versions of Chilkat < 10.0.0 li_rc = loo_SsPassword.ConnectToNewObject("Chilkat.SecureString") // Decrypt to the secure string. (the strings will still held in memory encrypted, but are now encrypted using // a randomly generated session key.) loo_Crypt.DecryptSecureENC(loo_Json.StringOf("http_login"),loo_SsLogin) loo_Crypt.DecryptSecureENC(loo_Json.StringOf("http_password"),loo_SsPassword) loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") // Cause the "Authorization: Basic ..." header to be added to HTTP requests // by setting the Login and Password properties. However, instead of setting the password property // directly, set it via the SetPassword method using the secure string. loo_Http.Login = loo_SsLogin.Access() loo_Http.SetSecurePassword(loo_SsPassword) // Also indicate that Basic authentication is to be used.. loo_Http.BasicAuth = 1 // Do an HTTP GET w/ Basic authentication. // REMEMBER: Always use TLS with Basic authentication. Otherwise your credentials are exposed for the world to see.. ls_ResponseStr = loo_Http.QuickGetStr("https://www.chilkatsoft.com/helloWorld.html") // Show the request header we sent in the QuickGetStr: Write-Debug loo_Http.LastHeader // The LastHeader looks something like this: // GET /helloWorld.html HTTP/1.1 // Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 // Connection: keep-alive // User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 // Accept-Language: en-us,en;q=0.5 // Authorization: Basic bXlIdHRwTG9naW46bXlIdHRwUGFzc3dvcmQ= // Accept-Encoding: gzip // Host: www.chilkatsoft.com destroy loo_Json destroy loo_Crypt destroy loo_SsLogin destroy loo_SsPassword destroy loo_Http |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.