ZMQ_GSSAPI(7)
π ZMQ_GSSAPI π
okay bestie, this is zmq_gssapi(7) from the 0MQ manual, and it's literally the page about secure authentication and confidentiality. it's giving "we're being responsible with our sockets" and honestly? we love that for us. π«Ά
β¨ NAME β¨
zmq_gssapi β secure authentication and confidentiality π
πΈ SYNOPSIS πΈ
so the GSSAPI mechanism defines a whole mechanism for secure authentication and confidentiality for communications between a client and a server, using the Generic Security Service Application Program Interface (GSSAPI). yes that's a mouthful. yes it's iconic. π
the GSSAPI mechanism can be used on both public and private networks. GSSAPI itself is defined in IETF RFC-2743: http://tools.ietf.org/html/rfc2743
and the ZeroMQ GSSAPI mechanism is defined by this document: http://rfc.zeromq.org/spec:38
no cap, those links are the lore. π
π CLIENT AND SERVER ROLES π
a socket using GSSAPI can be either client or server, but not both. pick a lane bestie, you can't be the main character and the love interest. π
- to become a GSSAPI server, the application sets the
ZMQ_GSSAPI_SERVERoption on the socket. - to become a GSSAPI client, the application sets the
ZMQ_GSSAPI_SERVICE_PRINCIPALoption to the name of the principal on the server to which it intends to connect.
and on client or server, the application may additionally set the ZMQ_GSSAPI_PRINCIPAL option to provide the socket with the name of the principal for whom GSSAPI credentials should be acquired. if this option is not set, default credentials are used. easy. β¨
π OPTIONAL ENCRYPTION π
by default, the GSSAPI mechanism will encrypt all communications between client and server. locked down. sealed. no one's reading your texts. π
but if encryption is not desired (e.g. on private networks), the client and server applications can disable it by setting the ZMQ_GSSAPI_PLAINTEXT option.
β οΈ heads up: both the client and server must set this option to the same value. matching vibes only, or it's not gonna work.
π¦ PRINCIPAL NAMES π¦
principal names specified with the ZMQ_GSSAPI_SERVICE_PRINCIPAL or ZMQ_GSSAPI_PRINCIPAL options are interpreted as "host based" name types by default.
the ZMQ_GSSAPI_PRINCIPAL_NAMETYPE and ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE options may be used to change the name type to one of these:
ZMQ_GSSAPI_NT_HOSTBASEDβ the name should be of the form"service"or"service@hostname", which will parse into a principal of"service/hostname"in the local realm. this is the default name type. πZMQ_GSSAPI_NT_USER_NAMEβ the name should be a local username, which will parse into a single-component principal in the local realm. π§ZMQ_GSSAPI_NT_KRB5_PRINCIPALβ the name is a principal name string. this name type only works with the krb5 GSSAPI mechanism. ποΈ
β SEE ALSO β
zmq_setsockopt(3) zmq_null(7) zmq_curve(7) zmq(7)
go read those too, they're all in the same friend group. π
π AUTHORS π
this page was written by the 0MQ community. to make a change please read the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing
like, please actually read it before you push. we're all besties here but the contribution policy is the contribution policy. π
and that's the whole page, bestie! this was 0MQ 4.3.5, dated 10/09/2023, and the page is ZMQ_GSSAPI(7). slay, you're now GSSAPI literate. go secure something. π
β¨π
π¦ where this page comes from
- epel 10: zeromq 4.3.5-18.el10_0 Β· MPL-2.0 AND BSD-3-Clause AND MIT
- fedora 43: zeromq 4.3.5-22.fc43 Β· MPL-2.0 AND BSD-3-Clause AND MIT
- fedora 43: zeromq 4.3.5-22.fc43 Β· MPL-2.0 AND BSD-3-Clause AND MIT
- fedora 44: zeromq 4.3.5-22.fc43 Β· MPL-2.0 AND BSD-3-Clause AND MIT
- fedora 44: zeromq 4.3.5-22.fc43 Β· MPL-2.0 AND BSD-3-Clause AND MIT
- opensuse-leap 16.0: zeromq-devel 4.3.5-160000.2.2 Β· MPL-2.0
- opensuse-leap 16.0: zeromq-devel 4.3.5-160000.2.2 Β· MPL-2.0
- opensuse-leap 16.0: zeromq-devel 4.3.5-160000.2.2 Β· MPL-2.0
- opensuse-leap 16.0: zeromq-devel 4.3.5-160000.2.2 Β· MPL-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms