Documentation Index
Fetch the complete documentation index at: https://docs.zodia-custody.com/llms.txt
Use this file to discover all available pages before exploring further.
Your company must be onboarded before you can invoking the APIs.
To complete this setup, generate a key pair for your company. We will refer to these keys as:
- company_pri_key for the private key
- company_pub_key for the public key
These keys must be RSA keys (encoded in base 64) with a minimum size of 2048 bits.
Once generated, share the public key company_pub_key with customerservice@zodia.io
WARNING: You must never share the private key company_pri_key with anyone including Zodia staff. This private key must be stored securely
How To Generate Keys For A Company
Below is an example of how to generate a key pair for the company named ZTEST:
import os
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa
def generate_rsa_keypair(company):
rsa_private_key = rsa.generate_private_key(public_exponent=65537,
key_size=2048, backend=default_backend())
private_key_pem = rsa_private_key.private_bytes(serialization.Encoding.PEM,
serialization.PrivateFormat.PKCS8,
serialization.NoEncryption())
with open(os.path.join("keys", company + ".private.pem"), "wb") as private_key_out:
private_key_out.write(private_key_pem)
rsa_public_key = rsa_private_key.public_key()
public_key_pem = rsa_public_key.public_bytes(serialization.Encoding.PEM,
serialization.PublicFormat.SubjectPublicKeyInfo)
with open(os.path.join("keys", company + ".public.pem"), "wb") as public_key_out:
public_key_out.write(public_key_pem)
if __name__ == '__main__':
generate_rsa_keypair("ZTEST")
# Private key "company_pri_key" can be found in the file "ZTEST.private.pem"
# Public key "company_pub_key" can be found in the file "ZTEST.public.pem"