21 lines
1.0 KiB
PowerShell

function ParseCertificateReq($nullSignedRequest)
{
$BEGIN = "-----BEGIN NEW CERTIFICATE REQUEST-----"
$END = "-----END NEW CERTIFICATE REQUEST-----"
$nullSignedRequest = $nullSignedRequest.Replace($BEGIN, "")
$nullSignedRequest = $nullSignedRequest.Replace($END, "")
return $nullSignedRequest
}
$nullRequest = ParseCertificateReq($nullSignedPKCS10RequestDER)
$publicKeyManagementServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_PublicKeyManagementService WHERE Name='Intel(r) AMT Public Key Management Service'")
$inputObject = $publicKeyManagementServiceRef.CreateMethodInput("GeneratePKCS10RequestEx")
$inputObject.SetProperty("KeyPair", $publicPrivateKeyPairRef)
$inputObject.SetProperty("SigningAlgorithm", "1")
$inputObject.SetProperty("NullSignedCertificateRequest", $nullRequest)
$outputObject = $publicKeyManagementServiceRef.InvokeMethod($inputObject)
$returnValue = $outputObject.GetProperty("ReturnValue")
if($returnValue -like "0")
{
$signedCertificateRequest = $outputObject.GetProperty("SignedCertificateRequest")
}