申请免费的公信CA签发的服务器站点证书(无需注册, 无需等待) ...

打印 上一主题 下一主题

主题 560|帖子 560|积分 1680

前置条件 : 已经购买或租用的域名

操纵步调


  • 打开申请页面
  • 然后按照顺序填写上面的内容
  • 然后就签发成功了
好了下面是具体的步调
操纵步调


  • 打开页面
  • 步调一选择Let's Encrypt
  • 步调二域名填写你的域名
  • 证书私钥填写下面的证书私钥或者自己天生RSA2048的私钥也行
  • ACME账户私钥填写下面的账户私钥或者自己天生RSA2048的私钥也行
  • 邮箱填写自己的邮箱
  • 然后确认之后进入第二步
  • 域名管理添加子域名和text记录
  • 验证通过之后下载key文件和证书文件
    10.然后就可以得到一个服务器站点证书了
  • 需要pfx的可以通过工具将私钥和证书合并成pfx
更新证书时步调和上面一致
可以将账户私钥进行生存,方便更新使用
天生pfx
  1. package com.example.pfx;
  2. import com.example.demo.cipher.util.PfxUtil;
  3. import org.bouncycastle.util.encoders.Base64;
  4. import org.bouncycastle.util.encoders.Hex;
  5. import org.junit.jupiter.api.Test;
  6. import java.security.PrivateKey;
  7. import java.security.cert.Certificate;
  8. /**
  9. * @author lidg
  10. * @date 2023/9/11 12:08
  11. * @desc
  12. */
  13. public class PfxTest {
  14.     @Test
  15.     public void genPfxTest() throws Exception {
  16.         // 上面的证书私钥,p8格式的私钥
  17.         String privateKeyStr = "";
  18.         // 签发出来的证书
  19.         String cert = "";
  20.         // pfx的保护密码
  21.         String passwd = "12345678";
  22.         // 解析私钥
  23.         PrivateKey privateKey = PfxUtil.parsePrivateKey(Base64.decode(privateKeyStr));
  24.         //  解析证书
  25.         Certificate certificate = PfxUtil.parseCert(Base64.decode(cert));
  26.         // 生成pfx
  27.         PfxUtil.genPfx(privateKey, certificate, passwd, "myPfx.pfx");
  28.     }
  29. }
复制代码
PfxUtil.java
  1. /**
  2. * @author lidg
  3. * @date 2023/9/11 14:39
  4. * @desc
  5. */
  6. public class PfxUtil {
  7.     static {
  8.         // 注册bc库
  9.         Security.addProvider(new BouncyCastleProvider());
  10.     }
  11.     public static void genPfx(PrivateKey privateKey, Certificate certificate, String pwd, String outPath) throws Exception {
  12.         try (FileOutputStream fos = new FileOutputStream(outPath)) {
  13.             // 创建一个密钥存储对象,指定类型为PKCS#12
  14.             KeyStore keyStore = KeyStore.getInstance("PKCS12");
  15.             // 初始化密钥存储对象并设置口令
  16.             keyStore.load(null, null);
  17.             // 将私钥、公钥和证书添加到密钥存储对象中,指定别名和口令
  18.             // 指定一个别名
  19.             String alias = "myAlias";
  20.             keyStore.setKeyEntry(alias, privateKey, pwd.toCharArray(), new Certificate[]{certificate});
  21.             // 将密钥存储对象保存到文件或输出流中
  22.             keyStore.store(fos, pwd.toCharArray());
  23.         } catch (Exception e) {
  24.             throw new Exception("构造pfx失败", e);
  25.         }
  26.     }
  27.    
  28.    
  29.         public static PrivateKey parsePrivateKey(byte[] p8PrivateBytes) throws Exception {
  30.         // 创建一个私钥规范对象
  31.         PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(p8PrivateBytes);
  32.         // 创建一个密钥工厂对象
  33.         KeyFactory keyFactory = KeyFactory.getInstance("RSA");
  34.         // 生成一个私钥对象
  35.         PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
  36.         // 返回私钥对象
  37.         return privateKey;
  38.     }
  39.     public static Certificate parseCert(byte[] x509CertBytes){
  40.         try {
  41.             // 创建一个证书工厂对象,指定类型为X.509
  42.             CertificateFactory cf = CertificateFactory.getInstance("X.509");
  43.             // 生成一个证书对象
  44.             Certificate certificate = cf.generateCertificate(new ByteArrayInputStream(x509CertBytes));
  45.             // 返回证书对象
  46.             return certificate;
  47.         } catch (CertificateException e) {
  48.             System.out.println("解析失败");
  49.             throw new RuntimeException(e);
  50.         }
  51.     }
  52. }
