Hadoop-3.2.1支持OpenSSL-1.0.x实现加密操作(基于Hadoop KMS的HDFS透明加密),目标是测试Hadoop-3.2.1通过OpenSSL调用底层硬件的方法,本文作为探索过程中的记录,避免忘记修改内容;
修改定位
加密功能类在Hadoop-ccommon包下, 调用OpenSSL的相关类有两个,分别为:
src\main\java\org\apache\hadoop\crypto\OpensslCipher.java //用于通过JNI调用底层OpenSSLsrc\main\java\org\apache\hadoop\crypto\OpensslAesCtrCryptoCodec.java // 提供加解密入口,提供加解密功能入口src\main\native\src\org\apache\hadoop\crypto\OpensslCipher.c // OpenSSL调用使用JNI定义文件src\main\native\src\org\apache\hadoop\crypto\org_apache_hadoop_crypto.h // 头文件,用于定义LONG_TO_ENGINE函数src\main\java\org\apache\hadoop\fs\CommonConfigurationKeysPublic.java // 配置信息,新增engine_id的配置key
修改内容
git patch制作: https://www.jianshu.com/p/ec04de3f95cc
git 多个commit合并: https://www.jianshu.com/p/964de879904a
