Kamailio-开源SIP软交换平台

中国第一个专注Kamailio SIP 软交换技术分享平台

用户工具

站点工具


crypto_cryptographic_extensions_for_use_in_config_released

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

crypto_cryptographic_extensions_for_use_in_config_released [2017/09/11 11:01] (当前版本)
james_zhu 创建
行 1: 行 1:
 +====== CRYPTO Module ======
  
 +==== Daniel-Constantin Mierla ====
 +
 +''<​[[miconda@gmail.com|miconda@gmail.com]]>''​
 +
 +=== Edited by ===
 +
 +==== Daniel-Constantin Mierla ====
 +
 +''<​[[miconda@gmail.com|miconda@gmail.com]]>''​
 +
 +Copyright © 2016 asipto.com
 +
 +----
 +
 +**Table of Contents**
 +
 +  * **1. Admin Guide** ​
 +    * **1. Overview** ​
 +    * **2. Dependencies** ​
 +      * **2.1. Kamailio Modules** ​
 +      * **2.2. External Libraries or Applications** ​
 +    * **3. Parameters** ​
 +      * **3.1. salt (str)** ​
 +      * **3.2. register_callid (int)** ​
 +    * **4. Functions** ​
 +      * **4.1. crypto_aes_encrypt(text,​ key, res)** ​
 +      * **4.2. crypto_aes_decrypt(text,​ key, res)** ​
 +
 +**List of Examples**
 +
 +  * **1.1. Set salt parameter** ​
 +  * **1.2. Set register_callid parameter** ​
 +  * **1.3. crypto_aes_encrypt usage** ​
 +  * **1.4. crypto_aes_decrypt usage** ​
 +
 +====== Chapter 1. Admin Guide ======
 +
 +**Table of Contents**
 +
 +  * **1. Overview** ​
 +  * **2. Dependencies** ​
 +    * **2.1. Kamailio Modules** ​
 +    * **2.2. External Libraries or Applications** ​
 +  * **3. Parameters** ​
 +    * **3.1. salt (str)** ​
 +    * **3.2. register_callid (int)** ​
 +  * **4. Functions** ​
 +    * **4.1. crypto_aes_encrypt(text,​ key, res)** ​
 +    * **4.2. crypto_aes_decrypt(text,​ key, res)** ​
 +
 +===== 1. Overview =====
 +
 +This module provides various cryptography tools for use in Kamailio configuration file.
 +
 +It relies on OpenSSL libraries for cryptographic operations (libssl, libcrypto).
 +
 +===== 2. Dependencies =====
 +
 +==== 2.1. Kamailio Modules ====
 +
 +The following modules must be loaded before this module:
 +
 +  * none. 
 +
 +==== 2.2. External Libraries or Applications ====
 +
 +The following libraries or applications must be installed before running Kamailio with this module loaded:
 +
 +  * libcrypto - part of OpenSSL project ​
 +
 +===== 3. Parameters =====
 +
 +==== 3.1. salt (str) ====
 +
 +A keyword to generate salt for encryption. It must be at least 8 chars long. If set to empty, no salt is used for encryption.
 +
 +The salt is a binary array that is appended to the encryption password for better protection against dictionary attacks. Same salt and password need to be when encrypting and decrypting.
 +
 +Default value is "​..."​ (see code).
 +
 +**Example 1.1. Set ''​salt''​ parameter**
 +
 +<​code>​
 +...
 +modparam("​crypto",​ "​salt",​ "​l0Bh2M8a"​)
 +...
 +</​code>​
 +
 +\\ ==== 3.2. register_callid (int) ====
 +
 +Set it to 1 in order to register a callback to core for generation of callid values for requests generated by Kamailio tm module.
 +
 +This callid generator uses libssl random and hashing functions for generating RFC 4122 version 4 UUID with high quality entropy. It is useful when wanting to have new callids that cannot be predicted from previous values.
 +
 +Default value is 0.
 +
 +**Example 1.2. Set ''​register_callid''​ parameter**
 +
 +<​code>​
 +...
 +modparam("​crypto",​ "​register_callid",​ 1)
 +...
 +</​code>​
 +
 +\\ ===== 4. Functions =====
 +
 +==== 4.1. crypto_aes_encrypt(text,​ key, res) ====
 +
 +Encrypts the text with the key using AES encryption algorithm. The result is encoded in base64 format and stored in res. The parameter res must be a read-write variables. The parameters text and key can be static strings or strings with variables (dynamic strings).
 +
 +This function can be used from ANY_ROUTE.
 +
 +**Example 1.3. ''​crypto_aes_encrypt''​ usage**
 +
 +<​code>​
 +...
 +crypto_aes_encrypt("​$rb",​ "​my-secret-key",​ "​$var(encrypted)"​);​
 +...
 +</​code>​
 +
 +\\ ==== 4.2. crypto_aes_decrypt(text,​ key, res) ====
 +
 +Decrypts the text with the key using AES encryption algorithm. The text has to be encoded in base64 format. The parameter res must be a read-write variables. The parameters text and key can be static strings or strings with variables (dynamic strings).
 +
 +This function can be used from ANY_ROUTE.
 +
 +**Example 1.4. ''​crypto_aes_decrypt''​ usage**
 +
 +<​code>​
 +...
 +crypto_aes_decrypt("​$var(encrypted)",​ "​my-secret-key",​ "​$var(text)"​);​
 +...
 +</​code>​
 +
 +\\
crypto_cryptographic_extensions_for_use_in_config_released.txt · 最后更改: 2017/09/11 11:01 由 james_zhu