GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence...

72
GlobalSign API for SSL Certificates Implementation Guide and Definitions Version 4.3.4 Version Release Notes Version 4.0 Initial Release Version 4.0.1 Changes - Added support for newer GCC2 type orders. Now orders place via the GUI can be modified via the API - Added function to change the approver email after ordering - Added query functionality o Return CSR and OrderID used to place original order o To determine upcoming renewals - Added CSR Decoder and error checking function - Allow creation of Cert-Invites - Allow toggling of renewal notices by order Version 4.02 Changes - 06/20/2012 - Fixed documentation typos and errors Version 4.1 Changes - 07/10/2012 - Added Subscriber agreement request Version 4.1.1 Changes 03/05/2013 - Added Organization to Authorized Signer field for ExtendedSSL Version 4.2 Changes 03/28/2013 - Added URLVerification methods which can be used for DomainSSL and AlphaSSL orders (Metatag Verification) Section 7.4 Version 4.2.1 Changes 06/17/2013 - Typo fixes for Jurisdiction Info & added definitions Version 4.3 Changes 06/25/2013 - Add DNS txt record verification methods which can be used for DomainSSL and AlphaSSL orders Section 7.5 Version 4.3.2 Changes 03/11/2014 - Added timezone codes for creating sub reseller accounts - section 16.4 Version 4.3.3 Changes 03/14/2014 - Updated “Reissue” Function for Hash Algorithm SHA-256 - section 11.6 Version 4.3.4 Changes 06/2/2014 - Replaced ValidateOrderParameters with DecodeCSR in recommended workflow - Added reference to hash algorithm specific product codes in addendum - Added reference to validity period constraints in addendum - Removed mention of obsolete TestOV product code - Updated BaseOptions to include correct GlobalIP syntax Copyright © 2011-2014 GlobalSign, Inc. All rights reserved. GlobalSign, the GlobalSign logo and OneClickSSL are trademarks and registered trademarks of GlobalSign, Inc. or its affiliates in the United States and other countries. All other trademarks are the property of their respective owners.

Transcript of GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence...

Page 1: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates

Implementation Guide and Definitions

Version 4.3.4

Version Release Notes Version 4.0 Initial Release Version 4.0.1 Changes

- Added support for newer GCC2 type orders. Now orders place via the GUI can be modified via the API

- Added function to change the approver email after ordering - Added query functionality

o Return CSR and OrderID used to place original order o To determine upcoming renewals

- Added CSR Decoder and error checking function - Allow creation of Cert-Invites - Allow toggling of renewal notices by order

Version 4.02 Changes - 06/20/2012

- Fixed documentation typos and errors

Version 4.1 Changes - 07/10/2012

- Added Subscriber agreement request

Version 4.1.1 Changes – 03/05/2013

- Added Organization to Authorized Signer field for ExtendedSSL

Version 4.2 Changes – 03/28/2013

- Added URLVerification methods which can be used for DomainSSL and AlphaSSL orders (Metatag Verification) – Section 7.4

Version 4.2.1 Changes – 06/17/2013

- Typo fixes for Jurisdiction Info & added definitions

Version 4.3 Changes – 06/25/2013

- Add DNS txt record verification methods which can be used for DomainSSL and AlphaSSL orders – Section 7.5

Version 4.3.2 Changes – 03/11/2014

- Added timezone codes for creating sub reseller accounts - section 16.4

Version 4.3.3 Changes – 03/14/2014

- Updated “Reissue” Function for Hash Algorithm SHA-256 - section 11.6

Version 4.3.4 Changes – 06/2/2014

- Replaced ValidateOrderParameters with DecodeCSR in recommended workflow - Added reference to hash algorithm specific product codes in addendum - Added reference to validity period constraints in addendum - Removed mention of obsolete TestOV product code - Updated BaseOptions to include correct GlobalIP syntax

Copyright © 2011-2014 GlobalSign, Inc. All rights reserved. GlobalSign, the GlobalSign logo and OneClickSSL are trademarks and registered trademarks of GlobalSign, Inc. or its affiliates in the United States and other countries. All other trademarks are the property of their respective owners.

Page 2: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 2 of 72

Contents

1. Outline ................................................................................................................................... 4

2. SSL Product Type Explanations ........................................................................................ 4

3. Anti-Phishing Checks – Background ................................................................................ 5

4. Web Service Functions –Workflow Overview ................................................................... 5

4.1 SSL Functions ........................................................................................................ 5 4.2 Service/Query Functions ........................................................................................ 6 4.3 Account Functions .................................................................................................. 6 4.4 Delivery of Issued Certificates by Email ................................................................. 6

5. API URL’s.............................................................................................................................. 7

5.1 GlobalSign URL ...................................................................................................... 7 5.2 Test Account URLs ................................................................................................ 7

6. WSDL Files ........................................................................................................................... 7

6.1 GlobalSign URL ...................................................................................................... 7 6.2 Test account URLs ................................................................................................. 7

7. Ordering DomainSSL & AlphaSSL Certificates ................................................................ 8

7.1 Extract Common Name from the CSR ................................................................... 9 7.2 Receive List of Approver Email Addresses and perform phishing DB check ........ 9 7.3 Ordering a DomainSSL or AlphaSSL Certificate ................................................. 10 7.4 Ordering DomainSSL or AlphaSSL – Using Metatag Verification ....................... 12 7.5 Ordering DomainSSL or AlphaSSL – Using DNS Verification ............................. 14

8. Ordering OrganizationSSL Certificates ........................................................................... 18

8.1 OrganizationSSL Certificate Request .................................................................. 18 8.2 Ordering the OrganizationSSL Certificate ............................................................ 19

9. Ordering ExtendedSSL Certificates ................................................................................. 21

9.1 ExtendedSSL Certificate Request ........................................................................ 21 9.2 Ordering the ExtendedSSL Certificate ................................................................. 22

10. General SSL Functions ..................................................................................................... 24

10.1 Changing the SubjectAltName in Certificate ........................................................ 24 10.2 Change SubjectAltName ...................................................................................... 25 10.3 Create Cert-Invites (CertInviteOrder) ................................................................... 26 10.4 Change Approver Email (ChangeApproverEmail) ............................................... 27 10.5 Re-Send Approver Email (ResendEmail) ............................................................. 28 10.6 Modify Existing Order (ModifyOrder) .................................................................... 28

11. Service & Query API Calls ................................................................................................ 29

11.1 Get Issued Certificate – Single Certificate (GetOrderByOrderID) ........................ 29 11.2 Query API to get Issued Certificate - Multiple Orders (GetOrderByDateRange) . 32 11.3 Query API to Get Recently Modified Orders (GetModifiedOrders) ...................... 34 11.4 Query to Determine Upcoming Renewals (GetOrderByExpirationDate) ............. 37 11.5 Query API to Get Certificate Orders (GetCertificateOrders) ................................ 38 11.6 Query API to Reissue Certificates (ReIssue) ....................................................... 39 11.7 Check Order Parameters and Phishing Database (ValidateOrderParameters) .. 40 11.8 Turn Renewal Notice On/Off (ToggleRenewalNotice) ......................................... 41

12. Account API Functions ..................................................................................................... 42

12.1 Retrieve Account Snapshot (GetAccountSnapshot) ............................................ 42 12.2 Create Sub Reseller Account (ResellerApplication) ............................................ 43 12.3 Add Deposits to Sub Reseller Account (AddResellerDeposit) ............................. 44 12.4 Query Invoices ..................................................................................................... 45

13. Get Subscriber Agreement Request (GetAgreement) ................................................... 46

14. Code Examples: ................................................................................................................. 47

15. Certificate Order Entry Parameters ................................................................................. 48

15.1 Product Codes ...................................................................................................... 48 15.2 Validity Period ...................................................................................................... 48 15.3 Date/Time Formatting ........................................................................................... 48 15.4 Setting Validity Period of the Certificate (by Not before/Not after date) ............... 49

Page 3: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 3 of 72

15.5 Order Type ........................................................................................................... 49 15.6 Base Options ........................................................................................................ 49 15.7 Licenses ............................................................................................................... 49 15.8 CreditAgency/OrganizationCode .......................................................................... 50 15.9 KeyLength ............................................................................................................ 50 15.10 OptionName ......................................................................................................... 50 15.11 Subject Alternative Names (SANs) Entry ............................................................. 50 15.12 Metatag & DNS – Valid Approver URL / FQDN –Common Name Relationships 50 15.13 Country ................................................................................................................. 51

16. Status Explanations .......................................................................................................... 54

16.1 Order/Certificate Status ........................................................................................ 54 16.2 ModificationEventName ....................................................................................... 54 16.3 ResendEmailType ................................................................................................ 55 16.4 TimeZone Codes .................................................................................................. 55 16.5 Success / Error Codes ......................................................................................... 57

Client Error Codes ................................................................................................................................. 58 Server Error Codes ............................................................................................................................... 61

16.6 Server Error Responses by API Request Type.................................................... 63 17. XML Field Definitions ........................................................................................................ 64

Page 4: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 4 of 72

1. Outline

GlobalSign offers a Simple Object Access Protocol (SOAP) API for its partners and customers to directly order and manage certificates. Through this API, partners can perform functions such as ordering the different products, cancelling and fulfilling orders, and querying for order data.

The API supports applications for SSL Certificates placed by partners and by customer using the SSL Managed service platform. Partners may place orders for all certificate product types.

2. SSL Product Type Explanations

AlphaSSL:

AlphaSSL is a low end domain validated certificate and known to our resellers as AlphaSSL. This product can only be purchased in standard or wildcard options, 1-5 year validity periods. None of the other premium value add options are supported with this product.

Note: in the API product code specification AlphaSSL is referenced as DV_LOW.

DomainSSL:

DomainSSL is a feature rich high value domain validated certificate. When placing a DomainSSL order the applicant must supply a CSR. Certificates requested by supplying a customer generated CSR are returned as standard certificate files.

To our partners these two products are known as DomainSSL and DomainSSL. Both of these product codes can be ordered as not only a standard and wildcard option, but also with certain SAN options. For the DomainSSL, there are the following Subject Alternative Names options allowed:

Unified Communications support for owa, autodiscover and mail

Additional Subdomain support

These options can be added through both the DomainSSL product code, in 1-5 year validity periods.

Note: the API product code specification DomainSSL is referenced as DV.

OrganizationSSL:

OrganizationSSL is a feature rich high value organization validated certificate. When placing an OrganizationSSL order the applicant must supply a CSR. Certificates requested by supplying a customer generated CSR are returned as standard Certificate files.

To our partners these are known as OrganizationSSL. This product code can be ordered as not only a standard and wildcard option, but also with certain SAN options. For the OrganizationSSL there are the following Subject Alternative Names options allowed:

Unified Communications support for owa, autodiscover and mail

Additional Subdomain support

Internal Hostname support

Public IP Address support

Additional Fully Qualified Domain Name support

These options can be added in 1-5 year validity periods.

Note: the API product code specification OrganizationSSL is referenced as OV.

Customers with SSL Managed Service accounts may obtain pre-vetted OrganizationSSL certificates by using the SSL Managed Service application calls.

Page 5: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 5 of 72

Extended SSL:

ExtendedSSL is the product name for GlobalSign's Extended Validation (EV) SSL offering and is issued in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format, vetting method and workflow. This product can be ordered as only a standard SSL Certificate with limited Subject Alternative Name support and does not support wildcard applications and globalip option, NOT as a wildcard option. This product can also work with all the SAN options. For the Extended SSL, the following SAN options allowed:

Unified Communications support for owa, autodiscover and mail

Additional Subdomain support

Additional Fully Qualified Domain Name support

This product can only be ordered in a 1-2 year validity period.

Note: the API product code specification ExtendedSSL is referenced as EV.

3. Anti-Phishing Checks – Background

All domain validated certificates (DomainSSL and AlphaSSL) are automatically put through the GlobalSign anti-phishing checks. These checks involve a series of automated processes to help identify potential phishing risks. If flagged as high risk the certificate will not be issued until manually reviewed by a GlobalSign vetting agent. If an API based order is flagged for phishing an appropriate alert message is reported and a vetting agent will be assigned to review the order at the first convenience.

4. Web Service Functions –Workflow Overview

Order processing for SSL Certificates and web identity products is asynchronous. For these types of orders an API client places an order and then later checks the server for the completed order. The functions are broken into several categories

SSL Functions: calls to place orders, modify or cancel orders

Service & Query Functions: calls searching for complete orders (such as “getting” issued Certificates), decoding CSRs, validating order parameters

Account Functions: calls needed to perform account actions, such as checking balance and modified sub-accounts

The general approach for ordering is to place orders using an SSL functions, then periodically request the list of all orders that have changed status during a specified time interval (for example, the last four hours) using the Service/Query function of “GetModifiedOrders”. This returns a list of all orders and detailed order information for orders that have changed status in the specified time interval. The status of all returned orders can then be updated locally and used as necessary.

An alternative to querying for a set of modified orders within a time period is to specifically request the status of a specific order. In this case the ordering flow consists of the following operations: place an order, and then periodically check the status of the specific order (GetOrderByOrderID). Once the order has been completed, the fulfillment information is returned with the GetOrderByOrderID operation. This approach is less efficient, but might be more appropriate when there is a low volume of certificates being managed.

4.1 SSL Functions

Function API Request

Getting list of approver email addresses

GetApproverList

Getting list of approver email addresses and OrderID for DVOrder (DomainSSL and AlphaSSL only)

GetDVApproverList

Page 6: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 6 of 72

Order AlphaSSL or DomainSSL Certificate with Approver Email validation

DVOrder

Order AlphaSSL or DomainSSL Certificate with Metatag validation

URLVerification &

URLVerificationForIssue

Order OrganizationSSL Certificate

OVOrder

Order ExtendedSSL Certificate EVOrder

Changing certificate order status ModifyOrder

Resend Approver Emails for AlphaSSL & DomainSSL orders

ResendEmail

Place an order using the cert invite functionality

CertInviteOrder

Change the email address that the approval request is sent to for domain validated products

ChangeApproverEmail

Change the SubjectAltName in certificate.

ChangeSubjectAltName

4.2 Service/Query Functions

Function API

Searching order information by Order ID

GetOrderByOrderID

Searching modified orders by modified date (from/to)

GetModifiedOrders

Getting order list GetCertificateOrders

Searching orders by order date (from/to)

GetOrderByDateRange

Checking order parameter validity

ValidateOrderParameters

Decoding a CSR DecodeCSR

ReIssue Certificate ReIssue

Turn on/off Renewal notice ToggleRenewalNotice

Check upcoming expirations GetOrderByExpirationDate

4.3 Account Functions

Function API

To view account balance and recent usage

AccountSnapshot

Add deposit to a sub reseller account

AddResellerDeposit

Query outstanding invoices QueryInvoices

Create a sub-reseller account ResellerApplication

