Spring Boot 創(chuàng)建并使用 Https 證書(shū)

Spring Boot Https 證書(shū)

接上篇文章開(kāi)源類似fir.im和蒲公英的App發(fā)布平臺(tái)夯到,為了使 iOS 能使用無(wú)線安裝,需要自建 HTTPS 證書(shū)

創(chuàng)建目錄和文件

mkdir -p CA/{certs,crl,newcerts,private}
touch CA/index.txt
touch CA/certs.db
touch openssl.cnf
echo 00 > CA/serial

設(shè)置配置

openssl.cnf

[ req ]
distinguished_name=req_distinguished_name
req_extensions=v3_req

[ req_distinguished_name ]
countryName=Country Name (2 letter code)
countryName_default=CN
stateOrProvinceName=State or Province Name (full name)
stateOrProvinceName_default=ZheJiang
localityName=Locality Name (eg, city)
localityName_default=HangZhou
organizationalUnitName=Organizational Unit Name (eg, section)
organizationalUnitName_default=Domain Control Validated
commonName=Internet Widgits Ltd
commonName_default=192.168.0.*
commonName_max=64

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = 192.168.0.110
DNS.2 = 192.168.0.111
# section for the "default_ca" option
[ca]
default_ca=my_ca_default

# default section for "ca" command options
[my_ca_default]
new_certs_dir=./CA/certs
database=./CA/certs.db
default_md = sha256
policy=my_ca_policy
serial        = ./CA/serial
default_days  = 365

# section for DN field validation and order
[my_ca_policy]
commonName             = supplied
countryName            = optional
stateOrProvinceName    = optional
localityName           = optional
organizationName       = optional
organizationalUnitName = optional
emailAddress           = optional

注意

[ alt_names ]
DNS.1 = 192.168.0.110
DNS.2 = 192.168.0.111

這里配置需要部署的域名或 IP 地址列表。

創(chuàng)建 CA

生成ca.key并自簽署

openssl req -new -x509 -days 3650 -keyout ca.key -out ca.crt -config openssl.cnf

創(chuàng)建服務(wù)器證書(shū)

生成server.key(名字不重要)

openssl genrsa -out server.key 2048

生成證書(shū)簽名請(qǐng)求

openssl req -new -key server.key -out server.csr -config openssl.cnf

Common Name 這個(gè)寫主要域名就好了(注意:這個(gè)域名也要在openssl.cnf的DNS.x里)

使用自簽署的CA庇勃,簽署server.scr

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -extensions v3_req -config openssl.cnf

創(chuàng)建 Spring Boot 所需證書(shū)

導(dǎo)出 pckcs12格式

openssl pkcs12 -export -in server.crt -inkey server.key -out server.pkcs12

導(dǎo)出 jks 格式

keytool -importkeystore -srckeystore server.pkcs12 -destkeystore server.jks -srcstoretype pkcs12

Spring Boot 配置

# 證書(shū)
server.port=443
server.ssl.key-store=classpath:server.pkcs12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=1

SpringBootApplication

@Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(9090);
        connector.setSecure(false);
        connector.setRedirectPort(8443);
        return connector;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陷舅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疟游,更是在濱河造成了極大的恐慌呼畸,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颁虐,死亡現(xiàn)場(chǎng)離奇詭異蛮原,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)另绩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門儒陨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人笋籽,你說(shuō)我怎么就攤上這事蹦漠。” “怎么了车海?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵笛园,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)研铆,這世上最難降的妖魔是什么埋同? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮棵红,結(jié)果婚禮上凶赁,老公的妹妹穿的比我還像新娘。我一直安慰自己逆甜,他們只是感情好哟冬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著忆绰,像睡著了一般浩峡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上错敢,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天翰灾,我揣著相機(jī)與錄音,去河邊找鬼稚茅。 笑死纸淮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亚享。 我是一名探鬼主播咽块,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼欺税!你這毒婦竟也來(lái)了侈沪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晚凿,失蹤者是張志新(化名)和其女友劉穎亭罪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體歼秽,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡应役,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了燥筷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箩祥。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肆氓,靈堂內(nèi)的尸體忽然破棺而出袍祖,到底是詐尸還是另有隱情,我是刑警寧澤做院,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布盲泛,位于F島的核電站濒持,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寺滚。R本人自食惡果不足惜柑营,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望村视。 院中可真熱鬧官套,春花似錦、人聲如沸蚁孔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杠氢。三九已至站刑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鼻百,已是汗流浹背绞旅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留温艇,地道東北人因悲。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像勺爱,于是被迫代替她去往敵國(guó)和親晃琳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1 概述 本文之所以稱之為半自動(dòng)化琐鲁,是因?yàn)樽C書(shū)的申請(qǐng)并非日常工作卫旱,只是一段時(shí)間才需要申請(qǐng),同時(shí)绣否,在創(chuàng)建證書(shū)和辦法證...
    ghbsunny閱讀 2,156評(píng)論 0 1
  • 【上一篇:openssl 自簽名證書(shū) - 安裝openssl(一)】 事前準(zhǔn)備 相關(guān):pem誊涯、key:私鑰文件,對(duì)...
    碼摻和_夏尼閱讀 8,014評(píng)論 0 5
  • 寫這篇文章的起因是遇到了需要本機(jī)配置支持HTTPS協(xié)議的情況蒜撮。 我們知道,因?yàn)镠TTPS的安全性跪呈,越來(lái)越多的網(wǎng)絡(luò)應(yīng)...
    Jason_M_Ho閱讀 13,045評(píng)論 1 8
  • 要加“m”說(shuō)明是MB段磨,否則就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms8...
    dadong0505閱讀 4,829評(píng)論 0 53
  • 他們說(shuō)歲月如歌,我們要把生活過(guò)成詩(shī)一樣優(yōu)雅耗绿,結(jié)果卻是過(guò)誠(chéng)了屎苹支,文不得武不得。 小時(shí)候聽(tīng)過(guò)一個(gè)邪后語(yǔ)误阻,狗屎做的鞭债蜜,文...
    逆行一生閱讀 237評(píng)論 0 0