OpenSSL証明書

前文

[email protected]

バックグラウンド

SSL 証明書は、SSL サーバー証明書とも呼ばれます。現在、Google や Baidu などのインターネット大手が Web サイトに HTTPS を義務付けているため、Web サイトに SSL 証明書を導入することがインターネットの開発トレンドになっています。

SSL証明書の2つの機能:データ暗号化と本人認証

サーバーが SSL 証明書を展開すると、ユーザーがブラウザーに入力した情報とサーバーから照会された情報が高度に暗号化されて、コンピューターとサーバー間の伝送リンク上で送信されることが保証されます。これにより、違法な行為は不可能になります。改ざんされ盗まれました同時に、Web サイト訪問者に対して、第三者機関によって検証されたサーバーの本当の身元を証明します。

WebサイトのSSL化

認証を提供する

ネットワーク セキュリティに関しては、認証が不可欠です。SSL 証明書をインストールするには、Web サイトで認証プロセスを通過する必要があります。権威ある第三者認証機関がユーザーに発行した「ネットワーク ID カード」を渡すと、エンティティの物理的アイデンティティがネットワークの仮想アイデンティティに関連付けられ、仮想ネットワーク世界での Web サイト所有者の本当のアイデンティティが保証されます。 。---- Web サイトの身元を確認する

フィッシングを防止する

フィッシング サイトは、ユーザー情報を盗もうとする人々によって作成された偽のサイトであり、作成者が有効な SSL 証明書を取得することは困難です。Web サイトにセキュリティ標識が表示されない場合、ユーザーは情報を入力せずにサイトを離れる可能性が高くなりますしたがって、有効な SSL 証明書は、訪問者に対するフィッシング攻撃を防ぎます。---- 上記と同様に Web サイトの本人確認を行います。

トラフィックハイジャックを防止する

ネットワーク活動では、送信中に情報が傍受され、改ざんされて転送される可能性があり、その結果、情報が不完全になる場合があります。情報の改ざんや損失が発生した場合、または発生する可能性がある場合、ネットワーク サービス プロバイダーは、SSL 証明書を使用して情報にデジタル署名し、情報を完成させる必要があります。サーバーの保存、送信、処理の過程で、指示なしまたは予期しない変更、挿入、削除、再送信、損傷などによるデータ。

データ暗号化を提供する

電子政府や電子商取引に関係する機密情報は、ネットワーク送信中に傍受され漏洩する可能性があるため、ネットワーク サービス プロバイダーはそのような情報を暗号化する必要があります。SSL 証明書を使用して機密情報の送信と保存を暗号化すると、この Web サイトで共有されるクレジット カード番号、ID、電子メール アドレス、パスワードなどの機密情報が安全であることを訪問者に示すことができます。したがって、SSL は Web サイトの顧客/訪問者間の信頼を強化します。

ウェブサイト閲覧者向けのSSL

彼らは、訪問したい Web サイトの正しい公式サーバー (ハッカーが運営する偽の製品ではない) に接続されており、誰も Web サイトに送信するデータを傍受して、それを不正な目的に使用することはできません。

openssl は自己署名証明書を生成します

Web サイトの証明書は、Web サイトの所有者の身元を確認するために何らかの大きな権威によって承認される必要がありますが、そうでない場合は、誰でも自分の身元を証明する証明書を取得できます。

したがって、SSL には次の役割があります。

  • CA : 認証局。自分の証明書を使用すると、自分の証明書を使用して他の人に署名し、お金を集めることができます。この地球上の CA は、英語を話す数人の人々によって独占されています。ここでは CA 組織を仮想化し、それを使用して独自の証明書証明書に署名します。
  • (Web サイト) 証明書: クライアントに送信される証明書。主に公開キーとその他の情報の集合です。これは、自分の Web サイトの公開キー、証明書、署名、その他の情報が含まれるファイルです。
  • (Webサイト)秘密鍵:サーバー(サーバー)が保持する復号用秘密鍵

SSL関連のファイルタイプ

フォーマット 説明する
.crt .cer 証明書
.key キー/秘密キー
.csr 証明書署名リクエスト
*.pem Base64 エンコードされたテキスト保存形式。証明書またはキーを単独で保存することも、同時に 2 つを保存することもできます。base64エンコードは、この 2 つの間にある不可解な文字です -------
*.der 証明書のバイナリ保存形式 (一般的には使用されません)

CAの証明書を生成する

# 生成CA认证机构的证书密钥key
# 需要设置密码,输入两次
openssl> genrsa -des3 -out ca.key 1024

# 去除密钥里的密码(可选)
# 这里需要再输入一次原来设的密码
openssl> rsa -in ca.key -out ca.key

# 用私钥ca.key生成CA认证机构的证书ca.crt
# 其实就是相当于用私钥生成公钥,再把公钥包装成证书
openssl> req -new -x509 -key ca.key -out ca.crt -days 365
# 这个证书ca.crt有的又称为"根证书",因为可以用来认证其他证书

Web サイトの証明書は主に CA の証明書によって署名されます。理由は非常に単純です。CA の公開鍵を使用して Web サイトの証明書に署名するためです。ユーザーは実際に Web サイトを訪問するときに、 CA が検証のために CA に署名した情報。これは他の方法の証明書ですか、[email protected]

Web サイトの証明書を生成する

# 生成自己网站的密钥server.key
openssl> genrsa -des3 -out server.key 1024

# 生成自己网站证书的请求文件
# 如果找外面的CA机构认证,也是发个请求文件给他们
# 这个私钥就包含在请求文件中了,认证机构要用它来生成网站的公钥,然后包装成一个证书
openssl> req -new -key server.key -out server.csr

上記のように、Web サイト独自の秘密キーと証明書を生成します。

CA 証明書の暗号化または署名 Web サイト証明書

# 使用虚拟的CA认证机构的证书ca.crt,来对自己网站的证书请求文件server.csr进行处理,生成签名后的证书server.crt
# 注意设置序列号和有效期(一般都设1年)
openssl> x509 -req -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -days 365

ついに

最終的には次の3つのスプーンができました。

  1. Server.key: 网站的私钥
  2. server.crt: 网站的证书
  3. ca.crt : ca的证书 用于验证服务端的政府
  4. ca.key: ca的私钥

要件に応じて別のファイル形式を変更できます。これは文字列の文字列です。

おすすめ

転載: blog.csdn.net/cuiyaonan2000/article/details/130530112