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: 中进行了定义。

客户端和服务器的任务

一个使用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

ZeroMQ接口函数之 :zmq_curve – 安全的认证方式和保密方式的更多相关文章

  1. ZeroMQ接口函数之 :zmq_plain - 明文认证

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_plain zmq_plain(7) ØMQ Manual - ØMQ/4.1.0 Name zmq_plain  ...

  2. ZeroMQ接口函数之 :zmq_proxy_steerable – 以STOP/RESUME/TERMINATE控制方式开启内置的ZMQ代理

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...

  3. ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html 本文地址 :http://www.cnblogs.com/fengbo ...

  4. ZeroMQ接口函数之 :zmq_getsockopt – 获取ZMQ socket的属性

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html 本文地址 :http://www.cnblogs.com/fengbo ...

  5. ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核

    官方网址:http://api.zeromq.org/4-0:zmq zmq(7) 0MQ Manual - 0MQ/3.2.5 Name zmq – ØMQ 轻量级消息传输内核 Synopsis # ...

  6. ZeroMQ接口函数之 :zmq_curve_keypair - 生成一个新的CURVE 密钥对

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_curve_keypair zmq_curve_keypair(3) ØMQ Manual - ØMQ/4.1.0 ...

  7. ZeroMQ接口函数之 :zmq_z85_decode – 从一个用Z85算法生成的文本中解析出二进制密码

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_z85_decode zmq_z85_decode(3)         ØMQ Manual - ØMQ/4.1 ...

  8. ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq-z85-encode zmq_z85_encode(3)          ØMQ Manual - ØMQ/4. ...

  9. ZeroMQ接口函数之 :zmq_tcp – 使用TCP协议的ØMQ网络单播协议

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-tcp zmq_tcp(7)          ØMQ Manual - ØMQ/4.1.0 Name zmq_t ...

随机推荐

  1. 苹果手机IOS中div contenteditable=true 仿文本域无法输入编辑

    问题: 在苹果手机IOS中 contenteditable="true" 做文本域输入,点击可以弹出键盘但是无法输入,安卓都正常. 经测试后,记得加一个样式 -webkit-use ...

  2. 进入OS前的两步之PendSV(任务切换)

    先了解下如何使用PendSV异常.(为何要使用PendSV而不是其他的异常,请参考<cortex-M3权威指南>) 1,如何设定PendSV优先级? NVIC_SYSPRI14 EQU 0 ...

  3. iOS开发UI中懒加载的使用方法

    1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其getter方法.说的通俗一点,就是在开发中,当程序中需要利用的资源时.在程序启动的时候不加载 ...

  4. Eclipse快捷键与使用技巧总结

    快捷键 功能 Ctrl + / 双斜杠注释 Ctrl + Shilft + / 块注释 Alt + / 代码提示 Ctrl + I (或 Ctrl + Shift + F) 格式化代码 Ctrl + ...

  5. PHP之static静态变量详解(一)

    什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在 ...

  6. Mac Pro 编译安装 Redis-3.2.3

    Redis官方下载地址:http://redis.io/download Redis安装 cd /usr/local/src/redis-3.2.3 sudo make sudo make insta ...

  7. mysql的DISABLE/ENABLE KEYS

    有一个表 tbl1 的结构如下: CREATE TABLE `tbl1` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(20 ...

  8. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  9. hihoCoder 1196 高斯消元·二

    Description 一个黑白网格,点一次会改变这个以及与其连通的其他方格的颜色,求最少点击次数使得所有全部变成黑色. Sol 高斯消元解异或方程组. 先建立一个方程组. \(x_i\) 表示这个点 ...

  10. [转]在MyEclipse中设置struts.xml自动提示功能

    导入标签:<%@ taglib uri="/struts-tags" prefix="s" %> 要想在MyEclipse中实现struts.xml ...