Orchestrator Plugin: Crypto

by Simon Sparks · 1 October 2025

This is the TypeScript definition of the Crypto plugin which can be downloaded from the VMware GitHub repository.

By creating this TypeScript representation of the plugin we are able to easily use the functionality of the plugin from within the Build Tools and we can be sure that we have the correct property names and the correct function names and the correct inputs and the correct return types basically everything that makes TypeScript awesome.

https://github.com/vmware-archive/o11n-plugin-crypto

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: Plugin_Module_Crypto.d.ts

declareclassCryptoCertificate{
constructor(certString:string);

    serialNumber:string;
    encodedBase64:string;
    publicKeyPem:string;
    issuedToMap:Properties;
    issuedByDN:string;
    issuedToDN:string;
    pemEncoded:string;
    issuedByMap:Properties;
    signatureAlgorithm:string;
    sha1Fingerprint:string;
    signatureBase64:string;
    sha256Fingerprint:string;
    subjectAlternativeNames:string[];

verify(pemKey:string):boolean;
getValidbefore():Date;
getValidAfter():Date;
isValidOn(date:Date):Date;
}

declareclassCryptoCertificateManager{
publicstaticparseCertificatePem(pemCertString:string):CryptoCertificate;
publicstaticgetHttpsCertificate(urlString:string):CryptoCertificate[];
}

declareclassCryptoDigest{
publicstaticsha1Base64(dataB64:string):string;
publicstaticsha1(data:string):string;
publicstaticmd5(data:string):string;
publicstaticmd5Base64(dataB64:string):string;
publicstaticsha384Base64(dataB64:string):string;
publicstatichmacSha512(keyB64:string,dataB64:string):string;
publicstatichmacMd5(keyB64:string,dataB64:string):string;
publicstatichmacSha384(keyB64:string,dataB64:string):string;
publicstaticsha256(data:string):string;
publicstatichmacSha256(keyB64:string,dataB64:string):string;
publicstatichmacSha1(keyB64:string,dataB64:string):string;
publicstaticsha384(data:string):string;
publicstaticsha256Base64(dataB64:string):string;
publicstaticsha512(data:string):string;
publicstaticsha512Base64(dataB64:string):string;
}

declareclassCryptoEncoding{
publicstaticbinaryConcatBase64(b64data1:string,b64data2:string):string;
publicstaticbase64EncodeBytes(data:byte[]):string;
publicstaticbase64Encode(data:string):string;
publicstatichexToBase64(hex:string):string;
publicstaticmimeToBase64(mime:MimeAttachment):string;
publicstaticbase64ToMime(b64data:string,mimeType:string,fileName:string):MimeAttachment;
publicstaticbase64Decode(b64data:string):string;
publicstaticgetSubsetBase64(b64data:string,start:number,end:number):string;
publicstaticbase64toHex(b64data:string):string;
publicstaticgetLengthBase64(b64data:string):string;
}

declareclassCryptoEncryption{
publicstaticgenerateRandomBytes(numberOfBytes:number):string;
publicstatictripleDesEncrypt(dataB64:string,secretB64:string,ivB64:string):string;
publicstaticaesEncrypt(dataB64:string,secretB64:string,ivB64:string):string;
publicstaticaesDecrypt(encryptedB64:string,secretB64:string,ivB64:string):string;
publicstatictripleDesDecrypt(encryptedB64:string,secretB64:string,ivB64:string):string;
publicstaticgenerateRandomIv():string;
}

declareclassCryptoRSA{
publicstaticencrypt(key:string,dateB64:string):string;
publicstaticdecrypt(key:string,encryptedB64:string):string;
publicstaticcreateSignature(key:string,dateB64:string):string;
publicstaticverifySignature(key:string,dateB64:string,signatureB64:string):boolean;
}


Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.