大侠去哪儿

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python Boto3库不支持加密客户端, 为了方便自测, 打算写个jar包. 查看Amazon官方API后, DEBUG, PACKAGE, 然后自测时傻眼: 

Exception in thread "main" java.lang.UnsupportedOperationException: More recent version of the Bouncy castle library is required to enable authenticated encryption
at com.amazonaws.services.s3.model.CryptoConfiguration.check(CryptoConfiguration.java:315)
at com.amazonaws.services.s3.model.CryptoConfiguration.<init>(CryptoConfiguration.java:78)
at MyS3Client.getClient(MyS3Client.java:114)
at MyS3Client.main(MyS3Client.java:41)

网上也有相关答案, 但全都不适配.

开始分析问题. 首先查看一个Ceph加密文件的用户元数据, 可以看到加密算法是AES/GCM/NoPadding.

 

谷歌之, 网上说这个算法是jdk不支持的, 需要下载bouncy castle(以下简称bc)的加密扩展包. 但bc这个扩展包已经在打包文件里了.

DEBUG jar包, 发现亮点, 原来是Java加密扩展不愿授权加载bc的provider. 

 

针对, 参照网友建议修改了java.security文件

/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/security:

 

 

验证通过.

 

posted on 2022-06-23 14:56  大侠去哪儿  阅读(203)  评论(0编辑  收藏  举报