Objective-C
Objective-C
ChartURL - Create a Signed URL
See more HTTP Misc Examples
Demonstrates how to create a signed URL for ChartURL.Chilkat Objective-C Downloads
#import <CkoCrypt2.h>
#import <NSString.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];
// Example key: "dek-d7a46236eda961a6c3c18ffcc6b077ba87d27e9ae85f7842c6d427c265dd5f69d5131308d93332353d4a55a4b1160fcf516515a4a9f0aa50fbf2d7a2e7d0f1c5"
NSString *key = @"charturl-sign-encrypt-key";
// Example token: "dt-RwYN"
NSString *token = @"charturl-token";
NSString *slug = @"weekly-activity";
NSString *data = @"{ \"options\": {\"data\": {\"columns\": [[\"This Week\",10,13],[\"Last Week\",9,5]]}}}";
crypt.HashAlgorithm = @"SHA256";
crypt.MacAlgorithm = @"HMAC";
[crypt SetMacKeyString: key];
crypt.EncodingMode = @"base64";
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json Load: data];
NSLog(@"%@%@",@"json = ",[json Emit]);
NSString *sig = [crypt MacStringENC: [json Emit]];
CkoStringBuilder *sbUrl = [[CkoStringBuilder alloc] init];
[sbUrl Append: @"https://charturl.com/i/"];
[sbUrl Append: token];
[sbUrl Append: @"/"];
[sbUrl Append: slug];
[sbUrl Append: @"?d="];
[sbUrl Append: [crypt EncodeString: [json Emit] charset: @"utf-8" encoding: @"url"]];
[sbUrl Append: @"&s="];
[sbUrl Append: [crypt EncodeString: sig charset: @"utf-8" encoding: @"url"]];
NSLog(@"%@%@",@"Signed URL: ",[sbUrl GetAsString]);