4.4 Delivery of Issued Certificates by Email

Issued certificates can be delivered directly to the customer specified in the appropriate 4.1 Order functions. In the DVOrder / OVOrder / EVOrder Request specify the end customer and their email address in the <ContactInfo> field.

Page 7: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 7 of 72

Note: to directly email the end customer your account must be configured on a specific template group. Contact your Account Manager or Tech Implementation Contact to arrange.

5. API URL’s

5.1 GlobalSign URL

The following URL’s should be used to access the GlobalSign live API: SSL Functions: https://system.globalsign.com/kb/ws/v1/ServerSSLService Service/Query: https://system.globalsign.com/kb/ws/v1/GASService Account: https://system.globalsign.com/kb/ws/v1/AccountService

Subscriber Agreement: https://system.globalsign.com/qb/ws/GasQuery

5.2 Test Account URLs

The following URLs* should be used to access the GlobalSign Test API: SSL Functions: https://testsystem.globalsign.com/kb/ws/v1/ServerSSLService Service/Query: https://testsystem.globalsign.com/kb/ws/v1/GASService Account: https://testsystem.globalsign.com/kb/ws/v1/AccountService

Subscriber Agreement: N/A

*Test system accounts are available to API customers upon request

6. WSDL Files

6.1 GlobalSign URL

GlobalSign’s WSDL files are available from:

SSL Functions: https://system.globalsign.com/kb/ws/v1/ServerSSLService?wsdl Service/Query: https://system.globalsign.com/kb/ws/v1/GASService?wsdl Account: https://system.globalsign.com/kb/ws/v1/AccountService?wsdl Subscriber Agreement: https://system.globalsign.com/qb/ws/GasQuery?wsdl

6.2 Test account URLs

Test account WSDL files are available from: SSL Functions: https://testsystem.globalsign.com/kb/ws/v1/ServerSSLService?wsdl Service/Query: https://testsystem.globalsign.com/kb/ws/v1/GASService?wsdl Account: https://testsystem.globalsign.com/kb/ws/v1/AccountService?wsdl *Test system accounts are available to API customers upon request

Page 8: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 8 of 72

7. Ordering DomainSSL & AlphaSSL Certificates

1. Parsing CSR.

2. Getting list of approver emails and order ID for DVOrder and check CN against phishing database.

3. Submit order

4. Sending approver email

5. Approve or deny order

Optional - Obtain Common

Name from the CSR.

Obtain the list of approver

e-mail addresses, OrderID

and check phishing DB

using Common Name.

Order DomainSSL

certificate using Order ID

and selected approver e-

mail address.

(1) DecodeCSR Request

DecodeCSR Response

(2) GetDVApproverList Request

GetDVApproverList Response

(3) DVOrder Request

DVOrder Response

Sending approver e-mail (Out of API)

Approve (Out of API)

Page 9: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 9 of 72

7.1 Extract Common Name from the CSR

DecodeCSR Request

<DecodeCSR>

<Request >

<QueryRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</QueryRequestHeader>

<CSR> 50 String

<ProductType> DV_LOW, DV

</Request >

</DecodeCSR>

DecodeCSR Response

<DecodeCSR>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<CSRData>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CSRData>

<CertificatePreview>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CertificatePreview>

</Response>

</DecodeCSR>

7.2 Receive List of Approver Email Addresses and perform phishing DB check

The details from the DecodeCSR Response can now be used to continue with the request. The next step involves receiving the list of approver email addresses and an OrderID to complete the order of the certificate.

Page 10: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 10 of 72

GetDVApproverList Request

<GetDVApproverList xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName> 30

<Password> 30

</AuthToken>

</QueryRequestHeader>

<FQDN> 255 String*

</Request>

</GetDVApproverList>

*FQDN is the CommonName from previous response

GetDVApproverList Response

<GetDVApproverList xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

(<Approvers>

(<Approver>

<ApproverType> 10 String Domain or Generic

<ApproverEmail> 255

</Approver>)+

</Approvers>)?

<OrderID>? 50 String

</Response>

</GetDVApproverList>

This response will contain a success code, a list of approver contact details for the end user to choose from and an OrderID for continuing with the order. If the success code is -1, the request procedure will stop and the error code will have to be consulted.

7.3 Ordering a DomainSSL or AlphaSSL Certificate

The final step in the order process is carried out using the information from GetDVApproverList together with the CSR and the user details of the requestor.

DVOrder Request

<DVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> DV, DV_LOW

(<BaseOption>)? wildcard

<OrderKind> new,renewal,transfer

<Licenses> 1-99

(<Options>

Page 11: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 11 of 72

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

<CSR> 4000 String

(<RenewalTergetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SubID>)? 50 String

<OrderID> 50 String

<ApproverEmail> 255 String

<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>

<SecondContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Email> 255 String

</SecondContactInfo>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain option

<SubjectAltName> 4000 String

(<ModifyOperation>)? <!- N/A -->

</SANEntry>)+

</SANEntries>)?

</Request>

</DVOrder>

DVOrder Response

<DVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String <!- Error empty

message -->

</Response>

</DVOrder>

If the response contains a success code of 0, GlobalSign will send out an email to the Approval Email contact. After the contact has given his permission for the certificate to be issued, the certificate will be issued and the certificate sent via email to the reseller for forwarding to the end user.

Page 12: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 12 of 72

7.4 Ordering DomainSSL or AlphaSSL – Using Metatag Verification

Using the following methods will allow you to order and approve DomainSSL and AlphaSSL Certificates

by using a metatag for verification instead of the approver email method. After the order is placed, the

API response will contain a metatag which needs to be placed in the index of the domain that is being

secured.

Partner API Server

Creates new Order with URLVerification

Return Metatag

Outside of API: GlobalSign crawler verifies metatag

Requests that MetaTags are checked with the URLVerificationForIssue Request

1

4

2

3

Outside of API: Partner / End user installs MetaTag in the <head> of the index of the domain being secured

Upon Success Returns Certificate

URLVerification Order Request

<URLVerification xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> DV_HIGH_URL, DV_LOW_URL

(<BaseOption>)? wildcard

<OrderKind> new,renewal,transfer

<Licenses> 1-99

(<Options>

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

<CSR> 4000 String

(<RenewalTargetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

Page 13: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 13 of 72

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SubID>)? 50 String

<OrderID> 50 String

<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>

<SecondContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Email> 255 String

</SecondContactInfo>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain option

<SubjectAltName> 4000 String

(<ModifyOperation>)? <!- N/A -->

</SANEntry>)+

</SANEntries>)?

</Request>

</URLVerification>

URLVerification Order Response

The response contains both the metatag and a list of allowable domains on which we can verify the FQDN

with. The metatag needs to be placed on the index of the domain.

<URLVerificationResponse xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String <!- Error empty

message -->

<Metatag>? 50 String <!- Error empty

message -->

<VerificationURLList>

<VerificationURL> 1000 String

<VerificationURLList>

</Response>

</ URLVerificationResponse>

URL Verification for Issue Request

After placing the metatag on one of the allowable domains, the following request is used to have our

crawler verify the metatag.

<ns2: URLVerificationForIssue xmlns:ns2="https://system.globalsign.com/bb/ws/">

Page 14: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 14 of 72

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderID>

<ApproverURL> 64 String

</Request>

</ URLVerificationForIssue >

URL Verification for Issue Response

<UrlVerificationForIssue>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

(<UrlVerificationForIssue>

(<CertificateInfo>

<CertificateStatus> 5

<StartDate> YYYY-MM-DDTHH:MM:SS.000Z

<EndDate> YYYY-MM-DDTHH:MM:SS.000Z

<CommonName> 64 String

<SerialNumber> 64 String

<SubjectName> 3000 String

(<DNSNames>)? 300 String

</CertficateInfo>)?

(<Fulfillment>

(<CACertificates>

(<CACertificate>

<CACertType> Root, Inter

<CACert> 4000 String

</CACertificate>)+

</CACertificates>)?

(<ServerCertificate>

<X509Cert> 4000 String

<PKCS7Cert> 4000 String

</ServerCertificate>)?

</Fulfillment>)?

</UrlVerificationForIssue>)?

</Response>

</UrlVerificationForIssue>

7.5 Ordering DomainSSL or AlphaSSL – Using DNS Verification

Using the following methods will allow you to order and approve DomainSSL and AlphaSSL Certificates

by using a DNS txt record for verification instead of the approver email method. After the order is placed,

the API response will contain a DNS txt record which needs to be placed in the index of the domain that

is being secured. Currently this function is only available via the API (no GUI implementation). The

DNSTXT record will resemble: globalsign-domain-verification=YlhVOpMzmFGzcAzKqDNxxqKGylnWsj_Ioc1Cqq-nTs

Please note that the DNS txt record check is case sensitive. Some DNS providers may automatically

adjust the case of the txt record. This scenario will cause a failure of the validation.

Page 15: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 15 of 72

Partner API Server

Creates new Order with DVDNSOrder

Return TXT record value

Outside of API: GlobalSign crawler verifies DNS txt

record

Requests that DNS txt record is checked with the DVDNSVerificationForIssue Request

1

4

2

3

Outside of API: Partner / End user creates DNS txt record for domain being

secured

Upon Success Returns Certificate

DVDNSOrder Request

<DVDNSOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> DV_HIGH_DNS, DV_LOW_DNS

(<BaseOption>)? wildcard

<OrderKind> new,renewal,transfer

<Licenses> 1-99

(<Options>

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

<CSR> 4000 String

(<RenewalTargetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SubID>)? 50 String

<OrderID> 50 String

<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

Page 16: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 16 of 72

<Email> 255 String

</ContactInfo>

<SecondContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Email> 255 String

</SecondContactInfo>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain option

<SubjectAltName> 4000 String

(<ModifyOperation>)? <!- N/A -->

</SANEntry>)+

</SANEntries>)?

</Request>

</DVDNSOrder>

DVDNS Order Response

The response contains both the DNSTXT and a list of allowable domains on which we can verify the

FQDN with by placing a DNS txt record. The DNSTXT needs to be place on the index of the domain.

<DVDNSOrderResponse xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String <!- Error empty

message -->

<DNSTXT>? 50 String <!- Error empty

message -->

< VerificationFQDNList>

< VerificationFQDN > 1000 String

</VerificationFQDNList >

</Response>

</ DVDNSOrderResponse>

DVDNS Order for Issue Request

After placing the DNS txt record on one of the allowable domains, the following request is used to have

our crawler verify the DNS txt record.

<ns2: DVDNSVerificationForIssue xmlns:ns2="https://system.globalsign.com/bb/ws/"> <Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderID>

<ApproverFQDN> 64 String

</Request>

</DVDNSVerificationForIssue>

Page 17: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 17 of 72

DVDNS Order for Issue Response

<DVDNSVerificationForIssueResponse>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

(<DVDNSVerificationForIssue>

(<CertificateInfo>

<CertificateStatus> 5

<StartDate> YYYY-MM-DDTHH:MM:SS.000Z

<EndDate> YYYY-MM-DDTHH:MM:SS.000Z

<CommonName> 64 String

<SerialNumber> 64 String

<SubjectName> 3000 String

(<DNSNames>)? 300 String

</CertficateInfo>)?

(<Fulfillment>

(<CACertificates>

(<CACertificate>

<CACertType> Root, Inter

<CACert> 4000 String

</CACertificate>)+

</CACertificates>)?

(<ServerCertificate>

<X509Cert> 4000 String

<PKCS7Cert> 4000 String

</ServerCertificate>)?

</Fulfillment>)?

</DVDNSVerificationForIssue>)?

</Response>

</DVDNSVerificationForIssueResponse>

Page 18: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 18 of 72

8. Ordering OrganizationSSL Certificates

1. Parsing CSR

2. Submit order

8.1 OrganizationSSL Certificate Request

Extracting Common Name from the CSR.

DecodeCSR Request

<DecodeCSR>

<Request >

<QueryRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</QueryRequestHeader>

<CSR> 50 String

<ProductType> OV

</Request >

</DecodeCSR>

DecodeCSR Response

<DecodeCSR>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

Obtaining Common

Name from the CSR

Order OrganizationSSL

certificate

(1) DecodeCSR Request

DecodeCSR Response

(2) OVOrder Request

OVOrder Response

Page 19: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 19 of 72

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<CSRData>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CSRData>

<CertificatePreview>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CertificatePreview>

</Response>

</DecodeCSR>

8.2 Ordering the OrganizationSSL Certificate

OVOrder Request

<OVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> OV

(<BaseOption>)? wildcard, GIP

<OrderKind> new,renewal,transfer

<Licenses> 1-99

(<Options>

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

<CSR> 4000 String

(<RenewalTergetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

(<Coupon>)? 50 String

Page 20: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 20 of 72

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SubID>)? 50 String

<OrganizationInfo>

<OrganizationName> 255 String

(<CreditAgency>)? 1:DUNS, 2:TDB

(<OrganizationCode>)? 50 String

<OrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfo>

<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain SAN option

3:GIP SAN option

4:Internal SAN option

7:FQDN SAN option

<SubjectAltName> 4000 String

(<ModifyOperation>)? ADDITION, UNCHANGED, DELETE

</SANEntry>)+

</SANEntries>)?

</Request>

</OVOrder>

OVOrder Response

<OVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String <!- Error empty

message -->

</Response>

</OVOrder>

Page 21: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 21 of 72

9. Ordering ExtendedSSL Certificates

1. Parsing CSR and Phishing check 2. Request an order

9.1 ExtendedSSL Certificate Request

Extracting Common Name from the CSR.

DecodeCSR Request

<DecodeCSR>

<Request >

<QueryRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</QueryRequestHeader>

<CSR> 50 String

<ProductType> EV

</Request >

</DecodeCSR>

DecodeCSR Response

<DecodeCSR>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

Obtaining Common

Name from the CSR

Order ExtendedSSL

certificate

EVOrder Response

(2) EVOrder Request

DecodeCSR Response

(1) DecodeCSR Request

Page 22: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 22 of 72

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<CSRData>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CSRData>

<CertificatePreview>

(<CommonName>)? 255 String

(<Organization>)? 255 String

(<OrganizationUnit>)? 255 String

(<Locality>)? 255 String

(<State>)? 255 String

(<Country>)? 30 String

(<EmailAddress>)? 255 String

(<KeyLength>)? 30 String

</CertificatePreview>

</Response>

</DecodeCSR>

9.2 Ordering the ExtendedSSL Certificate

EVOrder Request

<EVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> EV

(<BaseOption>)? wildcard,globalip

<OrderKind> new,renewal,transfer

<Licenses> 1-99

