Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please support client certificate identification for RPC/gRPC access #750

Open
gilbahat opened this issue Sep 8, 2024 · 0 comments
Open

Comments

@gilbahat
Copy link

gilbahat commented Sep 8, 2024

Feature description

Support client certificates as a method to identify the indexer to RPC/gRPC endpoints. This improves system security and stability by allowing the usage of private RPC endpoints for indexing, decreasing the effectiveness of an attack on the RPC endpoints.

Implementation proposal

Add two optional configuration fields to the node config yaml struct: client_certificate_pem and client_certificate_key.
the value of the first should be a filesystem path pointing to a PEM-encoded certificate file
the value of the second should be a filesystem path pointing to a PEM-encoded private key file with no password

The contents of these files should be validated and callisto should fail to start if they are not PEM files, passworded, mismatched, or unsupported by SSL libraries after decoding.

When initializing the HTTPS and GRPC clients, the certificate and key data should be passed as parameters to the clients, as per those clients' documentation.

This feature can be deemed complete once both RPC and gRPC endpoints configured for client certificate identification are successfully used by callisto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant