ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_curve
zmq_curve(7) ØMQ Manual - ØMQ/4.1.0
Name
zmq_curve – 安全的認證方式和保密方式
Synopsis
CURVE機制定義了一種安全的認證方式和保密方式,用於客戶端和服務器之間的交流。CURVE 計划用於工作在公網上。CURVE機制在RFC文檔 http://rfc.zeromq.org/spec:25 中進行了定義。 
        客戶端和服務器的任務
一個使用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 中進行了定義。
Z85算法被設計用來生成可打印字符組成的密鑰,用來在配置文件、命令行和代碼中使用。這里有一個使用C語言完成的接口描述:https://github.com/zeromq/rfc/tree/master/src
Test key values
作為測試,服務端使用下面這個長時有效密鑰對(以Z85加密的16進制表示):
公鑰:
BB88471D65E2659B30C55A5321CEBB5AAB2B70A398645C26DCA2B2FCB43FC518
Yne@$w-vo<fVvi]a<NY6T1ed:M$fCG*[IaLV{hID
密鑰:
7BB864B489AFA3671FBE69101F94B38972F24816DFB01B51656B3FEC8DFD0888
D:)Q[IlAW!ahhC2ac:9*A}h:p?([4%wOTJ%JR%cs
服務端將使用下面的密鑰對(以Z85加密的16進制表示):
公鑰:
54FCBA24E93249969316FB617C872BB0C1D1FF14800427C594CBFACF1BC2D652
rq:rM>}U?@Lns47E1%kR.o@n%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
更多 ZeroMQ API :http://www.cnblogs.com/fengbohello/p/4230135.html
翻譯:風波
mail : fengbohello@qq.com
