![](/img/trans.png)
[英]How can I tell what version of PGP BouncyCastle has implemented in their Java implementation of PGP encription?
[英]BouncyCastle PGP textmode in Java implementation does not convert to CR/LF
有什么方法可以在BouncyCastle PGP加密Java实现中指定文本模式?
我试过了,但是没有运气(用UNIX行结尾加密并在Windows中解密):
PGPLiteralDataGenerator pgpldg = new PGPLiteralDataGenerator(false);
OutputStream ldout = pgpldg.open(compout, PGPLiteralData.TEXT, name, data.length, PGPLiteralData.NOW);
RFC 4880,OpenPGP,5.9。 文字数据包(标签11)定义了在文本模式下,数据应使用<CR><LF>
行尾进行编码:
文本数据与文本结尾(即,网络普通行结尾)一起存储。 这些应由接收软件转换为本地行尾。
GnuPG正在这样做( --compress-algo 0
禁用压缩,-- --store
仅将输入包装在文字数据包中):
$ echo -e "foo\nbar" | gpg2 --textmode --compress-algo 0 --store | hexdump -c
0000000 � 020 t \0 X \b � u f o o \r \n b a r
0000010 \r \n
0000012
仔细阅读BouncyCastle的PGPLiteralDataGenerator
和其他称为类的源代码 ,我找不到BouncyCastle在执行此(必需)转换的单个跟踪。 我所能找到的就是他们将编码写入标头( t
, u
或b
)。 这是一个BouncyCastle错误。 如果您报告它,他们可能会解决它,否则(或直到那时),您必须自己添加回车符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.