.NET gRPC secure communication without using trusted certificates

I'm experimenting with gRPC in .NET and trying to understand some aspects that I couldn't find answers to so far.

The scenario I have is a self hosted gRPC service (running as a Window Service), which should be allowed to install on any host, and be connected to from any remote or local client. The use case is a simple request -> response communication. Client fires a request, waits for service to respond, etc.

The bit I'm struggling to understand is how to have a secure communication between the client and the server so that the data is not transmitted in plain text, without having to use a trusted CA certificate, or have the client user (a human user) action anything to trust the certificate. Essentially, the trust is automated. I'm aware of the implications of not using a CA certificate, I just want to have an encrypted communication.

One thing I found here in the section Encrypted Server is to generate a public/private keys and use the public key from the client when connecting to the service. However, I haven't found anywhere how to achieve the same with the .NET gRPC implementation. Also with this method, is there any expiry involved? Reason I ask is I want a setup where the certificate (or mechanism used to secure communication) doesn't expire.

To sum up, is it possible with the .NET gRPC implementation to have an encrypted communication while either having TLS/HTTPS disabled, or generating a non expiring certificate and automating the trust?