(<Options>

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

<CSR> 4000 String

(<RenewalTergetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SubID>)? 50 String

Page 23: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 23 of 72

<OrganizationInfoEV>

(<CreditAgency>)? 1:DUNS, 2:TDB

(<OrganizationCode>)? 50 String

(<BusinessAssumedName>)? 255 String

<BusinessCategoryCode> PO:Private Organization

GE:Government Entity

BE:BusinessEntity

<OrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String ISO 3166-1

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfoEV>

<RequestorInfo>

<FirstName> 100 String

<LastName> 100 String

(<Function>)? 255 String

<OrganizationName> 255 String

(<OrganizationUnit>)? 100 String

<Phone> 30 String

<Email> 255 String

</RequestorInfo>

<ApproverInfo>

<FirstName> 100 String

<LastName> 100 String

(<Function>)? 255 String

<OrganizationName> 255 String

(<OrganizationUnit>)? 100 String

<Phone> 30 String

<Email> 255 String

</ApproverInfo>

<AuthorizedSignerInfo>

<OrganizationName> 255 String

<FirstName> 100 String

<LastName> 100 String

(<Function>)? 255 String

<Phone> 30 String

<Email> 255 String

</AuthorizedSignerInfo>

<JurisdictionInfo>

<JurisdictionCountry> 30 String ISO 3166-1

<StateOrProvince> 255 String

<Locality> 200 String

<IncorporatingAgencyRegistrationNumber> 100 String

</JurisdictionInfo>

<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain SAN option

3:GIP SAN option

4:Internal SAN option

7:FQDN SAN option

<SubjectAltName> 4000 String

(<ModifyOperation>)? <!- N/A -->

</SANEntry>)+

</SANEntries>)?

</Request>

</EVOrder>

Page 24: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 24 of 72

EVOrder Response

<EVOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String <!- Error empty

message -->

</Response>

</EVOrder>

10. General SSL Functions

10.1 Changing the SubjectAltName in Certificate

DomainSSL

1. Getting list of approver email and OrderID for ChangeSubjectAltName(with Phishing check)

2. Request an SAN Order

3. Sending approver email

4. Approve or deny order

OrganizationalSSL, Extended SSL

ChangeSubjectAltName Response

GetDVApproverList Response

(2) ChangeSubjectAltName Request

(1) GetDVApproverList Request Set the Common Name

and get approver email list

and OrderId

Order

ChangeSubjectAltName

using OrderID and selected

approver email address

Page 25: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 25 of 72

10.2 Change SubjectAltName

Use the ChangeSubjectAltName API to change (add or delete) SubjectAltName(s) of issued certificate. <SANEntries> parameters should be set as how SubjectAltName(s) would be after this change. GetDVApproverList API should be requested beforehand for DomainSSL. New certificate with requested SubjectAltName will be issued after the vetting is completed and be able to get using Query APIs.

ChangeSubjectAltName Request

<ChangeSubjectAltName xmlns=" http://stub.order.gasapiserver.esp.globalsign.com ">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</OrderRequestHeader>

(<OrderID>)? 50 String

<TargetOrderID> 50 String

(<ApproverEmail>)?

(<SANEntries>

(<SANEntryArray>

<SANOptionType> 1:UC cert option

2:Subdomain SAN option

3:GIP SAN option

4:Internal SAN option

7:FQDN SAN option

<SubjectAltName> 64 String

</SANEntryArray>)+

</SANEntries>)?

<PIN>? String

</Request>

</ChangeSubjectAltName>

ChangeSubjectAltName Response

<ChangeSubjectAltName xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode>

(<Errors>

(<Error>

<ErrorCode> 5

Set SubjectAltName information

and order certificate ChangeSubjectAltName Response

(1) ChangeSubjectAltName Request

Page 26: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 26 of 72

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

(<TargetOrderID>)? 50 String

</Response>

</ChangeSubjectAltName>

10.3 Create Cert-Invites (CertInviteOrder)

Request which allows the ordering and creation of Cert-Invites.

CertInviteOrder Request

<CertInviteOrder >

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> DV_LOW, DV,OV,EV

(<BaseOption>)? Wildcard

<OrderKind> new,renewal,transfer

(<Options>

(<Option>

<OptionName> EXP: ExpressOption

INS: InsuranceOption

GSS: GSSupportOption

REX: RenewalExtentionOption

VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

(<RenewalTergetOrderID)? 50 String

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain SAN option

3:GIP SAN option

4:Internal SAN option

7:FQDN SAN option

</SANEntry>)+

</SANEntries>)?

<CertInviteExpirationDate> 25 YYYY-MM-

DDTHH:MM:SS.000Z

<RecipientDeliveryOption> true,false

<CertInviteRecipientEmail> 255 String

</Request>

</ CertInviteOrder >

Page 27: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 27 of 72

CertInviteOrder Response

<CertInviteOrder>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<PIN> 255 String

</Response>

</CertInviteOrder>

10.4 Change Approver Email (ChangeApproverEmail)

A request which allows the API user to change the approver email for the order. When request is

submitted a new approval request will be sent to the approver email provided. The user may optionally

use a get approver list request before submitting the change approver email request.

ChangeApproverEmail Request

<ChangeApproverEmail >

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderID> 50 String

<ApproverEmail> 255 String

<FQDN> 255 String

</Request>

</ChangeApproverEmail >

ChangeApproverEmail Response

<ChangeApproverEmail>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

</Response>

</ChangeApproverEmail >

Page 28: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 28 of 72

10.5 Re-Send Approver Email (ResendEmail)

If the user did not receive or lost his Approver Email message you can use the ResendEmail API to re-send this email.

ResendEmail Request

<ResendEmail xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30

<Password> 30

</AuthToken>

</OrderRequestHeader>

<OrderID> 50 String

<ResendEmailType> 20 String APPROVEREMAIL

</Request>

</ResendEmail >

ResendEmail Response

<ResendEmail xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

</Response>

</ResendEmail>

10.6 Modify Existing Order (ModifyOrder)

Using the ModifyOrder API you can Approve, Cancel or Revoke a Certificate or Certificate Request by using the OrderID of the Order.

ModifyOrder Request

<ModifyOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request >

<OrderRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</OrderRequestHeader>

<OrderID> 50 String

<ModifyOrderOperation> APPROVE,CANCEL,REVOKE

</Request >

</ModifyOrder>

Page 29: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 29 of 72

ModifyOrder Response

<ModifyOrder xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

</Response>

</ModifyOrder>

11. Service & Query API Calls

11.1 Get Issued Certificate – Single Certificate (GetOrderByOrderID)

GetOrderByOrderID Request

<GetOrderByOrderID xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</QueryRequestHeader>

<OrderID> 50 String

(<OrderQueryOption>

(<OrderStatus>)? <!- N/A -->

(<ReturnOrderOption>)? 5 String true, false

(<ReturnCertificateInfo>)? 5 String true, false

(<ReturnFulfillment>)? 5 String true, false

(<ReturnCACerts>)? 5 String ReturnFulfillment

true

</OrderQueryOption>)?

</Request>

</GetOrderByOrderID>

GetOrderByOrderID Response

GetOrderByOrderID xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

<OrderID>? 50 String

(<Pkcs12File>)? 4000 String

Page 30: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 30 of 72

(<OrderDetail>

<OrderInfo>

<OrderID> 50 String

<ProductCode> 20 String

(<BaseOption>)? 20 String

<OrderKind> 10 String

<Licenses> 3

(<ExpressOption>)? 5 String

(<ValidityPeriodCustomizeOption>)? 5 String

(<InsuranceOption>)? 5 String

(<GSSupportOption>)? 5 String

(<RenewalExtentionOption>)? 5 String

<DomainName> 255 String

<OrderDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCompleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCanceledDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderDeactivatedDate>)? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<OrderStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

<Price> 10

<Currency> 10 String

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

(<SpecialInstructions>)? 4000 String

</OrderInfo>

<OrderSubInfo>

<CSRSkipOrderFlag> 5 String true,false

<DNSOrderFlag> 5 String true,false

<TrustedOrderFlag> 5 String true,false

(<P12DeleteStatus>)? 5

(<P12DeleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<VerificationUrl>)? 300 String

<SubId> 50 String

</OrderSubInfo>

(<OrderOption>

<ApproverNotifiedDate>? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<ApproverConfirmDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

<ApproverEmailAddress>? 255 String

<OrganizationInfo>

<OrganizationName> 255 String

(<CreditAgency>)? 50 String

(<OrganizationCode>)? 50 String

(<BusinessAssumedName>)? 255 String

(<BusinessCategoryCode>)? 20 String

<OrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfo>

(<RequestorInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

Page 31: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 31 of 72

<OrganizationUnit> 100 String

<Phone> 30 String

<Email> 255 String

</RequestorInfo>)?

(<ApproverInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

(<OrganizationUnit>)? 100 String

<Phone> 30 String

<Email> 255 String

</ApproverInfo>)?

(<AuthorizedSignerInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<Phone> 30 String

<Email> 255 String

</AuthorizedSignerInfo>)?

(<JurisdictionInfo>

< JurisdictionCountry> 30 String

<StateOrProvince> 255 String

<Locality> 200 String

<IncorporatingAgencyRegistrationNumber> 100 String

</JurisdictionInfo>)?

(<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>)?

</OrderOption>)?

(<CertificateInfo>

<CertificateStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

6: Waiting for revocation

7: Revoked

<StartDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<EndDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<CommonName> 64 String

<SerialNumber> 64 String

<SubjectName> 3000 String

(<DNSNames>)? 300 String

</CertificateInfo>)?

(<Fulfillment>

(<CACertificates>

(<CACertificate>

<CACertType> 15 String Root,Inter

<CACert> 4000 String

</CACertificate>)+

</CACertificates>)?

(<ServerCertificate>

<X509Cert> 4000 String

<PKCS7Cert> 4000 String

</ServerCertificate>)?

</Fulfillment>)?

<ModificationEvents>

(<ModificationEvent>

<ModificationEventName> 5

<ModificationEventTimestamp>25 YYYY-MM-

DDTHH:MM:SS.000Z

</ModificationEvent>)+

</ModificationEvents>?

</OrderDetail>)?

</Response>

</GetOrderByOrderID>

Page 32: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 32 of 72

11.2 Query API to get Issued Certificate - Multiple Orders (GetOrderByDateRange)

GetOrderByDateRange Request

<GetOrderByDateRange xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName> 30

<Password> 30

</AuthToken>

</QueryRequestHeader>

<FromDate> YYYY-MM-DDTHH:MM:SS.000Z

<ToDate> YYYY-MM-DDTHH:MM:SS.000Z

(<OrderQueryOption>

(<OrderStatus>)? 5 String true, false

(<ReturnOrderOption>)? 5 String true, false

(<ReturnCertificateInfo>)? 5 String true, false

(<ReturnFulfillment>)? 5 String true, false

(<ReturnCACerts>)? 5 String

</OrderQueryOption>)?

</Request>

</GetOrderByDataRange>

GetOrderByDateRange Response

<GetOrderByDateRange xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

<FromDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

<ToDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderDetails>

(<OrderDetail>

<OrderInfo>

<OrderID> 50 String

<ProductCode> 20 String

(<BaseOption>)? 20 String

<OrderKind> 10 String

<Licenses> 3

(<ExpressOption>)? 5 String

(<ValidityPeriodCustomizeOption>)?5 String

(<InsuranceOption>)? 5 String

(<GSSupportOption>)? 5 String

(<RenewalExtentionOption>)?5 String

<DomainName> 255 String

<OrderDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCompleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCanceledDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderDeactivatedDate>)? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<OrderStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

<Price> 10

<Currency> 10 String

<ValidityPeriod>

<Months> 4

Page 33: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 33 of 72

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

(<SpecialInstructions>)? 4000 String

</OrderInfo>

<OrderSubInfo>

<CSRSkipOrderFlag> 5 String true,false

<DNSOrderFlag> 5 String true,false

<TrustedOrderFlag> 5 String true,false

(<P12DeleteStatus>)? 5

(<P12DeleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<VerificationUrl>)? 300 String

<SubId> 50 String

</OrderSubInfo>

(<OrderOption>

<ApproverNotifiedDate>? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<ApproverConfirmDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

<ApproverEmailAddress>? 255 String

<OrganizationInfo>

<OrganizationName> 255 String

(<CreditAgency>)? 50 String

(<OrganizationCode>)? 50 String

(<BusinessAssumedName>)? 255 String

(<BusinessCategoryCode>)? 20 String

<OrganizationAddress>

(<AddressLine1>)? 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

(<PostalCode>)? 20 String

<Country> 30 String

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfo>

(<RequestorInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

<OrganizationUnit> 100 String

<Phone> 30 String

<Email> 255 String

</RequestorInfo>)?

(<ApproverInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

(<OrganizationUnit>)? 100 String

<Phone> 30 String

<Email> 255 String

</ApproverInfo>)?

(<AuthorizedSignerInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<Phone> 30 String

<Email> 255 String

</AuthorizedSignerInfo>)?

(<JurisdictionInfo>

< JurisdictionCountry> 30 String

<StateOrProvince> 255 String

<Locality> 200 String

<IncorporatingAgencyRegistrationNumber>100 String

</JurisdictionInfo>)?

(<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

Page 34: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 34 of 72

<Phone> 30 String

<Email> 255 String

</ContactInfo>)?

</OrderOption>)?

(<CertificateInfo>

<CertificateStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

6: Waiting for revocation

7: Revoked

<StartDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<EndDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<CommonName> 64 String

<SerialNumber> 64 String

<SubjectName> 3000 String

(<DNSNames>)? 300 String

</CertificateInfo>)?

(<Fulfillment>

(<CACertificates>

(<CACertificate>

<CACertType> 15 String Root,Inter

<CACert> 4000 String

</CACertificate>)+

</CACertificates>)?

(<ServerCertificate>

<X509Cert> 4000 String

<PKCS7Cert> 4000 String

</ServerCertificate>)?

</Fulfillment>)?

<ModificationEvents>

(<ModificationEvent>

<ModificationEventName> 5

<ModificationEventTimestamp>25 YYYY-MM-

DDTHH:MM:SS.000Z

</ModificationEvent>)+

</ModificationEvents>?

</OrderDetail>)+

</OrderDetails>)?

</Response>

</GetOrderByDataRange>

11.3 Query API to Get Recently Modified Orders (GetModifiedOrders)

As mentioned above the GetModifiedOrders API will return a list of orders modified within a specified time frame.

GetModifiedOrders Request

<GetModifiedOrders xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</QueryRequestHeader>

<FromDate> YYYY-MM-DDTHH:MM:SS.000Z

<ToDate> YYYY-MM-DDTHH:MM:SS.000Z

(<OrderQueryOption>

(<OrderStatus>)? 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

(<ReturnOrderOption>)? true,false

Page 35: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 35 of 72

(<ReturnCertificateInfo>)? true,false

(<ReturnFulfillment>)? true,false

(<ReturnCACerts>)? true,false

</OrderQueryOption>)?

</Request>

</GetModifiedOrders>

