ZeroMQ接口函數之 :zmq_curve – 安全的認證方式和保密方式


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 APIhttp://www.cnblogs.com/fengbohello/p/4230135.html

 

翻譯:風波

mail : fengbohello@qq.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM