Sample code for 30+ languages & platforms
Objective-C

_LANGUAGE_ JCC Payment Systems - Get a User's Credential IDs for CSC

See more JCC Cyprus Examples

Demonstrates how to find the credential ids for a given user to be used with remote signing via the CSC (Cloud Signature Consortium) API.

Note: This example requires Chilkat v10.0.2 or greater.

Chilkat Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>
#import <CkoCert.h>
#import <NSString.h>

BOOL success = NO;

// Provide information about the CSC service and our user ID and client credentials.
CkoJsonObject *jsonCsc = [[CkoJsonObject alloc] init];

[jsonCsc UpdateString: @"service" value: @"CSC"];
[jsonCsc UpdateString: @"baseUrl" value: @"https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/"];

[jsonCsc UpdateString: @"userId" value: @"YOUR_USER_ID"];
[jsonCsc UpdateString: @"clientId" value: @"YOUR_CLIENT_ID"];
[jsonCsc UpdateString: @"clientSecret" value: @"YOUR_CLIENT_SECRET"];

// The call to SetCloudSigner will do the following internally:
// 1) Calls the "info" endpoint to get information about the remote service and the list of the API methods it supports.
// 2) Calls the "oauth2/token" endpoint to get the OAuth2 authorization token via client credentials (using the clientId and clientSecret).
// 3) Calls the "credentials/list" endpoint to get the list of credentials associated with the userId.
// 4) Calls the "credentials/info" endpoint to retrieve the credential and return the main identity information 
//    and the public key certificate or the certificate chain associated to it.
//    The Chilkat certificate object is loaded with the retrieved certificate.

// The jsonCsc is updated with the information returned from each of the above calls.
CkoCert *cert = [[CkoCert alloc] init];
success = [cert SetCloudSigner: jsonCsc];
if (success == NO) {
    NSLog(@"%@",cert.LastErrorText);
    return;
}

jsonCsc.EmitCompact = NO;

NSLog(@"%@",[jsonCsc Emit]);

// We can do the following to get the credential IDs
int i = 0;
int numIds = [[jsonCsc SizeOfArray: @"credentials_list.credentialIDs"] intValue];
while (i < numIds) {
    jsonCsc.I = [NSNumber numberWithInt: i];
    NSString *cred_id = [jsonCsc StringOf: @"credentials_list.credentialIDs[i]"];
    NSLog(@"%@%@",@"Credential ID: ",cred_id);
    i = i + 1;
}