How to Serialize a Certificate from a PFX File
Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2
In Microsoft System Center Configuration Manager 2007 you serialize a certificate from a PFX file by calling the PxeAuthClass Client COM Automation ClassIPxeAuthClass::ReadIdentity Method method.
ReadIdentity has the following parameters:
Parameter | Description |
---|---|
FileName |
The path and filename of the PFX file. |
FilePassword |
The PFX file password. |
SMSID |
The PXE certificate identifier. |
ReadIdentity returns an array containing the following:
Element | Description |
---|---|
0 |
The hexadecimal-encoded private key for the PFX file containing the certificate. |
1 |
The hexadecimal-encoded certificate. |
After you obtain the array, you can use it to submit a registration record by using the SMS_Site class SubmitRegistrationRecord method.
To serialize a certificate from a PFX file
Create an instance of the PxeAuthClass Client COM Automation Class class.
Call the ReadIdentity method.
Example
The following example reads a certificate from a file identified by fileName.
For information about calling the sample code, see How to Call Configuration Manager COM Automation Objects.
Sub SerializeCertFromPFX (fileName, password, smsID)
Dim pxeauth
Set pxeauth = CreateObject("Microsoft.ConfigMgr.PXEAuth")
' Serialize certificate from PFX file.
Dim ident
ident= pxeauth.ReadIdentity( fileName, password, smsID)
WScript.Echo "certificatePFX = " & ident(0)
WScript.Echo "certificate = " & ident(1)
End Sub
The example method has the following parameters:
Parameter | Type | Description |
---|---|---|
fileName |
|
The name and path for the PFX file. For example, \\SERVERNAME\c$\SelfSigned.pfx. |
password |
|
The PFX file password. |
smsID |
|
The PXE certificate identifier. |
Compiling the Code
Platforms
Windows Server 2003
To use PXEAuthClass with C# you will need the following:
Namespaces
System
System.Collections.Generic
System.Text
System.Threading
TsMediaLib
Assembly
You will need to use COM interop to access the TSMediaClass object. The COM object you add a reference to is TSMedia 1.0 Type Library.
To declare in your code, using PxeAuthClassClass.
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
Security
For more information about securing Configuration Manager applications, see About Securing Configuration Manager Applications.
See Also
Concepts
About Operating System Deployment Media Management
How to Create Capture Media
How to Create Boot Media
How to Create Stand-Alone Operating System Media
How to Create and Serialize a New Self-Signed Certificate
PxeAuthClass Client COM Automation Class