如何从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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值