1. Go to this page and download the library: Download k2gl/sigstore-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
k2gl / sigstore-bundle example snippets
use K2gl\SigstoreBundle\BundleBuilder;
use K2gl\SigstoreBundle\InclusionProof;
use K2gl\SigstoreBundle\TransparencyLogEntry;
$rekorEntry = new TransparencyLogEntry(
logIndex: 148_384_212,
logId: $logKeyIdBytes,
kind: 'dsse',
version: '0.0.2',
canonicalizedBody: $canonicalBodyBytes,
inclusionProof: new InclusionProof(
logIndex: 148_384_212,
rootHash: $rootHashBytes,
treeSize: 148_384_213,
hashes: $siblingHashBytes, // list of raw hashes, bottom to top
checkpoint: $signedCheckpoint, // the signed note string
),
);
$json = BundleBuilder::forDsse($envelope) // a K2gl\Dsse\Envelope you signed
->withCertificate($fulcioLeafDer) // raw DER of the Fulcio leaf
->addTransparencyLogEntry($rekorEntry)
->toJson();
file_put_contents('artifact.sigstore.json', $json);
use K2gl\SigstoreBundle\BundleBuilder;
use K2gl\SigstoreBundle\HashAlgorithm;
use K2gl\SigstoreBundle\MessageSignature;
$signature = new MessageSignature(
algorithm: HashAlgorithm::SHA2_256,
digest: $artifactSha256, // raw 32-byte digest
signature: $rawSignature, // raw signature over the artifact
);
$json = BundleBuilder::forMessageSignature($signature)
->withCertificate($fulcioLeafDer)
->addTransparencyLogEntry($rekorEntry)
->addRfc3161Timestamp($rfc3161TokenDer) // optional trusted timestamp
->toJson();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.