GetModifiedOrders Response

<GetModifiedOrders xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

<FromDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

<ToDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderDetails>

(<OrderDetail>

<OrderInfo>

<OrderID> 50 String

<ProductCode> 20 String

(<BaseOption>)? 20 String

<OrderKind> 10 String

<Licenses> 3

(<ExpressOption>)? 5 String

(<ValidityPeriodCustomizeOption>)?5 String

(<InsuranceOption>)? 5 String

(<GSSupportOption>)? 5 String

(<RenewalExtentionOption>)?5 String

<DomainName> 255 String

<OrderDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCompleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCanceledDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderDeactivatedDate>)? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<OrderStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

<Price> 10

<Currency> 10 String

<ValidityPeriod>

<Months> 4

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

(<SpecialInstructions>)? 4000 String

</OrderInfo>

<OrderSubInfo>

<CSRSkipOrderFlag> 5 String true,false

<DNSOrderFlag> 5 String true,false

<TrustedOrderFlag> 5 String true,false

(<P12DeleteStatus>)? 5

(<P12DeleteDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<VerificationUrl>)? 300 String

<SubId> 50 String

</OrderSubInfo>

Page 36: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 36 of 72

(<OrderOption>

<ApproverNotifiedDate>? 25 YYYY-MM-

DDTHH:MM:SS.000Z

<ApproverConfirmDate>? 25 YYYY-MM-DDTHH:MM:SS.000Z

<ApproverEmailAddress>? 255 String

<OrganizationInfo>

<OrganizationName>255 String

(<CreditAgency>)? 50 String

(<OrganizationCode>)? 50 String

(<BusinessAssumedName>)? 255 String

(<BusinessCategoryCode>)? 20 String

<OrganizationAddress>

(<AddressLine1>)? 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

(<PostalCode>)? 20 String

<Country> 30 String

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfo>

(<RequestorInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

<OrganizationUnit> 100 String

<Phone> 30 String

<Email> 255 String

</RequestorInfo>)?

(<ApproverInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<OrganizationName> 255 String

(<OrganizationUnit>)? 100 String

<Phone> 30 String

<Email> 255 String

</ApproverInfo>)?

(<AuthorizedSignerInfo>

<FirstName> 100 String

<LastName> 100 String

<Function> 255 String

<Phone> 30 String

<Email> 255 String

</AuthorizedSignerInfo>)?

(<JurisdictionInfo>

< JurisdictionCountry> 30 String

<StateOrProvince> 255 String

<Locality> 200 String

<IncorporatingAgencyRegistrationNumber>100 String

</JurisdictionInfo>)?

(<ContactInfo>

<FirstName> 100 String

<LastName> 100 String

<Phone> 30 String

<Email> 255 String

</ContactInfo>)?

</OrderOption>)?

(<CertificateInfo>

<CertificateStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

6: Waiting for revocation

7: Revoked

<StartDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<EndDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<CommonName> 64 String

Page 37: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 37 of 72

<SerialNumber> 64 String

<SubjectName> 3000 String

(<DNSNames>)? 300 String

</CertificateInfo>)?

(<Fulfillment>

(<CACertificates>

(<CACertificate>

<CACertType> 15 Root,Inter

<CACert> 4000 String

</CACertificate>)+

</CACertificates>)?

(<ServerCertificate>

<X509Cert> 4000 String

<PKCS7Cert> 4000 String

</ServerCertificate>)?

</Fulfillment>)?

<ModificationEvents>

(<ModificationEvent>

<ModificationEventName> 5

<ModificationEventTimestamp> YYYY-MM-

DDTHH:MM:SS.000Z

</ModificationEvent>)+

</ModificationEvents>?

</OrderDetail>)+

</OrderDetails>)?

</Response>

</GetModifiedOrders>

11.4 Query to Determine Upcoming Renewals (GetOrderByExpirationDate)

Request to query for orders with certificates expiring in date range.

GetOrderByExpirationDate Request

<GetOrderByExpirationDate >

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</QueryRequestHeader>

(<ExpirationFromDate>)? YYYY-MM-DDTHH:MM:SS.000Z

(<ExpirationToDate>)? YYYY-MM-DDTHH:MM:SS.000Z

(<FQDN>)? 64 String

(<OrderKind>)? 10 String

(<OrderStatus>)? 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

(<SubID>)? 50 String

</Request>

</GetCertificateOrders>

GetOrderByExpirationDate Response

<GetCertificateOrders xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

Page 38: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 38 of 72

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

