1樓:匿名使用者
你是打算自己電腦上生成ssl?還是打算伺服器上新增ssl?如果是自己電腦上生成ssl的話你去看這個**:
如何生成ssl證書和key
2樓:聚妍ssl證書
生成ssl證書步驟:1.將csr提交到證書服務商->2.
資料提交到ca機構->3.傳送驗證郵件到管理員郵箱->4.郵件驗證->5.
頒發證書。之後你可以自己安裝證書或者讓工作人員給你安裝證書。
key生成:首先生成證書需要csr檔案,csr檔案就是證書生成檔案,裡面包含的域名所有人或公司的資訊,用csr去向ca申請簽發域名證書。生成csr的同時,會自動生成一個key檔案,ca批准簽發證書後,伺服器或面板需要證書檔案和key檔案一起使用。
3樓:匿名使用者
csr用於申請ssl證書的請求檔案,key用於ssl證書的安裝。
一、ssl證書請求檔案(csr)生成指南:網頁連結
二、csr檔案生成工具:網頁連結
4樓:匿名使用者
使用openssl工具可以生成key和ssl證書,但是這是自簽名ssl證書,存在安全隱患,瀏覽器不信任,建議去受信任的第三方機構申請正規ssl證書,沒預算的話可以申請免費的,安全性有保障,這裡就有網頁連結,挺好用的。
5樓:匿名使用者
自己生成ssl證書是自簽名證書,不安全,最好是交給正規證書頒發機構去生成,還不用自己弄**那麼複雜,gdca可以申請各型別ssl證書,免費付費的都有,看你需要。
6樓:妮蕙孟歆
最好不要自己生成,那就是自簽名的證書了,不會被瀏覽器和作業系統信任。
一般ssl證書都是由權威ca機構生成並簽發,key是會由ca發給申請者。具體生成過程就是將你的申請相關資訊與ca的相關資訊利用特定手段拼接到一起,然後會涉及資料摘要、數字簽名、密碼技術等手段。
國內的證書**商,像天威誠信、易維信,都是**國外的數字證書品牌,像symantec、geotrust、globalsign等全球知名品牌。
生成ssl證書先要向**商提供申請檔案,自己生成或是**商生成csr檔案,然後由**商提交給ca驗證申請者身份,驗證通過後,才會由ca頒發證書,**商代為安裝或協助安裝。
openssl 生成ssl證書 能不能用
7樓:安信ssl證書
用openssl生成的ssl證書也叫自簽名ssl證書,這種證書不建議使用,因為有很多弊端:
第一、被「有心者」利用。
其實「有心者」指的就是黑客。自簽名ssl證書你自己可以簽發,那麼同樣別人也可以簽發。黑客正好利用其隨意簽發性,分分鐘就能偽造出一張一模一樣的自簽證書來安裝在釣魚**上,讓訪客們分不清孰真孰假。
第二、瀏覽器會彈出警告,易遭受攻擊
前面有提到自簽名ssl證書是不受瀏覽器信任的,即使**安裝了自簽名ssl證書,當使用者訪問時瀏覽器還是會持續彈出警告,讓使用者體驗度大大降低。因它不是由ca進行驗證簽發的,所以ca是無法識別簽名者並且不會信任它,因此私鑰也形同虛設,**的安全性會大大降低,從而給攻擊者可乘之機。
第三、安裝容易,吊銷難
自簽名ssl證書是沒有可訪問的吊銷列表的,所以它不具備讓瀏覽器實時查驗證書的狀態,一旦證書丟失或者被盜而無法吊銷,就很有可能被用於非法用途從而讓使用者蒙受損失。同時,瀏覽器還會發出「吊銷列表不可用,是否繼續?」的警告,不僅降低了網頁的瀏覽速度,還大大降低了訪問者對**的信任度。
第四、超長有效期,時間越長越容易被破解
自簽名ssl證書的有效期特別長,短則幾年,長則幾十年,想簽發多少年就多少年。而由受信任的ca機構簽發的ssl證書有效期不會超過2年,因為時間越長,就越有可能被黑客破解。所以超長有效期是它的一個弊端。
8樓:匿名使用者
自己生成的,無法使用不會被瀏覽器信任,需要**gw***獲取ssl證書才可以信任。
如何生成openssl生成https證書
9樓:匿名使用者
自簽名的ssl證書是不會被瀏覽器信任的,建議您直接**:gw*** ssl辦理一個公網信任的證書使用,**又不貴,而且省省力。
用openssl生成的ssl證書和付費的有什麼區別
10樓:gdca數安時代
用openssl生成的ssl證書即自簽名證書,存在安全隱患,而且不受瀏覽器信任。最好從正規第三方證書頒發機構去申請,還不用自己弄**那麼複雜,gdca可以申請各型別ssl證書,免費付費的都有,看你需要。
11樓:安信ssl證書
openssl生成的ssl證書也叫自簽名ssl證書,簽發很隨意,任何人都可以簽發,容易被黑客仿冒利用,不是由正規的ca機構頒發的,所以不受瀏覽器的信任。
而付費的ssl證書,是由受信任的ca機構頒發的,申請時會對域名所有權和企業相關資訊進行驗證,安全級別是比較高的,而且備受各大瀏覽器的信任。當然是付費的好。
12樓:匿名使用者
本文記敘的是一次基於ssl的socket通訊程式開發中,有關證書,簽名,身份驗證相關的步驟。 我們的場景下,socket服務端是java語言編寫的,客戶端是c語言。使用了一個叫做matrixssl的c語言庫。
自己做ca簽名,不等同於「自簽名」。 自簽名的情況,rsa的公鑰私鑰只有一對,用私鑰對公鑰證書做簽名。而我們的場景是,自己做ca,有一個ca的公鑰私鑰對。
而socket的服務端也有一個公鑰私鑰對。 用ca的私鑰對socket服務端的公鑰證書做簽名。
openssl genrsa -out ca.key 1024
(這裡我們沒有用des3加密。 可以增加一個-des3引數加密,詳情可以man genrsa)
openssl req -new -x509 -days 36500 -key ca.key -out ca.crt
(這一步的時候需要在提示之下輸入許多資訊,包括國家**,省份,城市,公司機構名等)
生成server端的私鑰key:
openssl genrsa -out server.key 1024
生成server端的req檔案(這一步生成的req檔案,包含公鑰證書,外加身份資訊,例如國家,省份,公司等。用它提交給ca,讓ca來對它做簽名 ):
openssl req -new -key server.key -out server.csr
用ca的私鑰對server的req檔案做簽名,得到server的證書:
openssl x509 -req -days 3650 -in server.csr -ca ca.crt -cakey ca.
key -cacreateserial -out server.crt
(注:如果第一次使用openssl,報告一些相關的檔案找不到之類的錯誤,可能需要先執行2個命令:touch /etc/pki/ca/index.
txt 和 echo '01' > /etc/pki/ca/serial)
以上得到的server.crt就是服務端的證書檔案。(有很多軟體中需要各種不同證書儲存格式,可能需要各種轉換。
如pem, p12等,我們的場景下也需要一點轉換,下文會描述。剛開始做這些的同學可能會覺得證書,以及格式等非常的混亂。 這個時候能做的就是冷靜下來,耐心的理清楚tls, rsa等原理, 多看看openssl的man文件)
不知道把ca.crt叫做ca的證書檔案是否妥當,但是可以確定的是,客戶端使用ca.crt可以校驗server的身份。
server在ssl/tls握手的過程中會下發自己的證書,而這個證書是經過ca簽名的。ca簽名的時候使用的是ca自己的私鑰,而ca.crt則包含了ca的公鑰,可以用於檢驗這一簽名,以確認是否是自己籤的名。
服務端需要使用的檔案是:server私鑰(key), server證書。
客戶端需要使用的檔案是:ca file(ca的證書,用以驗證server下發的證書)
我們的server端使用java, 使用p12(pkcs12)格式的證書。使用openssl可以進行格式轉換:
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12
可以看到輸出的server.p12中應該包含了server.key和server.crt的內容。
我們的c語言客戶端直接使用ca檔案: ca.crt.
我們也用java寫過客戶端, java使用ca檔案格式為 jks。那麼可能需要一個轉換,這裡使用的是java的bin目錄下的keytool:
keytool -importcert -alias ca -file ca.crt -keystore ca.jks
轉換的時候要求輸入一個密碼。這樣就把ca.crt轉換為了 ca.jks格式。
下面附上部分socket服務端和java版的客戶端的**。c的就不貼了,用的matrixssl。
java服務端(mina)**片段:
string file = "/file/path/server.p12";
string keytype = "pkcs12"; char password = "passwd".tochararray();
keystore ks = keystore.getinstance(keytype);
ks.load(new fileinputstream(file), password);
keymanage***ctory kmf = keymanage***ctory.getinstance(
keymanage***ctory.getdefaultalgorithm());
kmf.init(ks, password);
sslcontext ctx = sslcontext.getinstance("tls");
ctx.init(kmf.getkeymanagers(), null, null);
sslfilter sslfilter = new sslfilter(ctx); // 在mina的acceptor中增加這個filter就可以了。
acceptor.getfilterchain().addlast("ssl", new sslfilter(createsslcontext()));
java版客戶端(mina)**片段:// trust string file = "/data/tmp/ca.jks";
string keytype = "jks"; char password = "123456".tochararray();
keystore ks = keystore.getinstance(keytype);
ks.load(new fileinputstream(file), password);
trustmanage***ctory tmf = trustmanage***ctory
.getinstance(trustmanage***ctory.getdefaultalgorithm());
tmf.init(ks);
sslcontext sslcontext = sslcontext.getinstance("tls");
sslcontext.init(null, tmf.gettrustmanagers(), null);
sslfilter sslfilter = new sslfilter(sslcontext);
sslfilter.setuseclientmode(true); // server端是addlast , 這個卻是 addfirst. 這個順序不能搞錯了。
connector.getfilterchain().addfirst("sslfilter", sslfilter);
如何用eclipse生成jar檔案
選定專案,點選右鍵 點選export,選定jar,如圖 填入需要匯出的jar的名字和路徑,如何用eclipse生成jar檔案 用eclipse匯出jar檔案的詳細步驟 如何用eclipse生成jar檔案 如何用eclipse生成jar檔案 如何用eclipse生成jar檔案 如何用eclipse生成...
如何用做封面和自動生成目錄,如何用WORD做封面和自動生成目錄?
做封面 開啟文件,開啟 插入 選項卡,找到 封面 選項。單擊後,下拉選單裡就是word提供的各種封面了。選擇一種封面,單擊確定。在編輯區域填上文件標題等資訊,一個精美的封面就搞定啦!自動生成目錄 假設已正確設定頁碼及各種標題。要先在正文裡設定標題或者目錄樣式格式之後,才能提取生成目錄。說簡單也簡單,...
用Python生成excel,如何用Python實現exce
可以使用xlsxwriter 庫實現 如下 import xlsxwriter import sys reload sys 解決中文編碼問題 sys.setdefaultencoding utf 8 建立一個絕對路徑為.test.xlsx的excel檔案workbook xlsxwriter.wor...