| Crates.io | tonic-tls |
| lib.rs | tonic-tls |
| version | 0.6.0 |
| created_at | 2024-11-27 05:15:48.722368+00 |
| updated_at | 2025-08-11 05:24:21.298306+00 |
| description | Tls wrappers for tonic. |
| homepage | |
| repository | https://github.com/youyuanwu/tonic-tls |
| max_upload_size | |
| id | 1462678 |
| size | 92,796 |
tonic-tls provides various tls backend plugins for grpc crate tonic.
Add to Cargo.toml of your project. Choose openssl backend:
tonic-tls = { version="*" , default-features = false, features = ["openssl"] }
# change features to "rustls" etc to enable other backends.
For full examples see examples
// Server example for openssl:
use openssl::ssl::SslAcceptor;
use tonic_tls::openssl::TlsIncoming;
let addr = "127.0.0.1:1322".parse().unwrap();
let inc = TlsIncoming::new(TcpIncoming::bind(addr).unwrap(), acceptor);
Server::builder()
.add_service(some_service)
.serve_with_incoming(inc);
// client example for openssl:
async fn connect_tonic_channel(
endpoint: tonic::transport::Endpoint,
ssl_conn: openssl::ssl::SslConnector
) -> tonic::transport::Channel {
endpoint.connect_with_connector(tonic_tls::openssl::TlsConnector::new(
&endpoint,
ssl_conn,
"localhost".to_string(),
)).await.unwrap()
}
This project is licensed under the MIT license.