Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PKCS#8编码的rsa密钥与Flatter或android一起使用_Android_Flutter_Encryption_Rsa - Fatal编程技术网

将PKCS#8编码的rsa密钥与Flatter或android一起使用

将PKCS#8编码的rsa密钥与Flatter或android一起使用,android,flutter,encryption,rsa,Android,Flutter,Encryption,Rsa,我正在使用一台服务器,服务器将提供它的公钥,但它的格式是PKCS#8(因此RSA/ECB/OAEP带有SHA-1和MGF-1填充),我在这两个版本中发现的所有内容都使用PKCS#1,带有标准填充 服务器公钥也在pem文件中,因此使用base64获取密钥和解密密钥没有问题,但我找不到在密钥类型之间转换的方法 此外,任何加密消息都需要使用OAEP填充发送,以便服务器能够理解它 由于服务器端无法更改加密(由于其他现有前端),我想知道这是否可行 我试过了 看了 但两者都不支持OAEP填充 为澄清,公钥由

我正在使用一台服务器,服务器将提供它的公钥,但它的格式是PKCS#8(因此RSA/ECB/OAEP带有SHA-1和MGF-1填充),我在这两个版本中发现的所有内容都使用PKCS#1,带有标准填充

服务器公钥也在pem文件中,因此使用base64获取密钥和解密密钥没有问题,但我找不到在密钥类型之间转换的方法

此外,任何加密消息都需要使用OAEP填充发送,以便服务器能够理解它

由于服务器端无法更改加密(由于其他现有前端),我想知道这是否可行

我试过了

看了

但两者都不支持OAEP填充

为澄清,公钥由C++加密生成。然后将其编码为base64,并使用正确的头写入pem文件。根据文档,它使用

X509PublicKey
。我不确定我是否遗漏了什么


有没有办法通过flatter或本机代码实现这一点,因为flatter可以运行本机代码,但flatter代码是理想的?

PKCS#8格式的公钥?PKCS#8填充?是私钥的格式。公钥的格式为X.509/SPKI。这两种格式不是RSA独有的。相反,PKCS#1指定了基于RSA的公钥加密,请参见,例如填充(第7章)和密钥格式(第A.1章)。@Topaco,这是我的错,根据文档,公钥是从cryptopp获得的,并使用X509进行格式化,但仍然具有与PKCS#1不同的填充,我一直在用它检查填充。将编辑以澄清