的keyring_okv
插件是MySQL企业版的一个扩展,一个商业产品。要了解有关商业产品的更多信息,请参见https://www.10bet靠谱mysql.com/products/.
密钥管理互操作性协议(KMIP)支持密钥管理服务器与其客户端之间的加密密钥通信。的keyring_okv
keyring插件使用KMIP 1.1协议作为KMIP后端的客户端进行安全通信。密匙环材料完全由后端生成,而不是由keyring_okv
.该插件适用于以下与kmip兼容的产品:
Oracle密钥库
金雅拓SafeNet KeySecure设备
Townsend联盟密钥经理
的keyring_okv
插件支持组成标准MySQL Keyring服务接口的功能。由这些函数执行的密匙环操作可以在两个级别访问:
SQL接口:在SQL语句中,调用中描述的函数第6.4.4.14节通用密匙环密匙管理功能.
C接口:在C语言代码中,调用中描述的keyring服务函数第5.6.9.2节“密匙环服务”.
示例(使用SQL接口):
SELECT keyring_key_generate('MyKey', 'AES', 32);选择keyring_key_remove(“MyKey”);
所允许的键值的特征的信息keyring_okv
,章节6.4.4.12,“支持的Keyring密钥类型和长度”.
安装keyring_okv
的一般说明章节6.4.4.3,“Keyring插件安装”,以及特定于的配置信息keyring_okv
在这里找到。
不管哪个KMIP后端keyring_okv
插件用于密匙环存储keyring_okv_conf_dir
系统变量配置所使用的目录的位置keyring_okv
获取它的支持文件。默认值为空,所以在插件可以与KMIP后端通信之前,必须设置该变量来命名一个正确配置的目录。除非你这样做,keyring_okv
在服务器启动时向错误日志中写入一条不能通信的消息:
[警告]插件keyring_okv报告:'要初始化keyring_okv,请将keyring_okv_conf_dir变量指向包含Oracle密钥库配置文件和ssl材料的目录'
的keyring_okv_conf_dir
变量必须命名一个包含以下项的目录:
okvclient.ora
:包含KMIP后端详细信息的文件keyring_okv
通信。ssl
:包含与KMIP后端建立安全连接所需的证书和密钥文件的目录:CA.pem
,cert.pem
,key.pem
.如果密钥文件有密码保护,则ssl
目录可以包含一个单行文本文件password.txt
包含解密密钥文件所需的密码。
这两个okvclient.ora
文件和ssl
包含证书和密钥文件的目录keyring_okv
正常工作。使用这些文件填充配置目录的过程取决于所使用的KMIP后端keyring_okv
,如其他地方所述。
所使用的配置目录keyring_okv
作为它的支持文件的位置应该有一个限制模式,并且只有用于运行MySQL服务器的帐户可以访问。例如,在Unix和类Unix系统上,使用/usr/local/mysql/mysql-keyring-okv
目录中,执行以下命令(以根
)创建目录并设置目录的模式和归属:
CD /usr/local/mysql mkdir mysql-keyring-okv chmod 750 mysql-keyring-okv chown mysql mysql-keyring-okv CHGRP mysql mysql-keyring-okv
为了在服务器启动过程中可用,keyring_okv
必须使用——early-plugin-load
选择。另外,设置keyring_okv_conf_dir
系统变量keyring_okv
在哪里找到它的配置目录。例如,在服务器中使用这些行my.cnf
文件,调整所以
为您的平台提供必要的后缀和目录位置:
(mysqld) early-plugin-load = keyring_okv。所以keyring_okv_conf_dir = / usr /地方/ mysql / mysql-keyring-okv
欲了解更多有关keyring_okv_conf_dir
,请参阅章节6.4.4.18,“Keyring系统变量”.
这里的讨论假设您熟悉Oracle密钥库。一些相关的信息来源:
在Oracle密钥库术语中,使用Oracle密钥库存储和检索安全对象的客户端称为端点。要与Oracle密钥库通信,必须注册为端点,并通过下载和安装端点支持文件进行注册。
下面的程序简单总结了设置的过程keyring_okv
用于Oracle密钥库:
属性的配置目录
keyring_okv
插件使用。向Oracle密钥库注册端点以获得注册令牌。
使用注册令牌获取
okvclient.jar
客户端软件下载。安装客户端软件以填充
keyring_okv
配置目录,其中包含Oracle密钥库支持文件。
请按照以下步骤进行配置keyring_okv
和Oracle密钥库一起工作。本描述仅概括了如何与Oracle密钥库交互。详情请浏览Oracle密钥库网站,并咨询Oracle密钥库管理员指南。
创建包含Oracle密钥库支持文件的配置目录,并确保
keyring_okv_conf_dir
将系统变量设置为该目录的名称(有关详细信息,请参见keyring_okv常规配置).以具有“系统管理员”角色的用户登录Oracle密钥库管理控制台。
选择Endpoints选项卡到达Endpoints页面。在端点页面上,单击Add。
提供所需的端点信息并单击Register。端点类型应该是Other。成功注册将产生一个注册令牌。
从Oracle密钥库服务器注销。
再次连接到Oracle密钥库服务器,这次不需要登录。对象的注册和请求使用端点注册令牌
okvclient.jar
软件下载。将该文件保存到您的系统中。安装
okvclient.jar
使用以下命令(必须使用JDK 1.4或更高版本):Java -jar okvclient.jar -ddir_name(- v)
属性后面的目录名称
- d
选项是安装解压缩文件的位置。的- v
选项,如果给出,则会产生日志信息,在命令失败时可能有用。当命令要求提供Oracle密钥库端点密码时,不要提供。而是按“Enter”。(结果是当端点连接到Oracle密钥库时不需要密码。)
上面的命令会生成一个
okvclient.ora
文件,该文件应该在此位置的目录下- d
选项。java jar命令:install_dir / conf / okvclient.ora
文件内容包括如下所示的行:
服务器=host_ip:port_numSTANDBY_SERVER =host_ip:port_num
的
keyring_okv
控件命名的主机上运行的服务器服务器
变量并回落到STANDBY_SERVER
如果失败:为
服务器
变量中的设置okvclient.ora
文件是必填项。为
STANDBY_SERVER
变量中的设置okvclient.ora
文件是可选的。
进入Oracle Key Vault安装目录,运行以下命令测试安装:
okvutil / bin / okvutil列表
输出应该是这样的:
唯一ID类型标识255AB8DE-C97F-482C-E053-0100007F28B9对称密钥- 264BF6E0-A20E-7C42-E053-0100007FB29C对称密钥-
对于一个新的Oracle密钥库服务器(一个没有任何密钥的服务器),输出看起来像这样,以表明密钥库中没有密钥:
没有发现物体
使用此命令提取
ssl
目录中包含SSL材料okvclient.jar
文件:Jar xf okvclient.jar SSL
复制Oracle密钥库支持文件
okvclient.ora
文件和ssl
目录)进入配置目录。(可选)如果您希望对密钥文件进行密码保护,请使用密码保护keyring_okv密钥文件.
完成上述操作后,请重新启动MySQL服务器。它加载keyring_okv
插件和keyring_okv
使用其配置目录中的文件与Oracle密钥库通信。
Gemalto SafeNet KeySecure Appliance使用KMIP协议(版本1.1或1.2)。的keyring_okv
keyring插件(支持KMIP 1.1)可以使用KeySecure作为它的KMIP后端来存储keyring。
请按照以下步骤进行配置keyring_okv
和KeySecure一起工作。说明仅概述了如何与KeySecure交互。具体操作请参见《添加KMIP服务器》章节KeySecure用户指南.
创建包含KeySecure支持文件的配置目录,并确保
keyring_okv_conf_dir
将系统变量设置为该目录的名称(有关详细信息,请参见keyring_okv常规配置).在配置目录中创建名为
ssl
用于存储所需的SSL证书和密钥文件。在配置目录中创建一个名为
okvclient.ora
.它应该有以下格式:服务器=host_ip:port_numSTANDBY_SERVER =host_ip:port_num
例如,KeySecure运行在主机198.51.100.20上,监听端口9002
okvclient.ora
文件是这样的:服务器= 198.51.100.20:9002 STANDBY_SERVER = 198.51.100.20:9002
以具有证书颁发机构访问凭据的管理员身份连接到KeySecure管理控制台。
进入“Security >> Local CA”,创建本地证书颁发机构。
进入可信CA列表。选择Default并单击Properties。然后在“受信任的证书颁发机构列表”中选择“编辑”,并添加刚刚创建的CA。
下载CA并保存在
ssl
目录作为文件命名CA.pem
.导航到Security >> Certificate Requests并创建证书。然后你可以下载一个压缩的焦油包含证书PEM文件的文件。
解压下载文件中的PEM文件。例如,文件名为
csr_w_pk_pkcs8.gz
,解压并解压缩:Tar ZXVF csr_w_pk_pkcs8.gz
提取操作产生两个文件:
certificate_request.pem
而且private_key_pkcs8.pem
.使用这个openssl命令解密私钥,并创建一个名为
key.pem
:Openssl pkcs8 -in private_key_pkcs8. in private_key_pkcs8. inPem -out key.pem
复制
key.pem
档案到ssl
目录中。复制证书请求
certificate_request.pem
放入剪贴板。浏览“Security”>>本地ca。选择前面创建的同一个CA(下载来创建
CA.pem
文件),然后单击“签署请求”。粘贴剪贴板中的证书请求,选择客户端证书用途(keyring是KeySecure的客户端),单击“签名请求”。结果是在新页面中使用所选CA签名的证书。将已签名的证书复制到剪贴板,然后将剪贴板内容另存为名为
cert.pem
在ssl
目录中。(可选)如果您希望对密钥文件进行密码保护,请使用密码保护keyring_okv密钥文件.
完成上述操作后,请重新启动MySQL服务器。它加载keyring_okv
插件和keyring_okv
使用其配置目录中的文件与KeySecure通信。
您可以选择使用密码保护密钥文件,并提供一个包含密码的文件以使密钥文件能够解密。要这样做,请将位置更改为ssl
目录并执行以下步骤:
加密
key.pem
关键文件。例如,使用如下命令,并根据提示输入加密密码:Shell > openssl rsa -des3 -in密钥。Pem -out key.pem.new Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
将加密密码保存为单行文本文件
password.txt
在ssl
目录中。使用以下命令验证加密的密钥文件是否可以解密。解密后的文件应该显示在控制台上:
Shell > openssl rsa -in key.pem.new -passin file:password.txt
删除原始
key.pem
文件和重命名key.pem.new
来key.pem
.更改new的所有权和访问方式
key.pem
文件和password.txt
文件,以确保它们具有与文件中的其他文件相同的限制ssl
目录中。