Sample code for 30+ languages & platforms
Tcl

_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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# Provide information about the CSC service and our user ID and client credentials.
set jsonCsc [new_CkJsonObject]

CkJsonObject_UpdateString $jsonCsc "service" "CSC"
CkJsonObject_UpdateString $jsonCsc "baseUrl" "https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/"

CkJsonObject_UpdateString $jsonCsc "userId" "YOUR_USER_ID"
CkJsonObject_UpdateString $jsonCsc "clientId" "YOUR_CLIENT_ID"
CkJsonObject_UpdateString $jsonCsc "clientSecret" "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.
set cert [new_CkCert]

set success [CkCert_SetCloudSigner $cert $jsonCsc]
if {$success == 0} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkJsonObject $jsonCsc
    delete_CkCert $cert
    exit
}

CkJsonObject_put_EmitCompact $jsonCsc 0

puts [CkJsonObject_emit $jsonCsc]

# We can do the following to get the credential IDs
set i 0
set numIds [CkJsonObject_SizeOfArray $jsonCsc "credentials_list.credentialIDs"]
while {$i < $numIds} {
    CkJsonObject_put_I $jsonCsc $i
    set cred_id [CkJsonObject_stringOf $jsonCsc "credentials_list.credentialIDs[i]"]
    puts "Credential ID: $cred_id"
    set i [expr $i + 1]
}

delete_CkJsonObject $jsonCsc
delete_CkCert $cert