SSL - Write Certificate Pem and Key to the Filesystem
Octopus.Script exported 08/13/2020 by bobjwalker belongs to 'SSL' category.
Export the PEM and Key from an SSL certificate to the File System. This is useful in Linux for securing websites or Docker containers
Parameters
When steps based on the template are included in a project's deployment process, the parameters below can be set.
Root SSL Export Path
sslExportPath
The base directory the key and pem file will be saved to
PEM File Name
sslPemFile
The filename to write the PEM to
Key File Name
sslKeyFile
The filename to write the Key to
SSL Certificate Variable
sslCertificate
The name of the SSL certificate Variable
Script body
Steps based on this template will execute the following PowerShell script.
Show script
$CertName = $OctopusParameters["sslCertificate.Name"]
Write-Host "Writing PEM and Key files for $Certname"
New-Item -ItemType directory $sslExportPath -Force -Verbose
"Certificate Pem:"
$pemPath = join-path $sslExportPath $sslPemFile
$OctopusParameters["sslCertificate.CertificatePem"] | out-file $pemPath -Force -Verbose
"-" * 30
"Certificate Key: "
$keypath = join-path $sslExportPath $sslKeyFile
$OctopusParameters["sslCertificate.PrivateKeyPem"] | out-file $keyPath -Force -Verbose
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
Show JSON{
"Id": "9e7f1836-c7c5-4d52-bd9e-0948114b2a0e",
"Name": "SSL - Write Certificate Pem and Key to the Filesystem",
"Description": "Export the PEM and Key from an SSL certificate to the File System. This is useful in Linux for securing websites or Docker containers",
"Version": 7,
"ExportedAt": "2020-08-13T07:41:35.949Z",
"ActionType": "Octopus.Script",
"Author": "bobjwalker",
"Packages": [],
"Parameters": [
{
"Id": "c9cdd622-1a9a-4e5e-9eaa-ad738b76b356",
"Name": "sslExportPath",
"Label": "Root SSL Export Path",
"HelpText": "The base directory the key and pem file will be saved to",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "9211d56c-068e-47c5-9613-0f77eda72dca",
"Name": "sslPemFile",
"Label": "PEM File Name",
"HelpText": "The filename to write the PEM to",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "39dbe4a6-60c5-4bd2-8ad9-03a28f7148f0",
"Name": "sslKeyFile",
"Label": "Key File Name",
"HelpText": "The filename to write the Key to",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "65d6687e-badf-4772-ac14-70bd2790cd4d",
"Name": "sslCertificate",
"Label": "SSL Certificate Variable",
"HelpText": "The name of the SSL certificate Variable",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Certificate"
}
}
],
"Properties": {
"Octopus.Action.RunOnServer": "false",
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "\n$CertName = $OctopusParameters[\"sslCertificate.Name\"] \nWrite-Host \"Writing PEM and Key files for $Certname\"\n\nNew-Item -ItemType directory $sslExportPath -Force -Verbose\n\n\"Certificate Pem:\"\n$pemPath = join-path $sslExportPath $sslPemFile\n$OctopusParameters[\"sslCertificate.CertificatePem\"] | out-file $pemPath -Force -Verbose\n\n\"-\" * 30\n\n\"Certificate Key: \"\n$keypath = join-path $sslExportPath $sslKeyFile\n$OctopusParameters[\"sslCertificate.PrivateKeyPem\"] | out-file $keyPath -Force -Verbose\n"
},
"Category": "SSL",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates/ssl-write-certificate-pem-and-key.json",
"Website": "/step-templates/9e7f1836-c7c5-4d52-bd9e-0948114b2a0e",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}Provided under the Apache License version 2.0.