config.proto 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. syntax = "proto3";
  2. package v2ray.core.transport.internet.tls;
  3. option csharp_namespace = "V2Ray.Core.Transport.Internet.Tls";
  4. option go_package = "github.com/v2fly/v2ray-core/v4/transport/internet/tls";
  5. option java_package = "com.v2ray.core.transport.internet.tls";
  6. option java_multiple_files = true;
  7. message Certificate {
  8. // TLS certificate in x509 format.
  9. bytes Certificate = 1;
  10. // TLS key in x509 format.
  11. bytes Key = 2;
  12. enum Usage {
  13. ENCIPHERMENT = 0;
  14. AUTHORITY_VERIFY = 1;
  15. AUTHORITY_ISSUE = 2;
  16. AUTHORITY_VERIFY_CLIENT = 3;
  17. }
  18. Usage usage = 3;
  19. }
  20. message Config {
  21. // Whether or not to allow self-signed certificates.
  22. bool allow_insecure = 1;
  23. // List of certificates to be served on server.
  24. repeated Certificate certificate = 2;
  25. // Override server name.
  26. string server_name = 3;
  27. // Lists of string as ALPN values.
  28. repeated string next_protocol = 4;
  29. // Whether or not to enable session (ticket) resumption.
  30. bool enable_session_resumption = 5;
  31. // If true, root certificates on the system will not be loaded for
  32. // verification.
  33. bool disable_system_root = 6;
  34. /* @Document A pinned certificate chain sha256 hash.
  35. @Document If the server's hash does not match this value, the connection will be aborted.
  36. @Document This value replace allow_insecure.
  37. @Critical
  38. */
  39. repeated bytes pinned_peer_certificate_chain_sha256 = 7;
  40. // If true, the client is required to present a certificate.
  41. bool verify_client_certificate = 8;
  42. }