我正在尝试对消息进行编码,SH1 RSA但我没有安全主题的经验,除了一些基本信息RSA.我被给了一个私钥作为String.我已经设法写下面的代码块来完成这项工作,但我不确定我是否正确地安全地完成了这项工作.
我不是专家,但在代码中将我的私钥作为String放置是不安全的我猜.谁能指导我?
String privateKeyString = "mykeyhere...";
byte[] privateKeyBytes = privateKeyString.getBytes();
String encodedPrivateKey = Base64.encodeToString(privateKeyBytes, Base64.URL_SAFE);
KeyFactory factory = KeyFactory.getInstance(RSA);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encodedPrivateKey.getBytes());
RSAPrivateKey privateKey = (RSAPrivateKey) factory.generatePrivate(keySpec);
Signature instance = Signature.getInstance(ALGORITHM);
instance.initSign(privateKey);
instance.update(content.getBytes());
return new String(instance.sign());
Run Code Online (Sandbox Code Playgroud)
我的私钥形式如下:
"-----BEGIN PRIVATE KEY-----\n"+
"MIIE...\n"+
"cH0iRj...\n"+
"O0Hhj...\n"+
.
.
.
"fG6...\n"+
"B6/hF...\n"+
"3Mq38...\n"+
"-----END PRIVATE KEY-----\n"
Run Code Online (Sandbox Code Playgroud) All.I我正在开发一个android项目.我需要生成一个RSA密钥对,然后使用它们与其他人进行通信.我需要将私钥和公钥存储在一个安全的地方,我发现可以使用KeyStore.
我看到KeyStore可以存储KeyStore.PrivateKeyEntry,但它需要一个Certificate []链.我试图创建它但失败了......
是否有人可以粘贴一些用于存储私钥和公钥的示例代码.
非常感谢!
自API 23开始不推荐使用KeyPairGeneratorSpec。如何处理此警告?
示例代码:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
kpg.initialize(new KeyPairGeneratorSpec.Builder(context).build());
Run Code Online (Sandbox Code Playgroud)