复制代码
站点证书密钥对: RSA2048
  1. -----BEGIN PUBLIC KEY-----
  2. MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn1k/AMic9LR2GfyVUc1N
  3. UYpVEjnXf+UiI6EDSZVbsyAUmh9mSACIR+4UyyfUUaxHTzyUG7RtuNKVGGEx6dCg
  4. 5VKBoid9XfpeGJP7TEhYGBHqhGCv86yrStxsFojHO1HcEP5Gs0lXGZgDH7s6/NLO
  5. +KaCLu1MV4z7JBy/izl8nykBGUO2cykaY4j/4oGToC7Fgj8i8og72OcTZtGmwba7
  6. 6eMgux/IW9poHyhl/EF/mjSs+FQhvFkY4egGNk8g36Rp3bLI4YGWGXnc3UwRLGTL
  7. 1D1vTjxcgd3ABf33joHMznkfuOnCMpkFxXgJo9S4BUrlPNnGSN2zX3Tzn4CWe23v
  8. QQIDAQAB
  9. -----END PUBLIC KEY-----
  10. -----BEGIN PRIVATE KEY-----
  11. MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfWT8AyJz0tHYZ
  12. /JVRzU1RilUSOdd/5SIjoQNJlVuzIBSaH2ZIAIhH7hTLJ9RRrEdPPJQbtG240pUY
  13. YTHp0KDlUoGiJ31d+l4Yk/tMSFgYEeqEYK/zrKtK3GwWiMc7UdwQ/kazSVcZmAMf
  14. uzr80s74poIu7UxXjPskHL+LOXyfKQEZQ7ZzKRpjiP/igZOgLsWCPyLyiDvY5xNm
  15. 0abBtrvp4yC7H8hb2mgfKGX8QX+aNKz4VCG8WRjh6AY2TyDfpGndssjhgZYZedzd
  16. TBEsZMvUPW9OPFyB3cAF/feOgczOeR+46cIymQXFeAmj1LgFSuU82cZI3bNfdPOf
  17. gJZ7be9BAgMBAAECggEAKwlLfsavvVdP3kzddy5fh3o456c/kIct5TmDTchM79/m
  18. MInycdfS9rpSW1vyd+xzhe7ygVkFmTkmk2MMu/1gtw7FfCn2Lf+EklbFNCEFydps
  19. 4DvMyZ8E1D8b4iomxNqi+OPz7FAOehcYIOXMVKQKyhUOa+YjDDJDUcmB4fQwuDtJ
  20. r7YU29rRNK+2of5bnxofW4Yn+oMDTzt5PpHeIgQu84sDJa102du7ADdbCch1togC
  21. n41fuLODFkxuG1sPyGNA82gVLe4w8ssQsR2hC8E4qfJFuWDVcFVSfiFrqX+t4NzE
  22. 6Ls2Yn6RqvJIdc1dRzqM5WS+qp0J4s8UAGx7Fq/3AQKBgQDP8GWiIhzhswLfBMMy
  23. tVRlQ3P6qp+0LH/C8/xE1dUb6XYzzHV+ZK3Sa8anJdDIuAs429T7z6vKwFKON6Rs
  24. fuxYnwdyrwSh5x2Dx84vhkaRXAiTt+iJM30SGjHICJGluk6gAR5/JH0iFVy0o0eq
  25. kaLq7jG/jQDTXDiDyIacyImvyQKBgQDELcnSkUT1wrv/3X94CZsMkN2BBJT2uAy1
  26. mqY42O4Mp1x00brbL83PF33Qo9N6GCv7fnEof3YdzDMc0kbOA8NUUODI1TztPXfk
  27. vR3QY38RhYcv//zyeNwY128/Y/zjrAzLbQvH60R//C8vKjyXmK9D9H9azb5hFcsB
  28. DunXZ2gvuQKBgG3c87XAFEZjUEcIuyFVkOuXwfVUpOCLCk20nzq3R8thhCRGCGXp
  29. R7V/YAv7/N2v763w6AzLYlbTWkrttx/jx3fjPgon0mjANWXk8VlGto4idB2n82Ja
  30. I+Cmmlq3vEw1rUj4jmZanwqdAsgl5L2ICO3bP8mW9DK37Nwj3IuFoMmRAoGBAMD7
  31. Xf8Coniz8KZZaOxXXqv00cD6FePB19bJ49wmIb5W4I+WRR8bHnUq4bxdfEot/w4u
  32. KviwsivL1Tfz7mz4rKyDxywo//9MqWVdWDfHuJcu6Haidly74Z+aRbhxDrOUax2u
  33. DpnCaScRmATooqRqMXdCzAkyPaZZftJyrjwUYBwZAoGARab2YQ/HRd6wjT7fJ72O
  34. JtAdGm/7xSq628uGu+YXPPq/R8+VW0vqlMBPBN35VXUl2oAIp0vFcpbY8GQ+3hVl
  35. mOdQ/dwxoo90D2MvzicR+hoR2RxLosFPGqdDxYvtW26bpgRRXTBmo9/aOoHOKHSX
  36. sfmHpX0Ylk8MXWwnK4skbWI=
  37. -----END PRIVATE KEY-----
