2017-10-06 129 views
0

我是一種新的SSL證書,我想驗證我的理解。與iOS應用程序的SSL證書

我們是一家創業公司,我們有一個特定的域名,我們希望用SSL證書來保護。

該域與一個服務器相關聯,該服務器上安裝了Web服務器,另一個服務器應用程序使用自己的協議以Java編寫,我們希望使用SSL保護這兩個服務。

我們正在開發OS X應用程序和iOS客戶端應用程序。那些正在使用Foundation的CFStreamCreatePairWithSocketToHost(...)通過CFReadStream(...)和CFWriteStream(...)連接到Java服務器。

我想驗證我的理解:

(1),具有OV證書代替DV證書的唯一好處是,我們的組織名稱的名稱將在證書的詳細信息上市。 (2)只有一個SSL證書足以保護Web服務器和定製Java服務器應用程序,我需要將它安裝在Apache中,並使用Oracle Keytool實用程序提供給Java Keystore文件。 (3)由於「Go Daddy Class 2認證機構」和「Go Daddy Root認證機構 - G2」列在「Go Daddy根證書頒發機構 - G2」中,因此我們正在考慮Go Daddy EV或DV證書, List of available trusted root certificates in iOS 11「。

(4)一旦安裝在服務器上,並沒有什麼特別的,我OS做X/iOS應用,但打開流(斯威夫特)前插入這樣的:

inputStream.setProperty(StreamSocketSecurityLevel.ssLv3, forKey: Stream.PropertyKey.socketSecurityLevelKey) 
outputStream.setProperty(StreamSocketSecurityLevel.ssLv3, forKey: Stream.PropertyKey.socketSecurityLevelKey) 

感謝您的見解!

+1

1)相當多+難以讓某人僞造你併發出新證書+更貴,需要更長的時間才能設置2)單一證書,是的。不確定如何「安裝」它。 3)是4)是,但您也可以考慮使用證書鎖定。 – luk2302

+1

EV證書不添加額外的安全控制。它們是營銷手段,也是CA到20世紀90年代恢復利潤水平的一種方式。在EV證書中執行的檢查與CA應該在證書價格下降並且CA停止執行檢查之前整個時間進行的檢查相同。 – jww

+1

OV證書是危險的。它們允許組織爲其管理控制以外的域名提供證書。 CA通過簽署組織的中間證書(允許簽署最終實體證書)向組織出售*大筆資金。這些組織反過來可以欺騙他們希望的任何域名。 – jww

回答

1

您應該絕對不是允許SSLv3。該協議是高度不安全。 TLSv1.2是您應該允許的絕對最低版本,並且假設您的客戶端操作系統版本和服務器都支持它,則應將其限制爲TLS v1.3及更高版本。

+0

使用TLS 1.3,SSL證書或流對實施的選擇有任何區別嗎? –

+0

如果我理解正確,SSL證書也是TLS的證書,它只是一個名稱。我需要做的是啓用TLS,用StreamSocketSecurityLevel.tlSv1替換StreamSocketSecurityLevel.ssLv3? –

+1

大致相同,是的。不同標準(密鑰,簽名,散列等)支持不同的加密算法(對於密鑰,簽名,散列等),並且某些算法在新標準中被禁止,因爲它們太弱,但是CA仍然不應該支持那些舊算法(儘管有些CA不再被信任,因爲他們嘗試過)。 – dgatwood