Sample code for 30+ languages & platforms
DataFlex

IBM Cloud Secrets - Setup Bootstrap Secret in Local Manager

See more Secrets Examples

Accessing a cloud-based secrets manager requires authentication credentials, which cannot be stored in the manager itself. Instead, they must be securely stored locally.

One solution is to store the authentication credentials as a secret in the Windows Credentials Manager or Apple Keychain. These credentials serve as the "bootstrap secret" for authenticating with the cloud-based secrets manager.

This example demonstrates how to setup a bootstrap secret for the IBM Cloud Secrets.

Note: This example requires Chilkat v10.1.0 or later.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoBootstrap
    Variant vJson
    Handle hoJson
    String sIbm_api_key
    String sTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatSecrets)) To hoBootstrap
    If (Not(IsComObjectCreated(hoBootstrap))) Begin
        Send CreateComObject of hoBootstrap
    End

    // We're going to store the bootstrap secret in the local manager.
    // On Windows, this is the Windows Credentials Manager
    // On MacOS/iOS, it is the Apple Keychain
    Set ComLocation Of hoBootstrap To "local_manager"

    // Specify the name of the bootstrap secret.
    // service and username are required.
    // appName and domain are optional.
    // Note: The values are arbitrary and can be anything you want.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "appName" "ibm_bs" To iSuccess
    Get ComUpdateString Of hoJson "service" "Example" To iSuccess
    Get ComUpdateString Of hoJson "username" "Joe" To iSuccess

    // The bootstrap secret for the IBM Cloud Secrets will contain
    // your IBM Cloud API Key, like this..
    // (change the following to use your own IBM Cloud API key)
    Move "tI-oaEj_krD2F4Utd1ztRCE+wDWve8HvU15XxOdq7FkW" To sIbm_api_key
    Get pvComObject of hoJson to vJson
    Get ComUpdateSecretStr Of hoBootstrap vJson sIbm_api_key To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoBootstrap To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "The IBM Cloud bootstrap secret has been stored in the local manager."


End_Procedure