ZeroMQ介面函式之 :zmq_curve – 安全的認證方式和保密方式
zmq_curve(7) ØMQ Manual - ØMQ/4.1.0
Name
zmq_curve – 安全的認證方式和保密方式
Synopsis
CURVE機制定義了一種安全的認證方式和保密方式,用於客戶端和伺服器之間的交流。CURVE 計劃用於工作在公網上。CURVE機制在RFC文件 中進行了定義。
客戶端和伺服器的任務
一個使用CURVE的socket在任何時候既可以是客戶端也可以說伺服器,但不能同時兼任兩者。bind/connect的任務是獨立進行的。
一個socket可以在任意時刻通過修改屬性來改變工作方式。工作方式的改變會影響在改變之後呼叫的所有zmq_bind和zmq_connect函式。
想要使一個socket作為CURVE服務端使用,應用程序需要設定socket的ZMQ_CURVE_SERVER屬性,然後設定ZMQ_CURVE_SECRETKEY屬性來為這個socket提供長期有效的密碼。應用程序不需要提供給這個socket長期的公共金鑰,這個金鑰只在客戶端使用。
想要使一個socket作為CURVE客戶端使用,應用程式需要使用這個socket想要連線到的服務端的長期公鑰設定自己的ZMQ_CURVE_SERVERKEY屬性;或者緊接著接受到來的連線請求。然後,應用程式用它的客戶端的長期金鑰對設定ZMQ_CURVE_PUBLICKEY 和ZMQ_CURVE_SECRETKEY屬性。
如果服務端要使用認證方式,那麼它將基於客戶端的長期有效公鑰。
Key encoding
在原始碼中,金鑰的標準形式是基於base 256(二進位制資料)的32B資料,或者使用Z85演算法生成的基於base 85的40B的資料,Z85演算法在RFC文件 http://rfc.zeromq.org/spec:32 中進行了定義。
Test key values
作為測試,服務端使用下面這個長時有效金鑰對(以Z85加密的16進製表示):
公鑰:
BB88471D65E2659B30C55A5321CEBB5AAB2B70A398645C26DCA2B2FCB43FC518
[email protected]
金鑰:
7BB864B489AFA3671FBE69101F94B38972F24816DFB01B51656B3FEC8DFD0888
D:)Q[IlAW!ahhC2ac:9*A}h:p?([4%wOTJ%JR%cs
服務端將使用下面的金鑰對(以Z85加密的16進製表示):
公鑰:
54FCBA24E93249969316FB617C872BB0C1D1FF14800427C594CBFACF1BC2D652
rq:rM>}[email protected]%[email protected]%FcmmsL\/@{H8]yf7
金鑰:
8E0BDD697628B91D8F245587EE95C5B04D48963F79259877B49CD9063AEAD3B7
JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6
See also
zmq_z85_encode(3) zmq_z85_decode(3) zmq_setsockopt(3) zmq_null(7) zmq_plain(7) zmq(7)
Authors
This page was written by the ØMQ community. To make a change please read the ØMQ Contribution Policy at http://www.zeromq.org/docs:contributing.
Web site design and content is copyright (c) 2007-2012 iMatix Corporation. Contact us for professional support. Site content licensed under the Creative Commons Attribution-Share Alike 3.0 License. ØMQ is copyright (c) Copyright (c) 2007-2012 iMatix Corporation and Contributors. ØMQ is free software licensed under the LGPL. ØMQ, ZeroMQ, and 0MQ are trademarks of iMatix Corporation. Terms of Use — Privacy
Policy
翻譯:風波
mail : [email protected]