API Certificate Migration: v1.0 to v2.0
Migrations can be started with the command ModifyCertificate with the parameter MIGRATE=1. Submitting this parameter ignores the parameter APIVERSION and will try to copy the Certificate with all valid sub-certificates to the API 2.0.
To understand which status is possible for migration, skip to the “Sub-certificate Status” section below.
The migration will split the sub-certificates into new CertificateOrder and Certificate objects with new IDs. Each sub-certificate will be moved to a new dedicated Certificate object. These new objects will be linked to new CertificateOrder objects based on the orders at the CAs. i.e. a sub created with ReissueCertificate in the old API will be connected to the same CertificateOrder object as the previous Certificate. A sub-certificate created by AddCertificate or RenewCertificate will create a new CertificateOrder object.
The Certificate objects are linked together with the "parent" property in StatusCertificate.
ModifyCertificate will return a mapping between the old sub-id and the new CertificateID:
[COMMAND]
command = ModifyCertificate
certificate = CC1234567
migrate = 1
Response
[RESPONSE]
code = 200
property[MIGRATEDFROM][0] = CC1234567-001
property[MIGRATEDTO][0] = SC56564678
property[MIGRATEDFROM][1] = CC1234567-002
property[MIGRATEDTO][1] = SC34245259
After a migration, StatusCertificate of the "old" certificate will return the status "migrated" and the IDs of the new objects:
[COMMAND]
command = StatusCertificate
certificate = CC1234567
Response
[RESPONSE]
code = 200
[...]
property[MIGRATED_TO_CERTIFICATE][0] = SC56564678
property[MIGRATED_TO_CERTIFICATE][1] = SC34245259
property[MIGRATED_TO_CERTIFICATEORDER][0] = SCO54567847
property[MIGRATED_TO_CERTIFICATEORDER][1] = SCO54567847
[...]
property[STATUS][0] = migrated
[...]
property[SUB][0] = CC1234567-001
property[SUB][1] = CC1234567-002
property[SUB_STATUS][0] = migrated
property[SUB_STATUS][1] = migrated
[...]
To check if a certificate is eligible for migration the parameter "CHECKONLY = 1" can be used with "MIGRATE = 1". This will return a dummy - list of IDs if a migration would be successful and an error if the migration would fail.
Sub-Certificate Status
ACTIVE | Yes |
CANCELLED | Yes |
DELETED | Yes |
DELETE_PROCESSING | No |
DELETE_REQUESTED | No |
EXPIRED | Yes If no sub-certificate was active in the last 6 months (182 days), the certificate won't be migrated. Under API 2.0, expired certificates are removed after 6 months. |
FAILED | No |
ORDER_REQUESTED | No |
ORDER_PROCESSING | No |
REISSUE_REQUESTED | No |
RENEW_REQUESTED | No |
RENEW_PROCESSING | No |
REISSUE_PROCESSING | No |
REQUEST_PENDING | No |
REVOKED | Yes |