On This Page

{#jumplink-list}  
[Markdown](/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-sdk-intro/restgs-sdk-key-intro/restgs-sdk-key-p12-intro.md)  
Filter  
FILTER BY TAG

Create a P12 Certificate {#restgs-sdk-key-p12-intro}
====================================================

This section describes how to create or submit a P12 certificate, extract the certificate's *private key*, and test the private key to verify that it works. A private key is necessary for you to construct JSON Web Tokens (JWTs).  
You can choose to create or submit a P12 certificate. *Create* a P12 certificate if you need a new certificate. *Submit* a P12 certificate if you want to use your own certificate.

(Optional) Meta Keys
:
If you are using a portfolio or merchant account, you have the option to create a *meta key* of a P12 certificate. Meta keys enable an organization administrator to assign a single P12 certificate to some or all transacting merchants in their organization. The purpose of a meta key is to reduce the time needed to manage an organization's keys. For example, by assigning the same meta key to all of your transacting merchants, you only need to update one key when it expires instead of having to update each transacting merchant's key.
:
For more information about meta keys, see the [Meta Key Creation and Management](https://developer.cybersource.com/docs/cybs/en-us/security-keys/user/all/ada/security-keys/keys-meta-intro.md "") section in the *Creating and Using Security Keys User Guide*.
{#restgs-sdk-key-p12-intro_d82e41}

Step 2A: Creating or Submitting a P12 Certificate {#restgs-sdk-key-p12-create}
==============================================================================

Follow these steps to create a P12 certificate file or submit your own certificate signing request (CSR):

1. Log in to the `Business Center`:
   * **Test:** [`https://businesscentertest.cybersource.com`](https://ebc2test.cybersource.com/ebc2/ "")
   * **Production:** [`https://businesscenter.cybersource.com`](https://ebc2.cybersource.com/ebc2/ "")
   2. On the left navigation panel, choose ![](/content/dam/documentation/cybs/en-us/common/images/ebc/ebc-icon-pymt-config.svg/jcr:content/renditions/original) Payment Configuration \&gt; Key Management.  
      ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/left-navigation.png/jcr:content/renditions/original)
   3. Click + Generate key on the Key Management page.  
      ![](/content/dam/documentation/cybs/en-us/topics/payments-processing/payment-services/sec-keys/images/generate-key.png/jcr:content/renditions/original)
   4. Under REST APIs, choose REST -- Certificate, and then click Generate key.  
      If you are using a *portfolio* account, the Key options window appears, giving you the choice to create a meta key. For more information about how to create a meta key, see *[Creating and Using Security Keys](https://developer.cybersource.com/docs/cybs/en-us/security-keys/user/all/ada/security-keys/keys-meta-intro.md "")*.  
      ![](/content/dam/documentation/cybs/en-us/topics/payments-processing/payment-services/sec-keys/images/p12-key-select.png/jcr:content/renditions/original)
2. Choose from these two options:
   1. If you are a creating a new P12 Certificate, click Download key ![](/content/dam/documentation/cybs/en-us/common/images/ebc/ebc-bttn-download.svg/jcr:content/renditions/original) .  
      ![](/content/dam/documentation/cybs/en-us/topics/payments-processing/payment-services/sec-keys/images/submit-key-blank.png/jcr:content/renditions/original)
   2. If you are submitting your own certificate, enter your public PEM-formatted certificate in the text box, then click Download key ![](/content/dam/documentation/cybs/en-us/common/images/ebc/ebc-bttn-download.svg/jcr:content/renditions/original) .  
      ![](/content/dam/documentation/cybs/en-us/topics/payments-processing/payment-services/sec-keys/images/submit-key-fill.png/jcr:content/renditions/original)
      {#restgs-sdk-key-p12-create_d62e28}
      {#restgs-sdk-key-p12-create_d62e28}
   3. Create a password for the certificate by entering one into the New Password and Confirm Password fields. Click Generate key.  
      ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/restgs-set-pass.png/jcr:content/renditions/original)  
      The *.p12* file downloads to your desktop.  
      If prompted by your system, approve the location to which the key downloads. {#restgs-sdk-key-p12-create_d62e58}
      {#restgs-sdk-key-p12-create_d62e58}

{#restgs-sdk-key-p12-create_d62e18}  
To create or submit another key, click **Generate another key**. To view all of your created keys, go to the Key Management page.

> IMPORTANT  
> Securely store the *.p12* file and password in your system. These credentials are required in order to implement certain products, and you must be able to access them.

Step 2B: Testing Your Private Key {#restgs-sdk-key-p12-test}
============================================================

After creating your key certificate, you must verify that it can successfully process API requests. This task explains how to test and validate your private key in the Developer Center and the `Business Center`.  
Follow these steps:

1. Go to the Developer Center's API Reference page:  
   [https://developer.cybersource.com/api-reference-assets/index.html#payments_payments_static-home-section](https://developer.cybersource.com/api-reference-assets/index.md#payments_payments_static-home-section "") {#restgs-sdk-key-p12-test_d33e29}
   {#restgs-sdk-key-p12-test_d33e29}
2. On the left navigation panel, click **[API Endpoints \& Authentication](https://developer.cybersource.com/api-reference-assets/index.md#static-api-endpoints-section "")**.{#restgs-sdk-key-p12-test_d33e42}
   {#restgs-sdk-key-p12-test_d33e42}
3. Under Authentication and Sandbox Credentials, go to the Authentication Type drop-down menu and choose **JSON Web Token**.{#restgs-sdk-key-p12-test_d33e52}
   {#restgs-sdk-key-p12-test_d33e52}
4. Enter your organization ID in the **Organization** field.{#restgs-sdk-key-p12-test_d33e61}
   {#restgs-sdk-key-p12-test_d33e61}
5. Enter your Password in the **Password** field.
6. Click **Browse** and upload your p12 certificate from your desktop.{#restgs-sdk-key-p12-test_d33e80}
   {#restgs-sdk-key-p12-test_d33e80}
7. Click **Update Credentials**.  
   A confirmation message states that your credentials are successfully updated.  
   ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/restgs-cert-test.png/jcr:content/renditions/original) {#restgs-sdk-key-p12-test_d33e89}
   {#restgs-sdk-key-p12-test_d33e89}
8. Go to the Developer Center's API Reference and navigate to **Payments \&gt; `POST` Process a Payment**.{#restgs-sdk-key-p12-test_d33e104}
   {#restgs-sdk-key-p12-test_d33e104}
9. Click **Send**.  
   ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/restgs-dev-center-ex.png/jcr:content/renditions/original)  
   A message confirms that your request was successful with the status code 201.  
   ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/rstgs-success-201.png/jcr:content/renditions/original) {#restgs-sdk-key-p12-test_d33e116}
   {#restgs-sdk-key-p12-test_d33e116}
10. Log in to the `Business Center`:  
    [`https://businesscentertest.cybersource.com`](https://ebc2test.cybersource.com/ebc2/ "") {#restgs-sdk-key-p12-test_d33e135}
    {#restgs-sdk-key-p12-test_d33e135}
11. On the left navigation panel, choose ![](/content/dam/documentation/cybs/en-us/common/images/ebc/ebc-icon-trxn-mgmt.svg/jcr:content/renditions/original) **Transaction Management \&gt; Transactions**.{#restgs-sdk-key-p12-test_d33e150}
    {#restgs-sdk-key-p12-test_d33e150}
12. Under Search Results, verify that the request ID from the test authorization response is listed in the Request ID column.  
    If the test authorization was successful, a success message is present in the corresponding Applications column.  
    ![](/content/dam/documentation/cybs/en-us/topics/platform/rest/getting-started/images/restgs-verify-key-pair.png/jcr:content/renditions/original) {#restgs-sdk-key-p12-test_d33e162}
    {#restgs-sdk-key-p12-test_d33e162}  
    RELATED TO THIS PAGE

* [Getting Started with REST](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-intro.md)
* [Response Codes](https://developer.cybersource.com/api/reference/response-codes.md)
* [API Field Reference Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/rest-api-fields-intro.md)
* [API Reference Sandbox](https://developer.cybersource.com/api-reference-assets/index.md#static-home-section)
* [Business Center Test](https://businesscentertest.cybersource.com/ebc2/)
* [Business Center Production](https://businesscenter.cybersource.com/ebc2/)
* [Customer Support](https://support.visaacceptance.com/)