(<SearchOrderDetails>

(<SearchOrderDetail>

<OrderID> 50 String

(<BaseOption>)? 20 String

<OrderKind> 10 String

<RequestKind> 10 String

<Licenses> 3

<OrderRequestDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<OrderIssueDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

(<OrderCanceledDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

<OrderStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

<OrganizationName> 255 String

<Months> 4

<SubId> 50 String

<FQDN> 64 String

</SearchOrderDetail>)+

</SearchOrderDetails>)?

</Response>

</GetCertificateOrders>

11.5 Query API to Get Certificate Orders (GetCertificateOrders)

As mentioned above the GetCertificateOrders API will return a list of orders based on criteria provided.

GetCertificateOrders Request

<GetCertificateOrders xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Request>

<QueryRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</QueryRequestHeader>

(<FromDate>)? YYYY-MM-DDTHH:MM:SS.000Z

(<ToDate>)? YYYY-MM-DDTHH:MM:SS.000Z

(<FQDN>)? 64 String

(<OrderKind>)? 10 String

(<OrderStatus>)? 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

(<SubID>)? 50 String

</Request>

</GetCertificateOrders>

Page 39: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 39 of 72

GetCertificateOrders Response

<GetCertificateOrders xmlns="http://stub.query.gasapiserver.esp.globalsign.com">

<Response>

<QueryResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> 25 YYYY-MM-DDTHH:MM:SS.000Z

<ReturnCount> 5

</QueryResponseHeader>

(<SearchOrderDetails>

(<SearchOrderDetail>

<OrderID> 50 String

(<BaseOption>)? 20 String

<OrderKind> 10 String

<RequestKind> 10 String

<Licenses> 3

<OrderRequestDate> 25 YYYY-MM-DDTHH:MM:SS.000Z

<OrderIssueDate>? 25 YYYY-MM-

DDTHH:MM:SS.000Z

(<OrderCanceledDate>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

<OrderStatus> 5 1: INITIAL

2: Waiting for phishing check

3: Cancelled - Not Issued

4: Issue completed

5: Cancelled - Issued

6: Waiting for revocation

7: Revoked

<OrganizationName> 255 String

<Months> 4

<SubId> 50 String

<FQDN> 64 String

</SearchOrderDetail>)+

</SearchOrderDetails>)?

</Response>

</GetCertificateOrders>

11.6 Query API to Reissue Certificates (ReIssue)

Use the Reissue API to Re-order a certificate. "HashAlgorithm" is a newly added field in the API for reissue.

- If this is not specified, certificates will be issued based on the hash algorithm of the certificate being reissued.

- If "SHA1" is specified, SHA1 certificates will be issued. - If "SHA256" is specified, SHA-256 certificates will be issued. -

However, when reissuing certificates from SHA-256 to SHA1, issuing certificates which exceeds the

SHA-1 maximum validity period will be truncated. SHA-1 to SHA-1 certificate reissuance will not be

affected.

Example: Request a 5 year SHA-256 certificate. If you re-issue to SHA-1, you will receive a maximum

39 month certificate which could result in the loss of up to 21 months of validity period.

Recommendation: By requesting a maximum of a 3-year certificate you can avoid any loss of validity

period when performing reissues.

Page 40: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 40 of 72

ReIssue Request

<ReIssue xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30

<Password> 30

</AuthToken>

</OrderRequestHeader>

<OrderParameter>

<CSR> 4000 String

(<DNSNames>)? 300 String

</OrderParameter>

<TargetOrderID> 50 String

<HashAlgorithm> SHA1, SHA256

</Request>

</ReOrder>

ReIssue Response

< ReIssue xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

<TargetOrderID>? 50 String

</Response>

</ ReIssue >

11.7 Check Order Parameters and Phishing Database (ValidateOrderParameters)

ValidateOrderParameters Request

<ValidateOrderParameters xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderRequestParameter>

<ProductCode> DV, DV_LOW, OV, EV

(<BaseOption>)? wildcard,globalip

<OrderKind> new,renewal,transfer

<Licenses> 3

(<Options>

(<Option>

<OptionName> VPC:

ValidityPeriodCustomizeOption

SAN: SANOption

<OptionValue> true,false

</Option>)+

<Options>)?

<ValidityPeriod>

<Months> 4

Page 41: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 41 of 72

(<NotBefore>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? 25 YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>

(<CSR>)? 4000 String

(<RenewalTergetOrderID)? 50 String

(<TargetCERT>)? 4000 String

(<SpecialInstructions>)? 4000 String

(<Coupon>)? 50 String

(<Campaign>)? 50 String

</OrderRequestParameter>

<FQDN> 255 String

(<SANEntries>

(<SANEntry>

<SANOptionType> 1:UC cert option

2:Subdomain SAN option

3:GIP SAN option

4:Internal SAN option

7:FQDN SAN option

<SubjectAltName> 4000 String

(<ModifyOperation>)? <!- N/A -->

</SANEntry>)+

</SANEntries>)?

</Request>

</ValidateOrderParameters >

ValidateOrderParameters Response

<ValidateOrderParameters xmlns="http://stub.order.gasapiserver.esp.globalsign.com">

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

(<Price>)? 10

(<Currency>)? 10

(<ValidityPeriod>

<Months> 4

(<NotBefore>)? YYYY-MM-DDTHH:MM:SS.000Z

(<NotAfter>)? YYYY-MM-DDTHH:MM:SS.000Z

</ValidityPeriod>)?

(<ParsedCSR>

<Subject>

<DomainName>

<Country>

<Email>

<Locality>

<Organization>

<OrganizationUnit>

<State>

<IsValidDomainName>

</ParsedCSR>)?

</Response>

</ValidateOrderParameters >

11.8 Turn Renewal Notice On/Off (ToggleRenewalNotice)

Toggle Renewal Notice Request

<ToggleRenewalNotice>

<Request>

Page 42: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 42 of 72

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrderID> 30 String

<RenewalNotice> true, false

</Request>

</ ToggleRenewalNotice >

Toggle RenewalNotic Response

< ToggleRenewalNotice >

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrderID>? 50 String

</Response>

</ ToggleRenewalNotice >

12. Account API Functions

12.1 Retrieve Account Snapshot (GetAccountSnapshot)

This function allows you to retrieve the balance and usage from your GCC account.

GetAccountSnapshot Request

<GetAccountSnapshot>

<Request >

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

</Request >

</GetAccountSnapshot>

GetAccountShapshot Response

< GetAccountSnapshot >

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

Page 43: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 43 of 72

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<AccountSnapShot>

(<BulkDepositBalance>)? 255 String

(<LastMonthUsage>)? 255 String

(<BulkDepositValidity>)? 255 String

(<AgreementValidityPeriod>)? YYYY-MM-DDTHH:MM:SS.000Z

(<DiscountRank>)? 255 String

(<DiscountRankValidityPeriod>)? YYYY-MM-

DDTHH:MM:SS.000Z

</AccountSnapShot>

</Response>

</ GetAccountSnapshot >

12.2 Create Sub Reseller Account (ResellerApplication)

Request that will allow the creation of new Resellers.

Create Reseller Application Request

<ResellerApplication>

<Request>

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<OrganizationInfo>

<OrganizationName> 255 String

(<CreditAgency>)? 1:DUNS, 2:TDB

(<OrganizationCode>)? 50 String

<BusinessType> 50 String

<OrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String

<TimeZone>

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

</OrganizationInfo>

<UserInformation>

<UserName> 30 String

<Password> 30 String

(<Department>)?

<FirstName> 100 String

<LastName> 100 String

(<Job Title>)? 100 String

<Phone> 30 String

<Email> 255 String

<OrganizationName> 255 String

(<CreditAgency>)? 1:DUNS, 2:TDB

(<OrganizationCode>)? 50 String

<BusinessType> 50 String

<UserOrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

Page 44: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 44 of 72

(<AddressLine3>)? 100 String

<City> 200 String

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String

<TimeZone> 5 String – see section 16.4

<Phone> 30 String

(<Fax>)? 30 String

</UserOrganizationAddress>

(<RecieveNewsLetters>)? true, false

(<SendInvoicebyPost>)? true, false

</UserInformation>

<CorporateInformation>

(<SelectionofProductsGroup>)? ???

<CorporateStartingDay> YYYY-MM-DDTHH:MM:SS.000Z

(<ContractNoteVersion>)? 30 String

<SystemCreditAmount> 30 String

(<TemplateType>)? ???

(<MailTemplateGroup>)? ???

(<UseDepositforCertificate>)? true, false

(<UseBankTransfeforCertificate>)? true, false

(<UseBankTransferforDeposit>)? true, false

<PaymentTerms> 30, 60, 90

</Request>

</ ResellerApplication >

Create Reseller Application Response

< ResellerApplication >

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<CorporateID> 30 String

</Response>

</ ResellerApplication>

12.3 Add Deposits to Sub Reseller Account (AddResellerDeposit)

Add Reseller Deposit Request

<AddResellerDeposit>

<Request >

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<CorporateID> 30 String

<DepositAmount> 30 String

</Request >

</ AddResellerDeposit >

Page 45: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 45 of 72

Add Reseller Deposit Response

< AddResellerDeposit>

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

</Response>

</ AddResellerDeposit>

12.4 Query Invoices

To retrieve invoices and determine which ones are outstanding.

Query Invoices Request

<QueryInvoices>

<Request >

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader> 30 String

(<InvoiceNumber>)? 30 String

(<OrderID>)? 30 String

<PaymentDueDateFrom> YYYY-MM-DDTHH:MM:SS.000Z

<PaymentDueDateTo> YYYY-MM-DDTHH:MM:SS.000Z

</Request >

</ AddResellerDeposit >

Query Invoices Response

< QueryInvoices >

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<OrganizationAddress>

<AddressLine1> 100 String

(<AddressLine2>)? 100 String

(<AddressLine3>)? 100 String

<City> 200 String

Page 46: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 46 of 72

<Region> 255 String

<PostalCode> 20 String

<Country> 30 String

<Phone> 30 String

(<Fax>)? 30 String

</OrganizationAddress>

<Invoices>

<InvoiceInformation>

<InvoiceNumber> 30 String

(<PurchaseOrderNumber>)? 30 String

<CustomerAccountNo> 30 String

<SupplyDate> YYYY-MM-DDTHH:MM:SS.000Z

<InvoiceDate> YYYY-MM-DDTHH:MM:SS.000Z

<PaymentDueDate> YYYY-MM-DDTHH:MM:SS.000Z

(<InvoiceLineItem>

<ProductName> 255 String

<CommonName> 255 String

<OrderID> 30 String

<Qty> 10 String

<UnitPrice> 30 String

<TaxAmt> 30 String

<TotalLineAmt> 30 String

</InvoiceLineItem>)+

<Net> 30 String

<Tax> 30 String

<InvoiceTotal> 30 String

</InvoiceInformation>+

<Invoices>

</Response>

</ QueryInvoices >

13. Get Subscriber Agreement Request (GetAgreement)

This function allows you to retrieve the current subscriber agreement version & text.

GetAgreement Request

<GetAgreement>

<Request >

<OrderRequestHeader>

<AuthToken>

<UserName> 30 String

<Password> 30 String

</AuthToken>

</OrderRequestHeader>

<ProductCode> 30 String

</Request >

</ GetAgreement >

GetAgreement Response

< GetAgreementResponse >

<Response>

<OrderResponseHeader>

<SuccessCode> 2

(<Errors>

(<Error>

<ErrorCode> 5

(<ErrorField>)? 1000 String

<ErrorMessage> 1000 String

</Error>)+

</Errors>)?

<Timestamp> YYYY-MM-DDTHH:MM:SS.000Z

</OrderResponseHeader>

<agreementVersion> String

Page 47: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 47 of 72

<agreementText> String

</Response>

</ GetAgreemenResponse >

14. Code Examples:

Here is an example of an OrganizationSSL Certificate order (OVOrder only – this would follow on from DecodeCSR ) in php 5.

<?php

$url = 'http://testsystem.globalsign.com/wsdls/gasorder.wsdl';

$nameSpace = 'http://stub.order.gasapiserver.esp.globalsign.com';

$client = new SoapClient($url);

$client->_namespace = $nameSpace;

$params = array( 'OVOrder' => array(

'Request' => array(

'OrderRequestHeader' => array(

'AuthToken' => array(

'UserName' => 'PAR0_00000',

'Password' => 'testpassword'

)

),

'OrderRequestParameter' => array(

'ProductCode' => 'OV',

'OrderKind' => 'new',

'Licenses' => '1',

'ValidityPeriod' => array(

'Months' => '12',

),

'CSR' => '-----BEGIN CERTIFICATE REQUEST-----

MIIBvzCCASgCAQAwbDELMAkGA1UEBhMCQkUxEDAOBgNVBAgTB0JyYWJhbnQxDzAN

BgNVBAcTBkxldXZlbjETMBEGA1UEChMKR2xvYmFsU2lnbjEMMAoGA1UECxMDd2Vi

MRcwFQYDVQQDEw53d3cucGpiMTU0LmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw

gYkCgYEAsq7c9pSA56FgV5GIR/Ihl6dMKJyp9Q1NNRaAlPb3cT0QULykhPPBeRVk

g6sPZ/1z2qHL6t9A6qUzFp3ATj+ftX+KK5UwvalHkTvJyV+0g0OUTT/3WcBDQ3kP

DZXM1eS0SwAxU9jaedOlqTSGFD+GHF54CVERFFFFF3JXTD4a+AMCAwEAAaATMBEG

CSqGSIb3DQEJAjEEFAIu5jANBgkqhkiG9w0BAQUFAAOBgQBgVUN0PUxnzkoHhYgg

CIiCF55Z/hB0lxyM11KzdO5cMBw+nmJN+6lIFyfyPGhaOW9I/ACVCDSwY/QYRMh7

LqUex4+xr2t2C8oTIqp3iJMl8Hs+X9hVlnB4WjdiNbnkfgYH89UyQUPVbKxQNJ2F

kT+h2sEZYU7k2ZwYoVnS212G1w==

-----END CERTIFICATE REQUEST-----',

'Options' => array(

'Option' => array(

'OptionName' => 'SAN',

'OptionValue' => 'true',

),

),

),

'ContactInfo' => array(

'FirstName' => 'First',

'LastName' => 'Last',

'Phone' => '123456',

'Email' => '[email protected]',

),

'OrganizationInfo' => array(

'OrganizationName' => 'test12345',

'OrganizationAddress' => array(

'AddressLine1' => 'Philipssite 5',

'City' => 'Leuven',

'Region' => 'Brabant',

'PostalCode' => '3001',

'Country' => 'BE',

'Phone' => '02123456',

),

),

'SANEntries' => array(

'SANEntry' => array(

Page 48: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 48 of 72

array(

'SANOptionType' => '1',

'SubjectAltName' => 'mail.test12345.com',

),

array(

'SANOptionType' => '3',

'SubjectAltName' => 'tester.test12345.com',

),

),

),

),

),

);

print_r ($params);

$res = $client->__soapCall("OVOrder",$params);

print_r($res);

?>

15. Certificate Order Entry Parameters

15.1 Product Codes

The product code is a necessary item in most of the API calls above, the code you enter should match

the type of certificate your client requires.

Product codes can be changed to specify hashing algorithm. These adapted product codes are described

in the documentation addendum available separately.

Code Certificate Type Usage OV OrganizationSSL Used in OVOrder

DV DomainSSL Used in DVOrder

DV_HIGH_URL DomainSSL Used in URLVerification (metatag)

DV_HIGH_DNS DomainSSL Used in URLVerification (DNS txt)

EV ExtendedSSL Used in EVOrder

DV_LOW AlphaSSL Used in DVOrder

DV_LOW_URL AlphaSSL Used in URLVerification (metatag)

DV_LOW_DNS AlphaSSL Used in URLVerification (DNS txt)

15.2 Validity Period

You can control the validity period of ordered certificates by setting the number of months. Not all validity periods can be used for all products. The specific validity period constraints for each product are described in the documentation addendum available separately.

Number Of Months Certificate Validity Period (days) 6* 184*

12 366

24 731

36 1096

48 1461

60 1826

15.3 Date/Time Formatting

Date/Time is based on UTC and includes millisecond. E.g: 2006-12-07T18:16:33.594Z This format is defined* as “xsd:dateTime XML Simple Type”

Page 49: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 49 of 72

* http://www.w3.org/TR/xmlschema-2/#dateTime

15.4 Setting Validity Period of the Certificate (by Not before/Not after date)

To use this functionality, you must choose the VPC option in the certificate. You can control the validity period of a certificate by modifying the Not before (N/B) and Not after (N/A) dates, these dates represent Valid From and Valid To in the final certificate. You can set either N/B and N/A dates, or just one of them. Restrictions are follows:

Not before dates should be at least 3 days after the ordering date for DVOrders, and at least 7 days after for OVOrders.

Not after dates should be as follows:

Number of Months Restrictions for N/A 6 DomainSSL : 4 days after or later from the ordering date and within 184

days OV : 8 days after or later from the ordering date and within 184 days

12 185 days after or later from the ordering date and within 366 days

24 367 days after or later from the ordering date and within 731 days

36 732 days after or later from the ordering date and within 1096 days

48 1097 days after or later from the ordering date and within 1461 days

60 1462 days after or later from the ordering date and within 1826 days

15.5 Order Type

The following OrderTypes can be ordered through the API.

No. OrderKind Notes 1 New A new order

2 Renewal A renewal order for replacing an expiring certificate

3 Transfer A competitive switch – a certificate is being traded in from another SSL provider

15.6 Base Options

BaseOptions can be added to the certificate order if it is for a specific type of certificate, the following

BaseOptions are currently available.

BaseOption Supported Product Notes wildcard DomainSSL

OrganizationSSL

Common Name must contain the * character in place of the

subdomain

GIP OrganizationSSL Common Name must contain a publicly accessible IP address.

Cannot be used with subdomain SANs or Unified Communication

SANs

15.7 Licenses

GlobalSign has moved to an unlimited server licensing model for its SSL certificates. The values passed via the API in the license field are thus irrelevant. For new implementations, the request should be configured to submit a value of 1 licenses.

Page 50: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 50 of 72

15.8 CreditAgency/OrganizationCode

CreditAgency/OrganizationCode is added to help GlobalSign validate the customers Organization. If the

customer has one of these numbers it should just be flagged as available, the actual code is not to be

entered.

No. Credit Agency Value 1 Dunn and Bradstreet number 1

2 Teikoku Databank code 2

15.9 KeyLength

This reflects the Key Length to be used if the certificate is being created on GlobalSign servers. Valid

values 2048 or 4096.

15.10 OptionName

The following option types must be added for ordering certificates with extended options. Set to TRUE to

activate.

OptionName Description SAN SAN: SANOption Activates the Subject Alternative Name

(SANs) options – see section on Subject Alternative Names (SANs) Entry

VPC VPC:ValidityPeriodCustomizeOption Allows the start date and end date of the Certificate to be customized – see section on Setting validity period of the certificate (by Not before/Not after date)

15.11 Subject Alternative Names (SANs) Entry

SANs entries should be added with a combination of OptionName set to SAN and SANOptionType set to

one of the following together with the full SAN name in SubjectAltName.

15.12 Metatag & DNS – Valid Approver URL / FQDN –Common Name Relationships

Common Name requested in Certificate

Valid <ApproverURL> options <ApproverFQDN>

Ignore http(s):// for FQDN

domain.com http(s)://www.domain.com http(s)://domain.com

sub.domain.com http(s)://www.domain.com http(s)://domain.com http(s)://www.sub.domain.com http(s)://sub.domain.com

www.domain.com http(s)://www.domain.com http(s)://domain.com

No. SAN OptionType Explanation Allowed in Products

1 1:UC cert option Unified Communication Cert Option – allows only owa, mail or autodiscover subdomains to be added

DV, OV, EV

2 2:Subdomain SAN option Additional Subdomain Option DV,OV, EV

3 3:GIP SAN option Public IP Option OV, EV

4 4:Internal SAN option Internal Hostname or non-public IP Option OV, EV

7 7:FQDN SAN option Additional Fully Qualified Domain Option OV, EV

Page 51: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 51 of 72

15.13 Country

List of country two digit codes and currently supported status, Y = supported N = not supported.

Code Name Status

AD ANDORRA Y

AE UNITED ARAB EMIRATES Y

AF AFGHANISTAN N

AG ANTIGUA AND BARBUDA Y

AI ANGUILLA Y

AL ALBANIA Y

AM ARMENIA Y

AN NETHERLANDS ANTILLES Y

AO ANGOLA N

AQ ANTARCTICA Y

AR ARGENTINA Y

AS AMERICAN SAMOA Y

AT AUSTRIA Y

AU AUSTRALIA Y

AW ARUBA Y

AX ALAND ISLANDS Y

AZ AZERBAIJAN Y

BA BOSNIA AND HERZEGOVINA

Y

BB BARBADOS Y

BD BANGLADESH Y

BE BELGIUM Y

BF BURKINA FASO Y

BG BULGARIA Y

BH BAHRAIN Y

BI BURUNDI Y

BJ BENIN Y

BM BERMUDA Y

BN BRUNEI DARUSSALAM Y

BO BOLIVIA Y

BR BRAZIL Y

GW GUINEA-BISSAU Y

GY GUYANA Y

HK HONG KONG Y

HM HEARD ISLAND AND MCDONALD ISLANDS

Y

HN HONDURAS Y

HR CROATIA Y

HT HAITI Y

HU HUNGARY Y

ID INDONESIA Y

IE IRELAND Y

IL ISRAEL Y

IM ISLE OF MAN Y

Code Name Status

IN INDIA Y

IO BRITISH INDIAN OCEAN TERRITORY

Y

IQ IRAQ N

IR IRAN, ISLAMIC REPUBLIC OF

N

IS ICELAND Y

IT ITALY Y

JE JERSEY Y

JM JAMAICA Y

JO JORDAN Y

JP JAPAN Y

KE KENYA Y

KG KYRGYZSTAN Y

KH CAMBODIA Y

KI KIRIBATI Y

KM COMOROS Y

KN SAINT KITTS AND NEVIS Y

KP NORTH KOREA (DEMOCRATIC PEOPLE’S REPUBLIC OF KOREA)

N

BS BAHAMAS Y

BT BHUTAN Y

BV BOUVET ISLAND Y

BW BOTSWANA Y

BY BELARUS Y

BZ BELIZE Y

CA CANADA Y

CC COCOS (KEELING) ISLANDS

Y

CD CONGO, THE DEMOCRATIC REPUBLIC OF THE

Y

CF CENTRAL AFRICAN REPUBLIC

Y

CG CONGO Y

CH SWITZERLAND Y

CI COTE D’IVOIRE Y

CK COOK ISLANDS Y

CL CHILE Y

CM CAMEROON Y

CN CHINA Y

CO COLOMBIA Y

CR COSTA RICA Y

CU CUBA N

CV CAPE VERDE Y

Page 52: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 52 of 72

Code Name Status

CX CHRISTMAS ISLAND Y

CY CYPRUS Y

CZ CZECH REPUBLIC Y

DE GERMANY Y

DJ DJIBOUTI Y

DK DENMARK Y

DM DOMINICA Y

DO DOMINICAN REPUBLIC Y

DZ ALGERIA Y

KR KOREA, REPUBLIC OF Y

KW KUWAIT Y

KY CAYMAN ISLANDS Y

KZ KAZAKSTAN Y

LA LAO PEOPLE’S DEMOCRATIC REPUBLIC

Y

LB LEBANON Y

LC SAINT LUCIA Y

LI LIECHTENSTEIN Y

LK SRI LANKA Y

LR LIBERIA N

LS LESOTHO Y

LT LITHUANIA Y

LU LUXEMBOURG Y

LV LATVIA Y

LY LIBYAN ARAB JAMAHIRIYA N

MA MOROCCO Y

MC MONACO Y

MD MOLDOVA, REPUBLIC OF Y

ME MONTENEGRO N

MG MADAGASCAR Y

MH MARSHALL ISLANDS Y

MK MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF

Y

ML MALI Y

MM MYANMAR Y

MN MONGOLIA Y

MO MACAU Y

MP NORTHERN MARIANA ISLANDS

Y

MQ MARTINIQUE Y

MR MAURITANIA Y

EC ECUADOR Y

EE ESTONIA Y

EG EGYPT Y

EH WESTERN SAHARA Y

ER ERITREA Y

Code Name Status

ES SPAIN Y

ET ETHIOPIA Y

FI FINLAND Y

FJ FIJI Y

FK FALKLAND ISLANDS (MALVINAS)

Y

FM MICRONESIA, FEDERATED STATES OF

Y

FO FAROE ISLANDS Y

FR FRANCE Y

GA GABON Y

GB UNITED KINGDOM Y

GD GRENADA Y

GE GEORGIA Y

GF FRENCH GUIANA Y

GG GUERNSEY Y

GH GHANA Y

GI GIBRALTAR Y

GL GREENLAND Y

GM GAMBIA Y

GN GUINEA Y

GP GUADELOUPE Y

GQ EQUATORIAL GUINEA Y

GR GREECE Y

GS SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS

Y

GT GUATEMALA Y

GU GUAM Y

MS MONTSERRAT Y

MT MALTA Y

MU MAURITIUS Y

MV MALDIVES Y

MW MALAWI Y

MX MEXICO Y

MY MALAYSIA Y

MZ MOZAMBIQUE Y

NA NAMIBIA Y

NC NEW CALEDONIA Y

NE NIGER Y

NF NORFOLK ISLAND Y

NG NIGERIA Y

NI NICARAGUA Y

NL NETHERLANDS Y

NO NORWAY Y

NP NEPAL Y

NR NAURU Y

Page 53: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 53 of 72

Code Name Status

NU NIUE Y

NZ NEW ZEALAND Y

OM OMAN Y

PA PANAMA Y

PE PERU Y

PF FRENCH POLYNESIA Y

PG PAPUA NEW GUINEA Y

PH PHILIPPINES Y

PK PAKISTAN Y

PL POLAND Y

PM SAINT PIERRE AND MIQUELON

Y

PN PITCAIRN Y

PR PUERTO RICO Y

PS PALESTINIAN TERRITORY, OCCUPIED

Y

PT PORTUGAL Y

PW PALAU Y

PY PARAGUAY Y

QA QATAR Y

RE REUNION Y

RO ROMANIA Y

RS SERBIA N

RU RUSSIAN FEDERATION Y

RW RWANDA N

SA SAUDI ARABIA Y

SB SOLOMON ISLANDS Y

SC SEYCHELLES Y

SD SUDAN N

SE SWEDEN Y

SG SINGAPORE Y

SH SAINT HELENA Y

SI SLOVENIA Y

SJ SVALBARD AND JAN MAYEN

Y

SK SLOVAKIA Y

SL SIERRA LEONE N

SM SAN MARINO Y

SN SENEGAL Y

SO SOMALIA N

SR SURINAME Y

ST SAO TOME AND PRINCIPE Y

SV EL SALVADOR Y

Code Name Status

SY SYRIAN ARAB REPUBLIC N

SZ SWAZILAND Y

TC TURKS AND CAICOS ISLANDS

Y

TD CHAD Y

TF FRENCH SOUTHERN TERRITORIES

Y

TG TOGO Y

TH THAILAND Y

TJ TAJIKISTAN Y

TK TOKELAU Y

TL TIMOR-LESTE Y

TM TURKMENISTAN Y

TN TUNISIA Y

TO TONGA Y

TR TURKEY Y

TT TRINIDAD AND TOBAGO Y

TV TUVALU Y

TW TAIWAN, PROVINCE OF CHINA

Y

TZ TANZANIA, UNITED REPUBLIC OF

Y

UA UKRAINE Y

UG UGANDA Y

UM UNITED STATES MINOR OUTLYING ISLANDS

Y

US UNITED STATES Y

UY URUGUAY Y

UZ UZBEKISTAN Y

VA HOLY SEE (VATICAN CITY STATE)

Y

VC SAINT VINCENT AND THE GRENADINES

Y

VE VENEZUELA Y

VG VIRGIN ISLANDS, BRITISH Y

VI VIRGIN ISLANDS, U.S. Y

VN VIET NAM Y

VU VANUATU Y

WF WALLIS AND FUTUNA Y

WS SAMOA Y

YE YEMEN Y

YT MAYOTTE Y

ZA SOUTH AFRICA Y

ZM ZAMBIA Y

ZW ZIMBABWE Y

Page 54: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 54 of 72

16. Status Explanations

16.1 Order/Certificate Status

Order/Certificate status of any certificate request can be obtained at any time, via GetModifiedOrders API

call.

16.2 ModificationEventName

ModificationEventName is returned from GetModifiedOrders. At any time all modified orders and their modification can be returned from the API. ModificationEventName is a combination of Action code and result code.

e.g.: 1,0 - means Certificate Confirmed is succeeded.

Action Code Description 0 Initial (no requested for RA)

1 Certificate Confirmed

2 Certificate Rejected

3 Certificate phishing OK

4 Certificate phishing NG

5 Certificate requested for RA

6 Certificate Approver Cancelled

7 Certificate issued

8 Certificate Cancelled(before issue)

9 Certificate Cancelled(after issue)

10 Certificate mail re-issue

11 Certificate Revoke request

12 Certificate Revoked

13 Certificate re-issue request

14 Certificate re-issued

15 Certificate transference

16 Certificate re-request Cancelled

17 Certificate error recover

18 Certificate requested for RA(manual request)

19 Certificate status updated

20 Certificate requested for RA(partner)

21 Certificate requested for RA(TP)

22 EV 1st document vetting is OK

23 Certificate Revoke Cancelled

27 SAN option changed(original order).

39 Changing SAN option requested.

41 Changing SAN option requested for RA.

Result Code Description 0 Succeed

1 Warning

-1 Error

No. Order Status Value 1 INITIAL 1

2 Waiting for phishing check 2

3 Cancelled – Not Issued 3

4 Issue completed 4

5 Cancelled - Issued 5

6 Waiting for revocation 6

7 Revoked 7

Page 55: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 55 of 72

16.3 ResendEmailType

The following Emails can be resent via the API.

Value Description APPROVEREMAIL Resend the approver email for DVOrder, DVOrderWithoutCSR

16.4 TimeZone Codes

TimeZoneID TimeZone detail Tz101 GMT-12:00 International Date Line West

Tz102 GMT-11:00 Midway Island, Samoa

Tz103 GMT-10:00 Hawaii

Tz104 GMT-09:00 Alaska

Tz105 GMT-08:00 Pacific Time (US & Canada

Tz106 GMT-07:00 Chihuahua, La Paz, Mazatlan

Tz107 GMT-07:00 Mountain Time (US & Canada)

Tz108 GMT-07:00 Arizona

Tz109 GMT-06:00 Saskatchewan

Tz110 GMT-06:00 Central America

Tz111 GMT-06:00 Central Time (US & Canada)

Tz112 GMT-06:00 Guadalajara, Mexico City, Monterrey

Tz113 GMT-05:00 Eastern Time (US & Canada)

Tz114 GMT-05:00 Bogota, Lima, Quito

Tz115 GMT-05:00 Indiana (East)

Tz116 GMT-04:00 Atlantic Time (Canada)

Tz117 GMT-04:00 Santiago

Tz118 GMT-04:00 Caracas, La Paz

Tz119 GMT-03:30 Newfoundland

Tz120 GMT-03:00 Brasilia

Tz121 GMT-03:00 Greenland

Tz122 GMT-03:00 Buenos Aires, Georgetown

Tz123 GMT-02:00 Mid-Atlantic

Tz124 GMT-01:00 Azores

Tz125 GMT-01:00 Cape Verde Is.

Page 56: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 56 of 72

Tz126 GMT+00:00 Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London

Tz127 GMT+00:00 Casablanca, Monrovia

Tz128 GMT+01:00 Belgrade, Bratislava, Budapest, Ljubljana, Prague

Tz129 GMT+01:00 Sarajevo, Skopje, Warsaw, Zagreb

Tz130 GMT+01:00 Brussels, Copenhagen, Madrid, Paris

Tz131 GMT+01:00 West Central Africa

Tz132 GMT+01:00 Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

Tz133 GMT+02:00 Bucharest

Tz134 GMT+02:00 Cairo

Tz135 GMT+02:00 Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius

Tz136 GMT+02:00 Athens, Istanbul, Minsk

Tz137 GMT+02:00 Jerusalem

Tz138 GMT+02:00 Harare, Pretoria

Tz139 GMT+03:00 Kuwait, Riyadh

Tz140 GMT+03:00 Baghdad

Tz141 GMT+03:00 Nairobi

Tz142 GMT+03:00 Moscow, St. Petersburg, Volgograd

Tz143 GMT+03:30 Tehran

Tz144 GMT+04:00 Abu Dhabi, Muscat

Tz145 GMT+04:00 Baku, Tbilisi, Yerevan

Tz146 GMT+04:30 Kabul

Tz147 GMT+05:00 Ekaterinburg

Tz148 GMT+05:00 Islamabad, Karachi, Tashkent

Tz149 GMT+05:30 Chennai, Kolkata, Mumbai, New Delhi

Tz150 GMT+05:45 Kathmandu

Tz151 GMT+06:00 Astana, Dhaka

Tz152 GMT+06:00 Almaty, Novosibirsk

Tz153 GMT+05:30 Sri Jayawardenepura

Tz154 GMT+06:30 Rangoon

Tz155 GMT+07:00 Krasnoyarsk

Tz156 GMT+07:00 Bangkok, Hanoi, Jakarta

Page 57: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 57 of 72

Tz157 GMT+08:00 Beijing, Chongqing, Hong Kong, Urumqi

Tz158 GMT+08:00 Irkutsk, Ulaan Bataar

Tz159 GMT+08:00 Kuala Lumpur, Singapore

Tz160 GMT+08:00 Taipei

Tz161 GMT+08:00 Perth

Tz162 GMT+09:00 Seoul

Tz163 GMT+09:00 Osaka, Sapporo, Tokyo

Tz164 GMT+09:00 Yakutsk

Tz165 GMT+09:30 Darwin

Tz166 GMT+09:30 Adelaide

Tz167 GMT+10:00 Canberra, Melbourne, Sydney

Tz168 GMT+10:00 Brisbane

Tz169 GMT+10:00 Hobart

Tz170 GMT+10:00 Vladivostok

Tz171 GMT+10:00 Guam, Port Moresby

Tz172 GMT+11:00 Magadan, Solomon Is., New Caledonia

Tz173 GMT+12:00 Fiji, Kamchatka, Marshall Is.

Tz174 GMT+12:00 Auckland, Wellington

Tz175 GMT+13:00 Nuku'alofa

16.5 Success / Error Codes

A SuccessCode is always returned from the API, if the SuccessCode is 0 or 1, the order will normally be

able to continue. A SuccessCode of -1 will be a terminating point and will be combined in the reply with

one or more ErrorCodes. ErrorCodes provide more information on the Error created with the API call. In

addition to the error message documentation below, the API returns more specific error details regarding

the specific fields that may be causing problems in the XML response.

There are two types of errors: Client Error and Server Error.

Client error codes suggest that the error was caused by something on the client end. These issues are

often due to malformed XML requests, incorrect or missing data, or other API implementation issues. A

client error code indicates that the request has not been accepted and the user must make changes and

resubmit.

Server error codes suggest a server-side issue caused the error and should be reported to

[email protected]. The request is received but it may not be processed immediately or the request

Page 58: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 58 of 72

cannot received by GCC system. A server error code is received, please view compare the error code

and the table in section 16.6.

Success Codes

Code Code Details Notes 0 Success

-1 Failure The order/request has failed; please consult the Error Code list, as well as the error message in the XML response for remedial actions.

1 Warning Indicates order has been flagged for Phishing. The order is valid, but will experience a delay in processing until the GlobalSign vetting team manually reviews and clears the order’s phishing flag

Client Error Codes

Success Code

Error Code

Description Notes

0 - Success -

-1 -101 Invalid Parameter

This error code can be caused by multiple types of errors. Please review the specific ErrorMessage returned in the XML response for parameter details and consult the XML Field definitions section of this document.

-1 -102 An essential parameter is missing

This error code can be caused by multiple types of errors/omissions. Please review the specific ErrorMessage returned in the XML response for parameter details and consult the XML Field definitions section of this document.

-1 -103 A parameter is too long

This one of the parameters in your request is too long. Please review the specific ErrorMessage returned in the XML response for parameter details and consult the XML Field definitions section of this document.

-1 -104 The format for a parameter is incorrect

This error code can be caused by multiple types of errors/omissions. Please review the specific ErrorMessage returned in the XML response for parameter details and consult the XML Field definitions section of this document.

-1 -105 Invalid Parameter

This error code can be caused by multiple types of errors. Please review the specific ErrorMessage returned in the XML response for parameter details and consult the XML Field definitions section of this document.

-1 -310 Transfer based certificate is invalid.

- Please ensure that the competitor's certificate is not expired. - The certificate must be publically accessible - If the above conditions are met, please contact your GlobalSign support representative and provide the transfer certificate for review.

-1 -3002 Domain not found in WHOIS database

Please review the submitted domain for accuracy; ensure it is in WhoIs and reachable online. If the problem persists, please report this error code to GlobalSign Support.

-1 -3007 DNS not found in WHOIS database Please review the submitted domain for accuracy. If the problem persists, please report this error code to GlobalSign Support.

-1 -3008 Could not connect to the target FQDN server.

Check if targeted FQDN server is reachable online.

-1 -3009 Specified FQDN does not match FQDN in specified VerificationURL.

Review the XML request to ensure there is a match between the FQDN and the Verification URL.

-1 -3010 CSR File Size Error Review the CSR and confirm it is within the data size limits defined in the XML Field Definitions section of this document

-1 -3017 The CSR file cannot be acquired from specified VerificationURL.

Confirm the CSR is available at the Verification URL

-1 -3018 Domain not found in WHOIS database Please review the submitted domain for accuracy; ensure it is in WhoIs and reachable online. If the

Page 59: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 59 of 72

Success Code

Error Code

Description Notes

problem persists, please report this error code to GlobalSign Support.

-1 -4001 Login failure - invalid user ID or password

Check your username and password and try again

-1 -4002 Specified ApproverEmail does not exist.

GetDVApproverList() needs to be carried out before you can proceed. Ensure you are using an email which is associated with the CN on the WhoIs database

-1 -4003 Specified OrderID/Voucher Number does not exist.

Confirm the OrderID/Voucher Number has been created/is valid and try again.

-1 -4004 OrderId has already been used You must use a new OrderID, the OrderID provided is already in use.

-1 -4005

Your request has not been accepted due to a logical limitation. The notes describe the limitations that may be encountered for the request that was submitted.

ResendEmail

- You cannot ResendEmail if The order status is complete, canceled, or revoked.

- There is approval email for The product associated with The OrderID provided.

ReOrder,ReOrderWithoutCSR

- You cannot ReOrder when The order status is reissued.

- The OrderID provided in The request has expired. You will not be able to ReOrder

ModifyOrder

- If you are trying to approve an order, the order status must be INITIAL or approval may not be required for the product associated with the OrderID provided

- If you are trying to cancel an order, the order status must not be CANCELED.

- If you are trying to revoke an order, the order status must be ISSUED

DeletePkcs12

- The OrderID provided is not found, please confirm in the GCC GUI - The certificate may not have been issued yet

-1 -4006 Specified ProductCode is invalid. Please review the ProductCode being used an ensure it is a valid code listed in the Certificate Order Entry Parameters section of this document

-1 -4007 Specified CSR is invalid.

- CN was not found in CSR.

- FQDN in GetDVApproverList does not match to CN in CSR.

- in ReOrder, FQDN does not match to CN in CSR.

-1 -4008 TargetCERT is expired or inaccessible

The Certificate in specified TargetCERT is expired and does not meet the requirements of transfer or is inaccessible on the CN by the GlobalSign system. Please ensure that the target certificate is active.

-1 -4009 Specified ApproverEmail is invalid. You need to select an email address from GetDVApproverList response.

-1 -4011 The CSR did not match. Specified CSR did not match CSR of VerificationURL.

-1 -4012 Specified FQDN is invalid. Please review syntax of the FQDN and ensure it is accessible

-1 -4013 The PKCS#12 has been already deleted.

-1 -4016 The certificate has been already reissued

Check the status of your certificate, the certificate has already been re-ordered

-1 -4024 Account Not Authorized for TrustedOrder

Your account has not yet been approved for TrustedOrders. Contact [email protected] to review the activation status.

-1 -4025 Default DvTemplateID Not Found Your account has not yet been approved for TrustedOrders. Contact [email protected] to review the activation status.

-1 -4026 EVOrderFlag and parameter combination error

There is an error with the combination of parameters the request contains. Please review the documentation for the EV order and resubmit the request.

-1 -4027 ProductCode and parameter combination error

There is an error with the combination of parameters the request contains. Please review the documentation for the type of order and resubmit the request.

Page 60: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 60 of 72

Success Code

Error Code

Description Notes

-1 -4038 Host Name Does not Match in 'UC Cert Option'

There is not a match of the CN and the domains specified in the UC Sans. Please update the entries so that they are equal

-1 -4039 Host Name is not www The host name for the request you are submitting must contain www as the subdomain.

-1 -4040 FQDN domain is not same as SubjectAltName domain

Review the SANS options of the certificate to ensure subdomains are the same domain as CommonName

-1 -4042 SANOptionType and ProductCode combination error

There is a conflict between the SANS options and the Product Code you are requesting. Please review the documentation for the order request you are using.

-1 -4043 Specified SubjectAltName is not a global IP address.

The following are unallowable SAN addresses:

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

127.0.0.0 - 127.255.255.255

224.0.0.0 - 255.255.255.255

-1 -4044 Specified SubjectAltName is not IP address format.

Review IP addresses used in the SAN Option to ensure they are accurate

-1 -4045 Specified SubjectAltName is not private IP address.

Review the private IP addresses provided in the request

-1 -4047 FQDN TLD is public domain in 'Internal SAN Option(InternalFQDN)'

The public domain cannot be specified with an InternalSAN address.

-1 -4048 SAN and FQDN are same Update the SAN listing to eliminate the conflict

-1 -4049 FQDN must not be an IP address in the 'FQDN Option'

The specified FQDN SAN is an IP address. Change option or change FQDN to proper format

-1 -4050 FQDN must not be single word in 'FQDN Option'

Update the single word(s) to FQDNs

-1 -4052 Internal SAN Option' parameter is invalid

Review the address provided for the Internal SAN Option and ensure it is a valid format

-1 -4053 SAN Domain is not listed as an Account Domain in MSSL Account

Please register the domain in your MSSL account.

-1 -4054 Requested FQDN is not permitted by specified DomainID

Do not use the same SAN as CN in the request

-1 -4083 Specified domain is not available. Please register the domain in your MSSL account

-1 -4101 Specified OrderID cannot be used in the "ModifyOrder" operation

Ensure you were using the appropriate OrderID.

-1 -4102 This UserID is not authorized for certificate approval.

Your user account needs additional privileges for certificate request approval. Contact [email protected].

-1 -4201 This IP Address is not registered for API access

Please contact [email protected].

-1 -4202 The specified MSSL account is not approved yet.

Please retry request after registration of your MSSL account has completed. Contact [email protected].

-1 -4203 Specified domain is not approved yet.

Log into the GCC interface to review the status of your MSSL Domain registration. If no request was submitted, then follow the appropriate steps to submit a MSSL Domain registration

1 -5001 Phishing warning - CN matched in phishing database

The CN has expressions that match our Phishing warning list. This order will be delayed slightly until the vetting team can manually review the requested domain. This doesn't mean the order is invalid, only that it will be slightly delayed.

-1 -6001 Specified CSR is invalid.

Review the API response for further details and check your CSR submitted for correct format for the following errors:

- CN is not found.

- Public key is invalid format or using unsupported algorithm

- The length of Public key is short.

- The Public key specified has already been used.

- invalid country. specified TLD is Not supported.

- It is not include wildcard in order with wildcard option.

- It is not include public IP in order with GlobalIP option.

- CSR invalid CN. CN ends with a dot.

- CSR invalid C.

Page 61: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 61 of 72

Success Code

Error Code

Description Notes

1 -6002 Specified certificate is invalid. The CSR provided is invalid or corrupted. Please regenerate the CSR. The GlobalSign System cannot parse certificates generated with the IAIK library

-1 -6003 Specified PIN is invalid. Please review the PIN generating process that was used and from section 16.17

-1 -6007 -6008

The public key is already used. Please generate new private key and CSR.

-1 -6012 CN or O or L or ST or C Not Found in CSR

Please review CSR and ensure all required fields are included

-1 -6013 CN or C Not Found in CSR Please review CSR and ensure all required fields are included

-1 -6014 CN or O or L or ST or C Not Found in CSR

Please review CSR and ensure all required fields are included

-1 -6017 Maximum number of SANs options have been exceeded

Please adjust an optional number to 40 entries or less.

-1 -6018 Specified SubjectAltName is invalid. SubjectAltName is duplicated. Remove duplicates from request and resubmit

-1 -6019 The number of characters of CN exceeds the limitation.

Please adjust the number of characters to 1024 bytes or less.

-1 -6020 The size of CSR exceeds the limitation. Please adjust the file size of CSR to 3000 bytes or less.

-1 -6021 CN in CSR and FQDN are not same Review the request and ensure CN and FQDN match

-1 -6022 FQDN and SANEntries are not same Review the request and ensure SANS options and FQDN match

-1 -6023 FQDN without [www. or *.] and SAN are same

CN beginning with "www" or "*" is automatically set to the specified SAN.

-1 -6101 Account Balance Error Insufficient credit in your account to complete this order. Add deposit or increase credit levels.

-1 -6102 Specified order cannot be a renewal.

- The designated certificate is not renewable. Please confirm if it has not already been renewed.

- CN in CSR do not match CN in renewal target order.

- The renewal is allowed in the validity period only 90 days before expiration and after 14 days after expiration.

- The status of renewal target order is invalid. Target order status must be "Issue completed"

-1 -9101 Illegal SAN Option

The SANS used in the ChangeSubjectAltName

request are invalid. The SANS option type must be

the same as the original order

Server Error Codes

Success Code

Error Code

Description Notes

-1 -1 Internal system error

The system has experienced an internal error. Cross-reference the appropriate API request action from Section 16.6. Please try to do what you were doing again, and if the problem persists, please report this error code to GlobalSign Support.

-1 -2 Network Connection Error

The GlobalSign system has experienced a network error. Cross-reference the appropriate API request action from Section .Please try to do what you were doing again, and if the problem persists, please report this error code to GlobalSign Support.

-1

-201 -204 -300 -301

Internal system error - Failed database operation

The system has experienced an internal error updating the database. Cross-reference the appropriate API request action from Section .Please try to do what you were doing again, and if the problem persists, please report the following error code to GlobalSign Support.

-1 -1001 Internal system error - CA connection error

The CA system has experienced a communication error. Your Order has been accepted and will be processed when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -1002 Internal system error - CA issuing error

The CA system has experienced an issuance process error. Your Order has been accepted and will be processed when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This

Page 62: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 62 of 72

Success Code

Error Code

Description Notes

process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -1003 Internal system error - CA revoke error

The CA system has experienced a revocation process error. Your Order has been accepted and will be processed when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -1004 Internal system error - CA connection error

The CA system has experienced a communication error. Your Order has been accepted and will be processed when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -2001 Internal system error - Email sending warning

The CA system has experienced an email sending error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4010 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4059 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4064 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4065 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4066 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4071 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -4072 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -6004 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -6005 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

-1 -6006 Internal system error

The system has experienced an internal error. Your Order has been accepted and the email will be automatically sent when the system recovers. Cross-reference the appropriate API request action from Section 16.6. This process may take some time. If the problem persists, please report the following error code to GlobalSign Support.

Page 63: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 63 of 72

16.6 Server Error Responses by API Request Type

If a Server Error code was received, the following table details the method of request processing, the

status of the order, and the remedial actions required. If a Client error code was received, then this

table is not applicable; the order/request/action was not processed.

API Request Flow Type to RA User Action

DVOrder batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

OVOrder batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

EVOrder batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

GSPVOrder batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

ModifyOrder CANCEL:real-time Revoke:batch

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

ResendEmail real-time processing Check email address the order was sent to. If the email was not resent, try the ResendEmail request again. For further problems, contact [email protected].

ReOrder batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

ValidateOrderParameters real-time processing Review API response for further details. If problem persists, contact [email protected].

GetApproverList real-time processing Review API response for further details. If problem persists, contact [email protected].

GetDVApproverList real-time processing Review API response for further details. If problem persists, contact [email protected].

GetOrderByOrderID real-time processing Review API response for further details. If problem persists, contact [email protected].

GetModifiedOrders real-time processing Review API response for further details. If problem persists, contact [email protected].

GetCertificateOrders real-time processing Review API response for further details. If problem persists, contact [email protected].

GetOrderByDataRange real-time processing Review API response for further details. If problem persists, contact [email protected].

DVOrderWithoutCSR batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

OVOrderWithoutCSR batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

ReOrderWithoutCSR batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

DeletePkcs12 batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

ChangeSubjectAltName batch processing

Query the GCC (via GUI or GetOrderByOrderID) to check status of the order. If order was not complete, try the order submission again. For further problems, contact [email protected].

Page 64: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 64 of 72

17. XML Field Definitions

This table lists all of the data types used in the API specification in alphabetical order.

DataType Description

String fixed-length character string

Boolean logical Boolean (true/false)

Int signed four-byte integer

DateTime YYYY-MM-DDTHH:MM:SS.000Z

XML Structure Description Type/Length <AddressLine1> Part of the Address structure. Contains the first line of the

address.

String/100

<AddressLine2> Part of the Address structure. Contains the second line of the address.

String/100

<AddressLine3> Part of the Address structure. Contains the third line of the address.

String/100

<Approver>

<ApproverType>

<ApproverEmail>

</Approver>

This is the <Approver> information for each Approver in the <ApproverList>. Today only the e-mail address is returned, but there could be other fields returned in the future.

<ApproverEmail> This is the email of the Approver – For DomainSSL and DV_LOW products the person responsible for approving the certificate order.

String/255

<ApproverEmailAddress> This is the email of the Approver – For DomainSSL and DV_LOW products the person responsible for approving the certificate order.

String/255

<ApproverType> The type of Approver email address. One of the following: Domain – From WHOIS data Generic – From the computed list

String/10

< Approvers>

(<Approver>)+

</Approvers>

<ApproverInfo>

<Email>

<FirstName>

<Function>?

<LastName>

<OrganizationName>

<OrganizationUnit>?

<Phone>

</ApproverInfo>

A Certificate Approver is a natural person who is Applicant, employed by Applicant, or an authorized agent who has express authority to represent Applicant to (i) act as a Certificate Requester and to authorize other employees or third parties to act as a Certificate Requester, and (ii) to approve Certificate Requests submitted by other Certificate Requesters.

<AuthorizedSignerInfo>

<FirstName>

<LastName>

(<Function>)?

<Phone>

<Email>

</AuthorizedSignerInfo>

A Contract Signer is a natural person who is Applicant, employed by Applicant, or an authorized agent who has express authority to represent Applicant who has authority on behalf of Applicant to sign Subscriber Agreements on behalf of Applicant.

<AuthToken>

<UserName>

<Password>

</AuthToken>

Used for partner authentication on each message posted to GlobalSign. This partner has to be set up by GlobalSign for API access.

<BaseOption> Options for the certificate. Currently allowed fields are: wildcard – certificate with * globalip – certificate with global ip address subaltname – certificate with alternative subject names

String /20

<BusinessAssumedName> String/255

<BusinessCategoryCode> Business Type String /20

<CACert> This is the content of a CA certificate in the certificate chain for the server certificate in Base64 encoded format.

String/4000

<CACertificate>

<CACertType>

<CACert>

</CACertificate>

This identifies the type of certificate for each CA certificate in the chain, and also contains the actual certificate.

Page 65: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 65 of 72

XML Structure Description Type/Length <CACertificates>

(<CACertificate>

<CACertType>

<CACert>

</CACertificate>)+

</CACertificates>

This is the list of CA certificates associated with the server certificate. If present, there must be one or more <CACertificate> fields in this structure. The Root certificate will always be present in this structure, and there may be one or more intermediate CA certificates.

<CACertType> The Type of CA certificate: ROOT or INTER String/15

<Campaign> Campaign can be used for payment。 String/50

<CertificateInfo>

<DNSNames>?

<CertificateStatus>

<CommonName>

<EndDate>

<SerialNumber>

<StartDate>

<SubjectName>

</CertificateInfo>)?

This structure contains information stored related to the certificate in various Query operations.

<CertificateStatus> The current status of a certificate. 1 - INITIAL 2 - Waiting for phishing check 3 - Cancelled - Not Issued 4 - Issue completed 6 - Waiting for revocation 7 - Revoked

Int

<CommonName> The common name in certificate. String/255

<CSRSkipOrderFlag> Boolean

<City> Part of the Address structure. String/200

<ContactInfo>

<FirstName>

<LastName>

<Phone>

<Email>

</ContactInfo>

Primary Contact Information of for a certificate request

<Country> Part of the Organization Address structure. The Country of the Organization. Must be a valid ISO country code.

String/2

<Coupon> Coupons can be used for payment。 String/50

<CreditAgency> The Organizations name. 1 – DUNS No. 2 – TDB code

String/50

<Currency> The Currency of the transaction String/10

<CSR> Certificate Signing Request. This is the Base64 encoded X.509 digital certificate signing request typically generated by the end user on their target web server. This is a critical element for all SSL orders.

String/4000

<DNSOrderFlag> Boolean

<DNSNames> Contains one or more DNSName values to be put into the certificate SubjectAltName extension. Each can be up to 64 characters. Values are comma delimited. Each DNSName may only contain alphanumeric values, plus dash and under bar – No periods.

String/300

<DomainName> The domain name for an Order. For an SSL Order this can be a fully qualified Domain (e.g., www.globasign.com) or possibly a wildcard domain (e.g., *.globalsign.com.

String/255

<DVCSRInfo>

<Country>

</DVCSRInfo>

CSR information for SKIP DVOrders.

<EndDate> Expired date of certificate. DateTime

<Email> From the ContactInfo structure. The Email Address of the contact.

String/255

<Error>

<ErrorCode>

(<ErrorField>)?

<ErrorMessage>

</Error>

A structure that contains an ErrorCode and an ErrorMessage. Error is part of the Errors structure.

<ErrorCode> A unique code identifying the error. Int

Page 66: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 66 of 72

XML Structure Description Type/Length <ErrorField> When there is a specific field that has caused the error, the

XML tag for that field is placed in this structure. Where the tag is not unique in the entire message, one or more tags precede this so this field can be uniquely identified. For example, if the <Phone> field was invalid in the <AdminContact> structure, the return code would have <AdminContact><Phone>.

String/1000

<ErrorMessage> A message describing an error in more detail. ErrorMessage is a part of the Error Structure

String/1000

<Errors>

(<Error>

<ErrorCode>

(<ErrorField>)?

<ErrorMessage>

</Error>)+

</Errors>

A list of the errors returned from a request. An Errors structure can have multiple Error elements. Errors is a part of the OrderResponseHeader structure. If present, this structure contains one or more errors.

<ErrorCode> Int

<ErrorField> String/1000

<ErrorMessage> String/1000

(<ExpressOption>)? To add Express Options set to true. If not false. Boolean

<Fax> From the OrganizationAddress structure. The Fax number for the organization.

String/30

<FirstName> From one of the Contact structures. The First Name of the contact.

String/100

<FQDN> Fully Qualified Domain Name String/255

<FromDate> The starting date used in various queries. DateTime

<Fulfillment>

<CACertificates>

(<CACertificate>

<CACertType>

<CACert>

</CACertificate>)+

</CACertificates>?

(<ServerCertificate>

<x509Cert>

<PKCS7Cert>

<ServerCertificate>)?

</Fulfillment>

Contains the CA certificate(s) and/or the ServerCertificate (in x509 and/or PKCS7 formats).

<Function> Requestor job function String/255

<GSSupportOption> To add GS Support set to true. If not false. Boolean

<IncorporatingAgencyRegistration

Number>

String/100

<InsuranceOption> To add Insurance Options set to true.If not false. Boolean

<IsValidDomainName> Returns true if the domain name is valid for a certificate orders

Boolean

<JurisdictionInfo>

< JurisdictionCountry> (<StateOrProvince>)?

(<Locality>)?

<IncorporatingAgencyRegistration

Number>

</JurisdictionInfo>

Jurisdiction of Incorporation Details

<KeyLength> String/4

<LastName> From one of the Contact structures. The Last Name of the contact.

String/100

<Licenses> This is the Number of Licenses. Int

1-99 Only

<Locality> The Locality field from the CSR or Certificate String/255

<ModificationEvent> One event in the set of ModificationEvents

<ModificationEventName> The name of the event. Examples include: Approver Confirmed Approver Rejected Certificate Cancelled Certificate Created Certificate Revoked Order Cancelled Order Completed Order Created Order Refunded

Int

Page 67: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 67 of 72

XML Structure Description Type/Length <ModificationEvents>

(<ModificationEvent>

<ModificationEventName>

<ModificationEventTimestamp>

</ModificationEvent>)+

</ModificationEvents>

The set of events for the order that caused the status to be changed within the specified time period. This is contained in OrderDetail. Used only in GetModifiedOrders.

<ModificationEventTimestamp> The time of the event DateTime

<ModifyOrderOperation> Specifies the operation to be performed on the order or certificate. APPROVE CANCEL REVOKE

String/20

<Months> The number of months that a certificate will be valid for. Int/4

<NotAfter> DateTime

<NotBefore> DateTime

<OrderDate> The date the order was created. DateTime

<OrderDetail>

<OrderInfo>

(<OrderOption>)?

(<CertificateInfo>)?

(Fulfillment>?

(<ModificationEvents>)?

</OrderDetail>

OrderDetail is returned in many Order Query operations. The specific content is dependent on the values in the request ModificationEvents is only returned (and only returned) in GetModifiedOrders.

<OrderKind> Type of order: new: a new request renewal: renewal of current certificate transfer: a commercial upgrade of a current valid certificate

String/10

<OrderID> This is the OrderID assigned by GlobalSign to the order and provided to the person requesting the certificate.

String/50

<OrderInfo>

<OrderID>

<ProductCode>

(<BaseOption>)?

<OrderKind>

<Licenses>

(<ExpressOption>)?

(<ValidityPeriodCustomizeOption>

)?

(<InsuranceOption>)?

(<GSSupportOption>)?

(<RenewalExtentionOption>)?

<DomainName>

<OrderDate>

(<OrderCompleteDate>)?

(<OrderCanceledDate>)?

(<OrderDeactivatedDate>)?

<OrderStatus>

<Price>

<Currency>

<ValidityPeriod>

<Months>

(<NotBefore>)?

(<NotAfter>)?

</ValidityPeriod>

(<SpecialInstructions>)?

</OrderInfo>

This structure contains basic information that apply to most orders and is profiled within each order response structure.

Page 68: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 68 of 72

XML Structure Description Type/Length <OrderOption>

<ApproverNotifiedDate>?

<ApproverConfirmDate>?

<ApproverEmailAddress>?

<OrganizationInfo>

<OrganizationName>

(<CreditAgency>)?

(<OrganizationCode>)?

<OrganizationAddress>

<AddressLine1>

(<AddressLine2>)?

(<AddressLine3>)?

<City>

<Region>

<PostalCode>

<Country>

<Phone>

(<Fax>)?

</OrganizationAddress>

</OrganizationInfo>

(<ContactInfo>

<FirstName>

<LastName>

<Phone>

<Email>

</ContactInfo>)?

</OrderOption>

This structure is in many order request messages and contains basic order information common to all types of

orders.

<OrderParameter>

<ProductCode>

(<BaseOption>)?

<OrderKind>

<Licenses>

(<ExpressOption>)?

(<ValidityPeriodCustomizeOption>

)?

(<InsuranceOption>)?

(<GSSupportOption>)?

(<RenewalExtentionOption>)?

<ValidityPeriod>

<Months>

(<NotBefore>)?

(<NotAfter>)?

</ValidityPeriod>

<CSR>

(<RenewalTergetOrderID)?

(<TargetCERT>)?

(<DNSNames>)?

(<SpecialInstructions>)?

(<Coupon>)?

(<Campaign>)?

</OrderParameter>

This structure is part of the order validation and order processes. It includes all details relating to the order and also the CSR for parsing.

Page 69: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 69 of 72

XML Structure Description Type/Length <OrderParameterWithoutCSR>

<ProductCode>

(<BaseOption>)?

<OrderKind>

<Licenses>

(<ExpressOption>)?

(<ValidityPeriodCustomizeOption>

)?

(<InsuranceOption>)?

(<GSSupportOption>)?

(<RenewalExtentionOption>)?

<ValidityPeriod>

<Months>

(<NotBefore>)?

(<NotAfter>)?

</ValidityPeriod>

<PIN>

<KeyLength>

(<RenewalTergetOrderID)?

(<TargetCERT>)?

(<DNSNames>)?

(<SpecialInstructions>)?

(<Coupon>)?

(<Campaign>)?

</OrderParameterWithoutCSR>

This structure is part of the order validation and order processes. It includes all details relating to the order without a CSR.

<OrderQueryOption>

(<OrderStatus>?)

(<ReturnOrderOption>?)

(<ReturnCertificateInfo>?)

(<ReturnFulfillment>?)

(<ReturnCACerts>?)

</OrderQueryOption>

Specifies what is returned in the response message. All values default to false if not supplied so the corresponding data structure will not appear in the response.

<OrderRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</OrderRequestHeader>

The OrderRequestHeader is used in all of the order operations.

<OrderResponseHeader>

<SuccessCode>

(<Errors>

(<Error>

<ErrorCode>

(<ErrorField>)?

<ErrorMessage>

</Error>)+

</Errors>)*

<Timestamp>

</OrderResponseHeader>

This is the header returned in all Order operations.

<OrderStatus>

The current status of an Order. 1 - INITIAL 2 - Waiting for phishing check 3 - Cancelled - Not Issued 4 - Issue completed 5 - Cancelled - Issued 6 - Waiting for revocation 7 - Revoked

Int

<OrderSubInfo>

<CSRSkipOrderFlag>

<DNSOrderFlag>

<TrustedOrderFlag>

<P12DeleteStatus>?

<P12DeleteDate>?

<VerificationUrl>?

<SubId>

</OrderSubInfo>

<Organization> The Organization field from the certificate String/255

<OrganizationCode> Can be used to indicate company numbers lookup eg. For DUNS enter 1 in this field.

String/50

Page 70: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 70 of 72

XML Structure Description Type/Length <OrganizationInfo>

<OrganizationName>

(<CreditAgency>)?

(<OrganizationCode>)?

<OrganizationAddress>

<AddressLine1>

(<AddressLine2>)?

(<AddressLine3>)?

<City>

<Region>

<PostalCode>

<Country>

<Phone>

<Fax>?

</OrganizationAddress>

</OrganizationInfo>

Organization Info sent with Certificate request.

<OrganizationInfoEV>

(<CreditAgency>)?

(<OrganizationCode>)?

(<BusinessAssumedName>)?

<BusinessCategoryCode>

<OrganizationAddress>

(<AddressLine1>)?

(<AddressLine2>)?

(<AddressLine3>)?

<City>

<Region>

<PostalCode>

<Country>

<Phone>

(<Fax>)?

</OrganizationAddress>

</OrganizationInfoEV>

Organization Info sent with Certificate request.

<OrganizationName> The name of the Organization applying for a certificate. String/255

<OrganizationUnit> The OrganizationalUnit name from the CSR. . String/255

<OVCSRInfo>

<OrganizationName>

(<OrganizationUnit>)?

<Locality>

<StateOrProvince>

<Country>

</OVCSRInfo>

Info to be used in the creation of the Certificate

(<ParsedCSR>

<DomainName>

<Country>

<Email>

<Locality>

<Organization>

<OrganizationUnit>

<State>

<IsValidDomainName>

</ParsedCSR>)?

Details from the CSR

<Password> Required for user authentication over the API String/30

<Phone> From one of the Contact or OrganizationAddress structures. String/30

<P12DeleteDate> DateTime

<P12DeleteStatus> Int

<PKCS12File> A bese64-encoded PKCS#12 String/4000

<PKCS7Cert> A Base64-encoded PKCS#7 String/20000

<PostalCode> From the Address structure. The Postal Code (e.g., Zip Code in the U.S.) for the Address

String/20

<ProductCode> A code for the product that a particular request relates to. Note that a partner must have a valid contract for a product code for it to be valid in a request. Also, a product code must be valid for the context of the request.

String/20

<QueryRequestHeader>

<AuthToken>

<UserName>

<Password>

</AuthToken>

</QueryRequestHeader>

The header on all Query Request operations.

Page 71: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 71 of 72

XML Structure Description Type/Length <QueryResponseHeader>

<Errors>?

<ReturnCount>

<SuccessCode>

<Timestamp>

</OrderResponseHeader>

<Region> Region, state/prov From the Address structure. This is the region of the address such as state or province. If this is a U.S. state it must have a valid 2 character abbreviation

String/255

<RenewalExtentionOption>> To add bonus to validity period set to true. If not false. Boolean

<ReOrderParameter>

<CSR>

<DNSNames>?

</ReOrderParameter>

<ReOrderParameterWithoutCSR>

<DNSNames>?

<PIN>

<KeyLength>

</ReOrderParameterWithoutCSR>

<RenewalTergetOrderID> Original OrderID for renewal orders. String/50

<RequestorInfo>

<FirstName>

<LastName>

(<Function>)?

<OrganizationName>

(<OrganizationUnit>)?

<Phone>

<Email>

</RequestorInfo>

A Certificate Requester is a natural person who is Applicant, employed by Applicant, or an authorized agent who has express authority to represent Applicant or a third party (such as an ISP or hosting company) that completes and submits a Certificate Request on behalf of Applicant.

<ResendEmailType> Current values are: ApproverEmail – resend the approver email for any QuickSSL order.

String/20

<ReturnCACerts> If set to true in the request message, the CACerts structure is populated in the Fulfillment structure of the response message.

Boolean

<ReturnCertificateInfo> If set to true in the request message, the CertificateInfo structure appears in the response message.

Boolean

<ReturnCount> The number of items returned in the message Int

<ReturnFulfillment> If set to true in the request message, the Fulfillment structure appears in the response message.

Boolean

<ReturnOrderOption> In the response, product information will be in details if set to true.

Boolean

<SearchOrderDetail>

<OrderID>

<BaseOption>?

<OrderKind>

<RequestKind>

<Licenses>

<OrderRequestDate>

<OrderIssueDate>?

<OrderCanceledDate>?

<OrderStatus>

<OrganizationName>

<Months>

<SubId>

<FQDN>

</SearchOrderDetail>

<SecondContactInfo> Secondary contact for this order

<SerialNumber> The serial number of a certificate specified as a hex string. String/64

<ServerCertificate>

<X509Cert>

<PKCS7Cert>

</ServerCertificate>

<SpecialInstructions> Special Instructions for the order String/4000

<StartDate> Start date of certificate. DateTime

<State> The value of the State in the ParseCSRResponse. String/255

Page 72: GlobalSign API for SSL Certificates · GlobalSign API for SSL Certificates ... in strict adherence the published CA/B Forum EV SSL guidelines covering certificate profile format,

GlobalSign API for SSL Certificates v4.3.4 Page 72 of 72

XML Structure Description Type/Length <StateOrProvince> String/255

(<SubID>)? Subscriber Agreement Version. Can be obtained with GetAgreement request

String/50

<SubjectName> The SubjectName in certificate. String/255

<SuccessCode> Code in the Order and Query Response Headers which indicates the success of failure of the request. A zero SuccessCode indicates a success with no warnings. A positive SuccessCode indicates a success with warnings. A negative SuccessCode indicates a failure. Note that if the Success in non-zero an accompanying Errors structure will be present.

Int

<TargetCERT> String/4000

<TargetOrderID> String/50

<Timestamp> A date timestamp used in a variety of contexts. Note that the XML format is: YYYY-MM-DDTHH:MM:SS.000Z (for example, 2001-01-01T24:00:00:000Z is for Jan 1, 2001 at midnight).

DateTime

<TrustedOrderFlag> Boolean

<UserName> Required for user authentication String/30

<ValidityPeriod>

<Months>

(<NotBefore>)?

(<NotAfter>)?

</ValidityPeriod>

The number of months that a certificate or site seal will be valid for. Defaults to 12 if not present.

<ValidityPeriodCustomizeOption> To customize the validity period set to true. If not false. Boolean

<VerificationUrl> An allowable URL which the metatag for URLVerification can occur on

String/300

<VerificationFQDN> An allowable FQDN which the DNS txt record for DNS Verification can occur on

String/300

<X509Cert> A base64-encoded certificate. String/4000