×

Create a CSR (Certificate Signing Request)

Using the PSD2 API requires a valid eIDAS certificate (QWAC) to validate your TPP registration. If you are currently in the process of obtaining a PSD2 license, but you do not have a valid QWAC yet, you can request a test certificate. Using this certificate you will be able to try out the PSD2 API sandbox.

Obtaining the certificate involves the following steps:

  1. Create a CSR (Certificate Signing Request).
  2. Send the CSR via the feedback form of the developer portal.
  3. Optionally you will be asked to send additional documents, that proof that you are in the process of obtaining a TPP license.
  4. Afterwards we will send you the demo certificate.

Create a CSR

A CSR or Certificate Signing Request is a block of encoded text that is given to a Certificate Authority when applying for an SSL Certificate. It is usually generated on the server where the certificate will be installed and contains information that will be included in the certificate such as the organization name, common name (domain name), locality, and country. It also contains the public key that will be included in the certificate. A private key is usually created at the same time that you create the CSR, making a key pair. In this description we will use OpenSSL to perform the required steps to create a CSR.

  1. First generate a private key with the following command:

    openssl genpkey -algorithm RSA -des3 -out private_demo.key -pkeyopt rsa_keygen_bits:4096
    
    INFO
    Please make sure that the generated private key is stored in a secure place.
  2. In the next step create a text file (my_demo_csr.cfg), that contains the information about your company:

    my_demo_csr.cfg

    oid_section = OIDs
    
    [ req ]
    distinguished_name = req_distinguished_name
    prompt = no
    
    [ OIDs ]
    OrganizationIdentifierOID=2.5.4.97
    
    [ req_distinguished_name ]
    C = DE
    L = Munich
    O = TPP client
    CN = website.clientpp.com
    OrganizationIdentifierOID = PSDDE-NDGIT-{client-id}
    

    Please change entries C/L/O/CN/OrganizationIdentifierOID according to your company name and location.

    WARNING
    Attention
    1. for OrganizationIdentifierOID please preserve PSDDE-NDGIT-{client-id} format, while {client-id} (in the example line 15) should be replaced with your ID at the NCA or any other unique name (like e.g. your company name: PSDDE-NDGIT-MyCompanyName).
    2. for CN please use the domain (w/o using protocol like e.g. “https://”) that also provides access to your redirect URIs (if you will use such during the strong customer authentication (SCA)) otherwise API requests containing non-matching redirect URIs will get rejected.
  3. In the third step generate the CSR with the following command:

    openssl req -new -key private_demo.key -out demo.csr -config my_demo_csr.cfg
    
    WARNING
    In case you face the following error:
    problem creating object OrganizationIdentifierOID=2.5.4.97
    4651048384:error:08064066:object identifier routines:OBJ_create:oid exists:crypto/objects/obj_dat.c:709:
    

    Then you are using one of the latest versions of OpenSSL which has OID 2.5.4.97 already included.

    To solve this, please use the adapted version of the config file:

    my_demo_csr.cfg

    [ req ]
    distinguished_name = req_distinguished_name
    prompt = no
    
    [ req_distinguished_name ]
    C = DE
    L = Munich
    O = TPP client
    CN = website.clientpp.com
    organizationIdentifier = PSDDE-NDGIT-{client-id}
    

    Then you should be able to generate the CSR without getting an error.

    The content of the resulting file demo.csr should look similar to this one:

    demo.csr

    -----BEGIN CERTIFICATE REQUEST-----
    MIIEqzCCApMCAQAwZjELMAkGA1UEBhMCREUxDzANBgNVBAcMBk11bmljaDEnMCUG
    A1UECgweTkRHSVQgRGVtbyBUUFAgUGF5bWVudCBTZXJ2aWNlMR0wGwYDVQQDDBRQ
    U0RERS1OREdJVC1ERU1PVFBQMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
    ggIBAMBnWUuTK4Y7iur+RlIiRKRTrmlKwPITfNWnDt0WW9/1FB3Ci9ce7jJiPNzf
    iEVLetagfhyfUCpHTadRr+vyEoo+e7vsRBSgvr3Wod26XYVknOwHbYjSZM5B+MEA
    ZCGwGomDp3fYiuZkY6asav+6rbFYgL5fA2tsBQ/2I3i1Sf13mVplTmXl4Qgd5uT5
    Y2H0QfqekzRke0mTR1Zv7wephb5q80gfZEi/Gqmh6vBVETRJbF6wC4dcCN5OfwBY
    Cq5lVohfU7R4upr8CFQIefK1oRhYEVKFAmSiM9igW8QFyZ2Gt/Y7OUOAlh63csnm
    LIUqZ67lFTBZTYBFT34xW6ZoImHLD7cWLkF4jLytUGbN58Me0uQ3t0WKF7soerXA
    a0uGov5uiKvBXiHZWxkrvd38TLgE6wr3LoMpy0klka6AyTbGLY71bkKADhptmhN9
    ZHaNt8RyqLrlpYLN9cymku/uM+xsx4Obp8AQvPA0TFo8XPfkavjHuW47pGouT0fa
    eI4Mp19gPkAaMfXC91oQWKGi+LIlK6knPGPL73O7fbvOO4GyM673MHn/+fmZsIK/
    UljJ8MuhNxqBC+QuBFu4P97n3ulVMXRfR/qdifpir/9kyUWgxEQUm4xbUO4jzdio
    0OlapZu+0crjm5kwg3BvfaoyTeWuVrJDxtCQuslkBnUGhih3AgMBAAGgADANBgkq
    hkiG9w0BAQsFAAOCAgEAOgd4O4GIeD5BDKoq8dt/3XLPvQnhCu+to+3kzCTHGlM/
    6EOPWz1tg+MF+c1nVLplT1WrnyDlfT8oy6CG36GwGd4ewfe4gx0Tw7E2fFbEGTzm
    H6T5ZXDP7EWYX8oNIMdvHadJ0lU0DJXB/zSZbPWLE+gdoDHQGdyzRNAFVZjgNEXs
    CtC03DY3YOvfbohDAjIXi0NyG+VhuVRKVr+rtDhPTfGTVrYJ5hfB50jO/u+URF1b
    ZeQwr82oDJBaeZGWmnxNUG3uDMAP7gen3NKeP8jqrbPN8p6He01HMGjCl//WvsVy
    bG4EPB6Xri/tuno+R5wcecGKILd3tBjACEKx6CBOVEA4pxuYYvIC85T1agbU3fRz
    Y89iiSytFY+e8HErKEUvR7wA0CkdB62FIggteneZxeG0G5266L0NYqN7q4Xc3BtS
    9Fjzhcc3w9mW2SWiyR4r0IO3+T1HO6EQu0qw7w3f5jjjcoA9JxBgvfG34wgvlW0Y
    YoAEHMptaVCa6+0MWY2UiC8/ezAyNL+FFwjgJxXU66ydP9pbe/JtV5euc1XKp9G2
    YNM1EIUQCEhBX+jtWMUWip3su2mTfNPIGSuGAuVJV4RBxtEkWk1B+4qSpLcXHTrl
    JTZFqQZFdvH86vxqH9wR9vHF0OJyTod9/JV5IHM0BKS0846z92rPigIVa4dJLtY=
    -----END CERTIFICATE REQUEST-----
    

Send the CSR

Afterwards send the created CSR via the feedback form in the developer portal. Please put the CSR into the subscription section.

Optional: Provide additional Documents

If the information you provided is not sufficient to prove your TPP status, we might ask you to provide additional documents.

Receive Demo Certificate

Finally, we will send you a signed certificate, which you can use to test the PSD2 sandbox.