Sample code for 30+ languages & platforms
PowerBuilder

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

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_JsonCsc
oleobject loo_Cert
integer i
integer li_NumIds
string ls_Cred_id

li_Success = 0

// Provide information about the CSC service and our user ID and client credentials.
loo_JsonCsc = create oleobject
li_rc = loo_JsonCsc.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_JsonCsc
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_JsonCsc.UpdateString("service","CSC")
loo_JsonCsc.UpdateString("baseUrl","https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/")

loo_JsonCsc.UpdateString("userId","YOUR_USER_ID")
loo_JsonCsc.UpdateString("clientId","YOUR_CLIENT_ID")
loo_JsonCsc.UpdateString("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.
loo_Cert = create oleobject
li_rc = loo_Cert.ConnectToNewObject("Chilkat.Cert")

li_Success = loo_Cert.SetCloudSigner(loo_JsonCsc)
if li_Success = 0 then
    Write-Debug loo_Cert.LastErrorText
    destroy loo_JsonCsc
    destroy loo_Cert
    return
end if

loo_JsonCsc.EmitCompact = 0

Write-Debug loo_JsonCsc.Emit()

// We can do the following to get the credential IDs
i = 0
li_NumIds = loo_JsonCsc.SizeOfArray("credentials_list.credentialIDs")
do while i < li_NumIds
    loo_JsonCsc.I = i
    ls_Cred_id = loo_JsonCsc.StringOf("credentials_list.credentialIDs[i]")
    Write-Debug "Credential ID: " + ls_Cred_id
    i = i + 1
loop


destroy loo_JsonCsc
destroy loo_Cert