Testing web services with TestComplete is obsolete. We recommend that you use ReadyAPI, another SmartBear's automated testing tool for SOAP and REST web services. If needed, you can run ReadyAPI tests from TestComplete. |
Description
Use this method to define the certificate used to represent the tested web service by specifying query parameters.
Declaration
ClientCertificateObj.SetCertificateEx(StoreLocation, StoreName, FindType, FindValue)
ClientCertificateObj | An expression, variable or parameter that specifies a reference to a ClientCertificate object | |||
StoreLocation | [in] | Required | Integer | |
StoreName | [in] | Required | Integer | |
FindType | [in] | Required | Integer | |
FindValue | [in] | Required | String | |
Result | None |
Applies To
The method is applied to the following object:
Parameters
The method has the following parameters:
StoreLocation
Specifies the location of the X.509 certificate store. The allowed parameter values are:
Constant | Value | Description |
---|---|---|
slCurrentUser | 0 | Specifies the X.509 certificate store used by the current user. |
slLocalMachine | 1 | Specifies the X.509 certificate store assigned to the local machine. |
StoreName
Specifies the name of the X.509 certificate store to open. The allowed parameter values are:
Constant | Value | Description |
---|---|---|
snAddressBook | 1 | Specifies the X.509 certificate store for other users. |
snAuthRoot | 2 | Specifies the X.509 certificate store for third-party certificate authorities (CAs). |
snCertificateAuthority | 3 | Specifies the X.509 certificate store for intermediate certificate authorities (CAs). |
snDisallowed | 4 | Specifies the X.509 certificate store for revoked certificates. |
snMy | 5 | Specifies the X.509 certificate store for personal certificates. |
snRoot | 6 | Specifies the X.509 certificate store for trusted root certificate authorities (CAs). |
snTrustedPeople | 7 | Specifies the X.509 certificate store for directly trusted people and resources. |
snTrustedPublisher | 8 | Specifies the X.509 certificate store for directly trusted publishers. |
FindType
Specifies the type of the X.509 search to be executed. The allowed parameter values are:
Constant | Value | Description |
---|---|---|
ftFindByThumbprint | 0 | Finds the certificate by its thumbprint that is specified by the FindValue parameter. |
ftFindBySubjectName | 1 | Finds the certificate by its subject name specified by the FindValue parameter. |
ftFindBySubjectDistinguishedName | 2 | Finds the certificate by its subject distinguished name specified by the FindValue parameter. |
ftFindByIssuerName | 3 | Finds the certificate by its issuer name specified by the ew34FindValue parameter. |
ftFindByIssuerDistinguishedName | 4 | Finds the certificate by its issuer distinguished name specified by the FindValue parameter. |
ftFindBySerialNumber | 5 | Finds the certificate by its serial number specified by the FindValue parameter. The serial number must be in reverse order because it is an integer. |
ftFindByTimeValid | 6 | Finds all the certificates that will be valid till the date specified by the FindValue parameter. |
ftFindByTimeNotYetValid | 7 | Finds all the certificates that will not be valid till the date specified by the FindValue parameter. |
ftFindByTimeExpired | 8 | Finds all the certificates that will expire till the date specified by the FindValue parameter. |
ftFindByTemplateName | 9 | Finds the certificate by its template name specified by the FindValue parameter. |
ftFindByApplicationPolicy | 10 | Finds the certificate either by its application policy friendly name or by the object identifier specified by the FindValue parameter. For example, you can use the following values of the FindValue parameter: "Encrypting File System" or "1.3.6.1.4.1.311.10.3.4". For the web service that will be localized, specify the object identifier value instead of the policy friendly name. |
ftFindByCertificatePolicy | 11 | Finds the certificate either by its friendly name or by its object identifier specified by the FindValue parameter. For the web service that will be localized, specify the object identifier value instead of the friendly name. |
ftFindByExtension | 12 | Finds the certificate that matches the extension specified by the FindValue parameter. |
ftFindByKeyUsage | 13 | Finds the certificate either by its key usage (as string) or by its bit mask containing all the requested key usages (as integer). The desired value is specified by the FindValue parameter. For example, you can use the following values of the FindValue parameter: "KeyEncipherment" string or the 0x30 integer that indicates "KeyEncipherment" and "DataEncipherment" key usages. |
ftFindBySubjectKeyIdentifier | 14 | Finds the certificate by its subject key identifier in hexadecimal specified by the FindValue parameter. |
FindValue
The value to be searched for in the X.509 certificate store. The type of the specified value depends on the FindType parameter.
Result Value
None.
Example
The code snippet below demonstrates how you can use the SetCertificateEx
method to define the certificate by its serial number.
JavaScript, JScript
function ServiceSertificate()
{
var MyWebService, Crd, Certificate;
// Obtain the tested web service
MyWebService = WebServices.SampleWebService;
// Call a web service Credentials property
Crd = MyWebService.Credentials;
// Obtain the client certificate object
Certificate = Crd.ClientCertificate;
// Defines the client certificate
Certificate.SetCertificateEx(slLocalMachine, snMy, ftFindBySerialNumber, "11 b3 a6 b8 85 45 bd a4 41 91 91 33 ff 32 5d c3");
}
Python
def ServiceCertificate():
# Obtain the tested web service
MyWebService = WebServices.SampleWebService
# Call a web service Credentials property
Crd = MyWebService.Credentials
# Obtain the client certificate object
Certificate = Crd.ClientCertificate
# Defines the client certificate
Certificate.SetCertificateEx(slLocalMachine, snMy, ftFindBySerialNumber, "11 b3 a6 b8 85 45 bd a4 41 91 91 33 ff 32 5d c3")
VBScript
Sub ServiceSertificate
Dim MyWebService, Crd, Certificate
' Obtain the tested web service
Set MyWebService = WebServices.SampleWebService
' Call a web service Credentials property
Set Crd = MyWebService.Credentials
' Obtain the client certificate object
Set Certificate = Crd.ClientCertificate
' Defines the client certificate
Call Certificate.SetCertificateEx(slLocalMachine, snMy, ftFindBySerialNumber, "11 b3 a6 b8 85 45 bd a4 41 91 91 33 ff 32 5d c3")
End Sub
DelphiScript
function ServiceSertificate();
var
MyWebService, Crd, Certificate: OleVariant;
begin
// Obtain the tested web service
MyWebService := WebServices.SampleWebService;
// Call a web service Credentials property
Crd := MyWebService.Credentials;
// Obtain the client certificate object
Certificate := Crd.ClientCertificate;
// Defines the client certificate
Certificate.SetCertificateEx(slLocalMachine, snMy, ftFindBySerialNumber, '11 b3 a6 b8 85 45 bd a4 41 91 91 33 ff 32 5d c3');
end;
C++Script, C#Script
function ServiceSertificate()
{
var MyWebService, Crd, Certificate;
// Obtain the tested web service
MyWebService = WebServices["SampleWebService"];
// Call a web service Credentials property
Crd = MyWebService["Credentials"];
// Obtain the client certificate object
Certificate = Crd["ClientCertificate"];
// Defines the client certificate
Certificate["SetCertificateEx"]( slLocalMachine, snMy, ftFindBySerialNumber, "11 b3 a6 b8 85 45 bd a4 41 91 91 33 ff 32 5d c3" );
}