18 lines
927 B
PowerShell

$amtFQDN = "amt.demo.com"
$cn = "CN = " + $amtFQDN
$nullSignedPKCS10Request = new-object -com "X509Enrollment.CX509CertificateRequestPkcs10"
$dn = new-object -com "X509Enrollment.CX500DistinguishedName"
$serverAuthOID = new-object -com "X509Enrollment.CObjectId"
$publicKey = new-Object -com "X509Enrollment.CX509PublicKey"
# Initialize server OID.
$serverAuthOID.InitializeFromName("16") # 16 = RSA.
$publicKey.Initialize($serverAuthOID, $derKey, "", "1")
$nullSignedPKCS10Request.InitializeFromPublicKey(0x02, $publicKey, "WebServer") # 0x02 = ContextMachine.
$dn.Encode($cn, "0")
$nullSignedPKCS10Request.Subject = $dn
# Add PKCS10 attributes as needed.
$objHash = new-object -com "X509Enrollment.CObjectId"
$objHash.InitializeFromAlgorithmName("1", "0", "0", "SHA256")
$nullSignedPKCS10Request.HashAlgorithm = $objHash
$nullSignedPKCS10Request.Encode()
$nullSignedPKCS10RequestDER = $nullSignedPKCS10Request.RawData("3")