PKI相关知识-002:对原文进行签名验签

本文介绍如何使用Java处理PKI,通过Base64编码的公私钥对原文进行签名和验证。在转换公私钥时遇到错误,提示仅支持RSAPublicKeySpec和X509EncodedKeySpec用于RSA公共密钥,以及RSAPrivateKeySpec和PKCS8EncodedKeySpec用于RSA私有密钥。解决方法是使用适当的KeySpec类型。同时,提到了可以直接生成密钥对的简化方法。
摘要由CSDN通过智能技术生成

需求

需求是通过上次生成的Base64字符串的公私钥,对原文进行签名验签操作。

代码

import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;

public class SignAndVerify {
    public static void main(String[] args) throws Exception{
        String publicKeyStr = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh935xAb7re5Nw4z2VcGCDXdQebePxvhfZrqnjeF43CKXwtASM6O9Z3QgwI6qVQbKQCbq4p2i9kE4VgFw+4X4qQT1p+re3/iZ7K6MINaBKRL0JmiZA1cWQ06tji27C5LwRpSHSjSNAU/f1zdl6spkWn9vk6FZBOo8uGLq8Dw8QoI2jb+63nHg5HDy6GGRRBoHl/sOylsWG34FtrF1g7JdYvqPFhJsIBw/xEF3p0OaaOgiahEz0jPj1lpPIp4NhcwDMzXvrVW5hhzcWeZiI1BvgknbTEfMOxKUfO6bA/36YTamS3Wdv00YbuvYXmJo/4S8KEJ5vQmxVugTpk9b7Cj+RQIDAQAB";
        String privateKeyStr = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值