复制代码
ACME账户密钥对
  1. -----BEGIN PRIVATE KEY-----
  2. MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCcaXPAa/uf9z+3
  3. bCY9pxEStavGZTcy/1+uTzMSBEryuuCP6C/DlhALZu42Pz7id3ZB5smMvIaZNkUz
  4. El3mT/Du0j9HXAmEfd3sheniBE2dagewvdO24/0pg6V/QwtqVmxGvcxTZZ5Gi5ZE
  5. VKTmLiFVSZTTraEZEORw3nQKgS29mvGaPsi7A51XjOzJFQHCn7IJRk9rwZ+tx5Ah
  6. Fwy3/9cblsLeMM6HeE8EkH9NLfQbbXyJ/I8oYWU58eWLXFOuoSFRJ1Pi3JCXbWtC
  7. u4QwzhDnEzJsw1pk7E/EobZGsntjbPSie/AOKjOH/72UD23wvnqadfSa8EbpzCC3
  8. m7oVmu/hAgMBAAECggEATDUI47j5CVCTJ9A2tZU/uUjwn6JTCbLpMGmALYgP6EHr
  9. BdKP6xCjUprc92tLPVYNNUC39K0qO134y1Bolb1fW0zu7drG/FnDFemNMcT89/Rg
  10. ONnUXGiqwV5V9TJ6Tl47NSBmfD+npSF/nl1LVqclMIPAUn5nXmofk2qfSTr1SUqA
  11. 6kSj0w8KMsvwZ/IvXLNBqLSEHsqtVThmrm8kLHB8nwCEjFggIxjmuT2Iz3zCwb1w
  12. xdBiRcKEBakvnyD/+EBvoTjf1zMt76CYO9kLXvp/7HHsr/aGKLP+Bw149t0w7KNX
  13. K0gmkbF0BJk1J0a4K2DcfgohcxtlT1uCb/6GtR9B7QKBgQDKEmiZQejixHIUT37h
  14. w8UO2PP5z/T27OKUFWNEaya0ec3rUhjtsoX1dZi6YRWiNw0X/ZtUQIREUIHWvkID
  15. Jhs0QTZwUYljcP6J155YawSCm/sRAREEde9Y5MYoox1rp4enfFIvecE98tp06rc5
  16. ybvVmlPoDSxpFgEppixDysiOFwKBgQDGJ4tqXMnXICC6ihCy5a7N103k7FOjIlrQ
  17. vuPbcuak2EbktGgkuns24e/Kp4jbSdFUA8GGaVAGq3yJ2RVqTICitGVCZUMBIPYJ
  18. fkfzEO80rz9Xj/UFwkQ5YrAPMhabQpuqBC7qpc6tTF70RIUpPXVfebPAVN4eqkPF
  19. b+MpdRjkxwKBgGwLv8YCieWGqIDXqL5KkTlJI9r1KMRHETeg3/0bVgy1/DbRJOcj
  20. x6DhihJOCuU7jlK/lahM/uwQJ/yMqntIis8790HDNzTmnBNUKSSZxEWZ5XrIGTNL
  21. Y/kiChp8bSS85TnWrZMZBQx8p/ZP8jyB819ZL3gqYw6lZ2W/pndxHB9tAoGANW3e
  22. OpywU9A24vVtUT97JceDGlHar2cJA7Yk7DwMErC6VNqMJjMeHAtJw+Puk+pQhg3J
  23. NbvZtyKwHt8o1hOwr65ii0eQjJJdpOum7NRJG3SRaMPJNndOPAbvH/nKfKy2Gl6s
  24. Y9q3YqTwCX8cRKVsq4S+QgLgLXaNdYQYxUnsn2sCgYAo0HZD/gGSkXpnd4AX9o5o
  25. kKd9axVzD7dR/jjduxI9RgXcgjnyw8znHBLlsaOUYezaQ+wveHv+vWRtiB1wsvsF
  26. 1zu601485CYZ0iG06E9TdyBbt2VC3NTP5KNsfTBE7LHpK1XPtKByeuKawiEB07Mb
  27. II1esRSxKgKzNdFE2mQF+g==
  28. -----END PRIVATE KEY-----
复制代码
天生密钥对的网站
扩展
需要注册才能申请ssl证书的网站

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表