最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何基于command調(diào)用openssl生成私鑰證書

 更新時(shí)間:2020年08月05日 08:34:44   作者:護(hù)花使者  
這篇文章主要介紹了Java如何基于command調(diào)用openssl生成私鑰證書,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在windows環(huán)境下進(jìn)行的測試,前提條件,windows上需要先安裝openssl。

配置環(huán)境變量,查看版本:

import java.io.*;
import java.util.Properties;

public class OpensslCommand {
  private static void runCMD(String[] CMD) {
    java.lang.Process process = null;
    try {
      process = Runtime.getRuntime().exec(CMD);
      ByteArrayOutputStream resultOutStream = new ByteArrayOutputStream();
      InputStream errorInStream = new BufferedInputStream(process.getErrorStream());
      InputStream processInStream = new BufferedInputStream(process.getInputStream());
      int num = 0;
      byte[] bs = new byte[1024];
      while ((num = errorInStream.read(bs)) != -1) {
        resultOutStream.write(bs, 0, num);
      }
      while ((num = processInStream.read(bs)) != -1) {
        resultOutStream.write(bs, 0, num);
      }
      String result = new String(resultOutStream.toByteArray(), "gbk");
      System.out.println(result);
      errorInStream.close();
      processInStream.close();
      resultOutStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (process != null) process.destroy();
    }
  }
  public static void main(String[] args) throws Exception {
    //需要指定openssl.exe路徑
    //java生成私鑰
    String[] cmdPrivateKey = {"cmd", "/C", "C:\\soft\\OpenSSL-Win64\\bin\\openssl.exe genrsa -out ca.key 2048"};
    //java生成證書請求
    String[] cmdCertificationReq = {"cmd", "/C", "C:\\soft\\OpenSSL-Win64\\bin\\openssl.exe req -new -key ca.key -out ca.csr -subj /C=CN"};
    //java生成證書
    String[] cmdCertification = {"cmd", "/C", "C:\\soft\\OpenSSL-Win64\\bin\\openssl.exe x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt"};
    runCMD(cmdPrivateKey);
    runCMD(cmdCertificationReq);
    runCMD(cmdCertification);
    Properties props=System.getProperties(); //系統(tǒng)屬性
    System.out.println("用戶的當(dāng)前工作目錄:"+props.getProperty("user.dir"));
  }
}

對應(yīng)目錄下可以生成:

其中,ca.crt是自簽名證書文件。ca.key是私鑰。ca.csr只是生成證書的中間請求,是用來指定一些信息,這邊只指定國家為CN。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring高級注解之@DependsOn詳解

    Spring高級注解之@DependsOn詳解

    這篇文章主要介紹了Spring高級注解之@DependsOn詳解,@DependsOn注解可以定義在類和方法上,意思是我這個(gè)組件要依賴于另一個(gè)組件,也就是說被依賴的組件會(huì)比該組件先注冊到IOC容器中,需要的朋友可以參考下
    2024-01-01
  • Java多線程事務(wù)管理的實(shí)現(xiàn)

    Java多線程事務(wù)管理的實(shí)現(xiàn)

    本文主要介紹了Java多線程事務(wù)管理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java中BigDecimal類的簡單用法

    Java中BigDecimal類的簡單用法

    這篇文章主要介紹了Java中BigDecimal類的簡單用法,是Java應(yīng)用程序開發(fā)中非常實(shí)用的技巧,本文以實(shí)例形式對此進(jìn)行了簡單的分析,需要的朋友可以參考下
    2014-09-09
  • java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion問題解決方法

    java.lang.AbstractMethodError: org.apache.xerces.dom.Documen

    這篇文章主要介紹了java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion問題解決方法,導(dǎo)致本文問題的原因是缺少一個(gè)xerces.jar jar包,需要的朋友可以參考下
    2015-03-03
  • Java開發(fā)之HashMap的使用和遍歷

    Java開發(fā)之HashMap的使用和遍歷

    這篇文章主要介紹了Java開發(fā)之HashMap的使用和遍歷的相關(guān)資料,這里提供一個(gè)HashMap的簡單實(shí)例并結(jié)合List使用,需要的朋友可以參考下
    2017-08-08
  • Maven導(dǎo)入依賴時(shí)報(bào)錯(cuò)如何解決

    Maven導(dǎo)入依賴時(shí)報(bào)錯(cuò)如何解決

    這篇文章主要介紹了Maven導(dǎo)入依賴時(shí)報(bào)錯(cuò)如何解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事

    Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事

    變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲(chǔ)各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 可視化Swing中JTable控件綁定SQL數(shù)據(jù)源的兩種方法深入解析

    可視化Swing中JTable控件綁定SQL數(shù)據(jù)源的兩種方法深入解析

    以下是對可視化Swing中JTable控件綁定SQL數(shù)據(jù)源的兩種方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考一下
    2013-07-07
  • SpringBoot應(yīng)用啟動(dòng)失?。憾丝谡加脤?dǎo)致Tomcat啟動(dòng)失敗的問題分析與解決方法

    SpringBoot應(yīng)用啟動(dòng)失?。憾丝谡加脤?dǎo)致Tomcat啟動(dòng)失敗的問題分析與解決方法

    在開發(fā)和運(yùn)維過程中,應(yīng)用程序啟動(dòng)失敗是我們經(jīng)常遇到的一個(gè)問題,尤其是在 Web 應(yīng)用程序中,涉及到 Web 服務(wù)器的配置時(shí),今天我們將探討一個(gè)常見的啟動(dòng)錯(cuò)誤,尤其是在使用 Spring Boot 和內(nèi)嵌 Tomcat 服務(wù)器時(shí),需要的朋友可以參考下
    2024-11-11
  • Java spring定時(shí)任務(wù)詳解

    Java spring定時(shí)任務(wù)詳解

    這篇文章主要為大家詳細(xì)介紹了Spring定時(shí)任務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-10-10

最新評論

天门市| 曲阜市| 紫金县| 太仓市| 呼玛县| 辽宁省| 灵武市| 肇州县| 赫章县| 高要市| 蕲春县| 平顶山市| 扬州市| 洱源县| 北票市| 西峡县| 谷城县| 区。| 紫阳县| 玛沁县| 册亨县| 东平县| 靖安县| 柳州市| 临海市| 宁南县| 慈利县| 海宁市| 尖扎县| 临沂市| 佛坪县| 陵水| 桐柏县| 息烽县| 唐海县| 津市市| 靖州| 扬州市| 濮阳县| 随州市| 中牟县|