How to Create and Serialize a New Self-Signed Certificate
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 create a new self-signed certificate calling the PxeAuthClass Client COM Automation Class class IPxeAuthClass::CreateIdentity Method method.
CreateIdentity has the following parameters:
Parameter | Description |
---|---|
FriendlyName |
The friendly name of the PXE certificate. |
SubjectName |
The name of the certificate subject. |
SMSID |
The PXE certificate identifier. |
StartTime |
The time when the certificate becomes valid. |
EndTime |
The time when the validity of the certificate ends. |
CreateIdentity returns an array containing the following:
Element | Description |
---|---|
0 |
The hexadecimal-encoded private key for the PFX file that contains 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 PXEAuth class.
Call the ReadIdentity method.
Example
The following example creates a new certificate. The certificate is valid for one year from today's date.
For information about calling the sample code, see How to Call Configuration Manager COM Automation Objects.
Sub CreateCertificate (subjectName, friendlyName, smsId)
Dim pxeauth
Set pxeauth = CreateObject("Microsoft.ConfigMgr.PXEAuth")
' Create new self-signed certificate and serialize it.
Dim ident
ident = pxeauth.CreateIdentity( subjectName, friendlyName, smsId, now, now+365)
WScript.Echo "certificatePFX = " & ident(0)
WScript.Echo "certificate = " & ident(1)
End Sub
The example method has the following parameters:
Parameter | Type | Description |
---|---|---|
subjectName |
|
The subject name of the PXE certificate. |
friendlyName |
|
The friendly name of the PXE certificate. |
smsId |
|
The PXE certificate identifier. |
Compiling the Code
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 Serialize a Certificate from a PFX File