Android: AndroidKeyStore 对数据进行签名和验证,卑微打工人

本文详细介绍了如何使用Android KeyStore系统对数据进行RSA签名和验证。通过KeyPairGenerator初始化密钥对,然后使用Signature进行签名和验证操作。代码示例包括设置签名参数、密钥对生成、签名数据以及验证签名的过程。
摘要由CSDN通过智能技术生成

.setDigests(KeyProperties.DIGEST_SHA256)

.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)

.setBlockModes(KeyProperties.BLOCK_MODE_GCM, KeyProperties.BLOCK_MODE_CTR,

KeyProperties.BLOCK_MODE_CBC, KeyProperties.BLOCK_MODE_ECB)

// .setBlockModes(KeyProperties.BLOCK_MODE_GCM/CTR/CBC/ECB)

.setCertificateSerialNumber(BigInteger.valueOf(1337))

.setCertificateNotBefore(start.getTime())

.setCertificateNotAfter(end.getTime())

.build();

}

KeyPairGenerator kpGenerator = KeyPairGenerator

.getInstance(SecurityConstants.TYPE_RSA,

SecurityConstants.KEYSTORE_PROVIDER_ANDROID_KEYSTORE);

kpGenerator.initialize(spec);

KeyPair kp = kpGenerator.generateKeyPair();

Log.d(“huangxiaoguo”, "公共密钥: " + kp.getPublic().toString());

Log.d(“huangxiaoguo”, "私钥: " + kp.getPrivate().toString());

}

/**

  • 签名

  • @param inputStr

  • @return

  • @throws KeyStoreException

  • @throws CertificateException

  • @throws NoSuchAlgorithmException

  • @throws IOException

  • @throws UnrecoverableEntryException

  • @throws InvalidKeyException

  • @throws SignatureException

*/

public static String signData(String inputStr) throws KeyStoreException, CertificateException,

NoSuchAlgorithmException, IOException, UnrecoverableEntryException,

InvalidKeyException, SignatureException {

byte[] data = inputStr.getBytes();

//AndroidKeyStore

KeyStore ks = KeyStore.getInstance(SecurityConstants.KEYSTORE_PROVIDER_ANDROID_KEYSTORE);

// 如果你没有InputStream加载,你仍然需要

//称之为“负载”,或者它会崩溃

ks.load(null);

if (mAlias == null) {

setAlias(SAMPLE_ALIAS);

}

//从A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值