PowerShell
PowerShell
Get ECC Private Key in JWK Format (JSON Web Key)
See more ECC Examples
Demonstrates how to get an ECC private key in JWK (JSON Web Key) format.Note: This example requires Chilkat v9.5.0.66 or later.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# Note: This example requires Chilkat v9.5.0.66 or later.
# Load a PEM file into memory.
$sbPem = New-Object Chilkat.StringBuilder
$success = $sbPem.LoadFile("qa_data/pem/ecc_privKey.pem","utf-8")
if ($success -ne $true) {
$("Failed to load PEM file.")
exit
}
# Load the PEM into a private key object.
$privKey = New-Object Chilkat.PrivateKey
$success = $privKey.LoadPem($sbPem.GetAsString())
if ($success -ne $true) {
$($privKey.LastErrorText)
exit
}
# Get the private key in JWK format:
$jwk = $privKey.GetJwk()
# The GetJwk method will return the JWK in the most compact JSON format possible,
# as a single line with no extra whitespace. To get a more human-readable JWK (for this example),
# load into a Chilkat JSON object and emit non-compact:
$json = New-Object Chilkat.JsonObject
$json.Load($jwk)
$json.EmitCompact = $false
$("ECC Private Key in JWK format:")
$($json.Emit())
# Sample output:
# {
# "kty": "EC",
# "crv": "P-256",
# "x": "oBUyo8CQAFPeYPvv78ylh5MwFZjTCLQeb042TjiMJxE",
# "y": "vvQyxZkUjJQUPU_0bCy3Pj5qQdfu8jwEfqEeYGZ95CU",
# "d": "EbVzfPnZPxfAyxqEZV05laAoJAl-_6Xt2O4mOB611sM"
# }
#
# Additional information can be added like this:
$json.AppendString("use","enc")
$json.AppendString("kid","123ABC")
# Now examine the JSON:
$($json.Emit())
# {
# "kty": "EC",
# "crv": "P-256",
# "x": "oBUyo8CQAFPeYPvv78ylh5MwFZjTCLQeb042TjiMJxE",
# "y": "vvQyxZkUjJQUPU_0bCy3Pj5qQdfu8jwEfqEeYGZ95CU",
# "d": "EbVzfPnZPxfAyxqEZV05laAoJAl-_6Xt2O4mOB611sM",
# "use": "enc",
# "kid": "123ABC"
# }