如何从CERTIFICATE文件中抽取PUBLIC KEY

抽取前: -----BEGIN CERTIFICATE----- MIIDtjCCAx+gAwIBAgIQXIanT45PgITMoV2yUE9EbDANBgkqhkiG9w0BAQUFADAk MQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBMB4XDTE0MDcwOTA4 MTMxM1oXDTE2MDcwMzA2NTUwM1owfDELMAkGA1UEBhMCQ04xFTATBgNVBAoTDENG Q0EgVEVTVCBDQTENMAsGA1UECxMEVEVTVDESMBAGA1UECxMJQ3VzdG9tZXJzMTMw MQYDVQQDFCowNDFAWjAzNTA1ODIxOTc5MDUzMTIwMTFAY25jYnRlc3RAMDAwMDAw MDEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMkBfqOtA1QPOSS6UEge/pdO fRtegEF7WrwdCGNwP5FCIgNIfqNN99FVSOCASv234vzFkiF4/CgVbDiCf+lAg3Ys MlSA9uCOW9ejg+Bhso6L09Qht771syFUrOX2jf38VuHLUCGPRyOc2exqRyjsvDvK MKziZoJBk/wYI7iqtsHXAgMBAAGjggGPMIIBizAfBgNVHSMEGDAWgBRGctwlcp8C TlWDtYD5C9vpk7P0RTAdBgNVHQ4EFgQUKxGjDYv6hBevitPVCIJHSiJroVIwCwYD VR0PBAQDAgTwMAwGA1UdEwQFMAMBAQAwOwYDVR0lBDQwMgYIKwYBBQUHAwEGCCsG AQUFBwMCBggrBgEFBQcDAwYIKwYBBQUHAwQGCCsGAQUFBwMIMIHwBgNVHR8Egegw geUwT6BNoEukSTBHMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENB MQwwCgYDVQQLEwNDUkwxEzARBgNVBAMTCmNybDEyNl8zMTIwgZGggY6ggYuGgYhs ZGFwOi8vdGVzdGxkYXAuY2ZjYS5jb20uY246Mzg5L0NOPWNybDEyNl8zMTIsT1U9 Q1JMLE89Q0ZDQSBURVNUIENBLEM9Q04/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz dD9iYXNlP29iamVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MA0GCSqGSIb3 DQEBBQUAA4GBAMUfsbhrAM0XDB3P1qppqa26qJCvOqngIT1DgAcZgVmLysJPvtji fkJU4XgQVP3Hb5u3KcSyXqIip0kvpBOBbXVbc6S5/2AocNgr77sdGLdy/QQrHl7m tbbqz8MS5b6T3S4hb7t3RTFdhH+vWHGzQSA5zBQpNztMq34qTZjfySWz -----END CERTIFICATE-----

抽取后: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJAX6jrQNUDzkkulBIHv6XTn0bXoBBe1q8HQhj cD+RQiIDSH6jTffRVUjggEr9t+L8xZIhePwoFWw4gn/pQIN2LDJUgPbgjlvXo4PgYbKOi9PUIbe+ 9bMhVKzl9o39/Fbhy1Ahj0cjnNnsakco7Lw7yjCs4maCQZP8GCO4qrbB1wIDAQAB -----END PUBLIC KEY-----

代码如下:

<!-- lang: java -->

    FileInputStream file = new FileInputStream("server.cer");
    CertificateFactory ft = CertificateFactory.getInstance("X.509");
    X509Certificate certificate = (X509Certificate)ft.generateCertificate(file);
    PublicKey publicKey = certificate.getPublicKey();
    BASE64Encoder b64 = new BASE64Encoder();
    System.out.println("-----BEGIN PUBLIC KEY-----");
    System.out.println(b64.encode(publicKey.getEncoded()) );
    System.out.println("-----END PUBLIC KEY-----");

转载于:https://my.oschina.net/bea/blog/357843

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值