Sample code for 30+ languages & platforms
PHP

Oracle 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 Oracle Cloud Secrets.

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

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\JsonObject;
use Chilkat2\Secrets;
use Chilkat2\StringBuilder;

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

$bootstrap = new Secrets();

// 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
$bootstrap->Location = '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.
$json = new JsonObject();
$json->UpdateString('appName', 'oracle_bs');
$json->UpdateString('service', 'Example');
$json->UpdateString('username', 'Joe');

// The bootstrap secret for Oracle Cloud Secrets is the PEM of your private key.
$sbPem = new StringBuilder();
try {
    $sbPem->LoadFile('qa_data/pem/oracle_cloud_privkey.pem', 'utf-8');
} catch (\Chilkat2\Exception $e) {
    echo "Failed to load the private key PEM file.\n";
    exit;
}

// The bootstrap secret for the Oracle Cloud Secrets will contain
// the private key PEM, like this:
try {
    $bootstrap->UpdateSecretSb($json, $sbPem);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo "The Oracle Cloud bootstrap secret has been stored.\n";