RSA Key Pair Generation and Storage
For each agent created, the API generates an RSA key pair consisting of a public key and a private key. The key pair is generated using a modulus length of 4096 bits. The generated keys are stored in the MySQL database along with other agent information.
Key Generation Process
When a new agent is created, the API performs the following steps to generate the RSA key pair:
- Generates an RSA key pair using the
crypto.generateKeyPairSync
method with the following options:- Algorithm: RSA
- Modulus Length: 4096 bits
- Public Key Encoding: PKCS#1 format in PEM encoding
- Private Key Encoding: PKCS#1 format in PEM encoding
- The generated public key and private key are converted to string representations.
- The public key string is stored in the
pubKey
field of the agent's record in the MySQL database. - The private key string is stored in the
privKey
field of the agent's record in the MySQL database.
Example
When a new agent is created, the API generates an RSA key pair. Let's assume the key generation process produces the following keys:
-
Public Key:
-----BEGIN RSA PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyDRa5PEVYl2T3EzvG1on ... d8Ou9azXQIDAQAB -----END RSA PUBLIC KEY-----
-
Private Key:
-----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEAyDRa5PEVYl2T3EzvG1onC4vPwL... ... 8RTgJ8SPaHv/SmB2DhYO98C6HpU= -----END RSA PRIVATE KEY-----
The generated keys are then stored in the agent's record in the MySQL database.