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") }