openssl ca についての詳しい紹介
中心 CA Authorization Center CA およびデジタル証明書の概念については、OpenSSL および SSL デジタル証明書の概念シールを移動してください。
openssl は、オープン ソース プログラムのスイートであり、次の 3 つの部分で構成されます。1 つは、多くの暗号化ライブラリを実装する一般的な機能を備えた暗号化ライブラリであり、2 つ目は、SSL メカニズムを実装します。 3 つ目は、openssl です。これは、暗号化と復号化を実装できる多機能コマンド ライン ツールで、証明書の作成や証明書の失効を可能にする CA としても使用できます。
デフォルトでは、openssl は ubuntu と CentOS にインストールされます。 CENTOS 6.X の SSL 証明書のディレクトリ構造: /ETC/PKI/CA/ニュースストア CA 署名 (発行) デジタル証明書 (証明書のバックアップ ディレクトリ)
CA の秘密キーを保存するためのプライベートcrl 失効した証明書
/etc/pki/tls/
cert.pem certs/ca-bundle.crt
certs/ へのソフトリンク サーバー上の証明書保管ディレクトリ。独自の証明書と組み込み証明書を保管できます
ca-bundle .crt 証明書組み込み
PRIVATE Certificate Key Store Catalog
Openssl.cnf Openssl のメイン設定ファイル
設定ファイルの削除 (OpenSSL CA コマンドのデフォルト (デフォルトは /etc/pki/opensl.cnf)) 非常に強力なので、私の他の記事
設定ファイル openssl.cnf
証明書の署名時に必要なファイルの構造は、openssl.cnf のデフォルトの構造要件は次のとおりです。 [ CA_default ]dir = /etc/pki/CA # 定义路径变量
certs = $dir/certs # 已颁发证书的保存目录
database = $dir/index.txt # 数据库索引文件
new_certs_dir = $dir/newcerts # 新签署的证书保存目录
certificate = $dir/cacert.pem # CA证书路径名
serial = $dir/serial # 当前证书序列号
private_key = $dir/private/cakey.pem # CA的私钥路径名
[root@xuexi tmp]# touch /etc/pki/CA/index.txt [root@xuexi tmp]# echo "01" > /etc/pki/CA/serial
[root@xuexi tmp]# openssl genrsa -out /etc/pki/CA/private/cakey.pem
最初に CA の証明書要求ファイルを作成します。必須ではありませんが、CA の秘密鍵ファイル /etc/pki/CA/private/cakey.pem を使用して証明書要求ファイルを作成することをお勧めします。管理上便利です。リクエスト ファイルを作成するときは、デフォルトで国名、州名または都道府県名、組織名、および共通名を指定する必要があります。
[root@xuexi tmp]# openssl req -new -key /etc/pki/CA/private/cakey.pem -out rootCA.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:FJLocality Name (eg, city) [Default City]:XMOrganization Name (eg, company) [Default Company Ltd]:JMOrganizational Unit Name (eg, section) []:ITCommon Name (eg, your name or your server's hostname) []:www.iwant.comEmail Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:.
[root@xuexi tmp]# openssl ca -selfsign -in rootCA.csr Using configuration from /etc/pki/tls/openssl.cnf # 默认采用/etc/pki/tls/openssl.cnf作为配置文件 Check that the request matches the signature # 验证证书请求文件的数字签名,确保该证书请求文件是完整未修改过的 Signature ok Certificate Details: # 待生成证书的信息 Serial Number: 1 (0x1) # 序列号为1 Validity Not Before: Jun 27 10:06:29 2017 GMT # 证书有效期起始日为2017-6-17 10:06:29Not After : Jun 27 10:06:29 2018 GMT # 证书有效期终止日为2018-6-17 10:06:29Subject: # Subject信息,subject是非常重要的信息 countryName = CN stateOrProvinceName = FJ organizationName = JM organizationalUnitName = IT commonName = www.iwant.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: A5:0D:DD:D6:47:C6:24:74:20:F4:62:77:F6:A9:63:3E:52:D2:8A:66X509v3 Authority Key Identifier: keyid:A5:0D:DD:D6:47:C6:24:74:20:F4:62:77:F6:A9:63:3E:52:D2:8A:66 Certificate is to be certified until Jun 27 10:06:29 2018 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries # 向数据库文件添加一条该证书的记录 Certificate: # 该证书的信息 Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=CN, ST=FJ, O=JM, OU=IT, CN=www.iwant.com Validity Not Before: Jun 27 10:06:29 2017 GMT Not After : Jun 27 10:06:29 2018 GMT Subject: C=CN, ST=FJ, O=JM, OU=IT, CN=www.iwant.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus:00:94:49:33:f4:90:a4:fc:a4:6b:65:75:4c:be:4f: d1:3f:95:bd:24:60:c8:45:f9:eb:00:31:ac:45:6b: ae:bb:63:bf:f2:a3:0c:e3:d3:50:20:33:1e:d9:e1: 8a:49:42:c6:e0:67:6d:3a:cb:2f:9c:90:ab:4c:10: 7a:4a:82:e1:6e:a0:6a:63:84:56:1c:a2:5f:11:60:99:e0:cd:20:68:e9:98:40:68:c2:43:7c:97:12:ee:31:8e:b1:73:7d:36:99:97:49:31:50:c1:8c:47:10:16:f9:5d:37:11:00:73:3b:01:62:9b:36:36:97:08:48:31:93:56:3f:6a:d9:a6:99Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: A5:0D:DD:D6:47:C6:24:74:20:F4:62:77:F6:A9:63:3E:52:D2:8A:66X509v3 Authority Key Identifier: keyid:A5:0D:DD:D6:47:C6:24:74:20:F4:62:77:F6:A9:63:3E:52:D2:8A:66 Signature Algorithm: sha1WithRSAEncryption 1e:4e:f4:e4:c9:33:52:85:69:ae:b4:2a:37:37:44:90:9b:52: b3:e9:89:1c:b2:f2:17:41:d8:05:02:63:9a:4f:64:4d:c9:ce: 0c:81:48:22:4f:73:8a:4c:f7:b8:bf:64:b2:77:8a:2e:43:80: 39:03:de:27:19:09:d2:88:39:11:8f:8b:4b:37:c0:12:68:ef: 79:5b:28:d4:cf:c9:b8:e1:77:24:6e:b4:5b:83:4a:46:49:a1: ad:5c:b7:d8:da:49:9a:45:73:b9:8e:eb:1a:9c:2e:6c:70:d3: c5:db:9c:46:02:59:42:bf:ad:bc:21:4c:d1:6b:6b:a7:87:33: 1a:6b-----BEGIN CERTIFICATE-----MIICiTCCAfKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBMMQswCQYDVQQGEwJDTjEL MAkGA1UECAwCRkoxCzAJBgNVBAoMAkpNMQswCQYDVQQLDAJJVDEWMBQGA1UEAwwN d3d3Lml3YW50LmNvbTAeFw0xNzA2MjcxMDA2MjlaFw0xODA2MjcxMDA2MjlaMEwx CzAJBgNVBAYTAkNOMQswCQYDVQQIDAJGSjELMAkGA1UECgwCSk0xCzAJBgNVBAsM AklUMRYwFAYDVQQDDA13d3cuaXdhbnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQCUSTP0kKT8pGtldUy+T9E/lb0kYMhF+esAMaxFa667Y7/yowzj01Ag Mx7Z4YpJQsbgZ206yy+ckKtMEHpKguFuoGpjhFYcol8RYJngzSBo6ZhAaMJDfJcS 7jGOsXN9NpmXSTFQwYxHEBb5XTcRAHM7AWKbNjaXCEgxk1Y/atmmmQIDAQABo3sw eTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBD ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUpQ3d1kfGJHQg9GJ39qljPlLSimYwHwYDVR0j BBgwFoAUpQ3d1kfGJHQg9GJ39qljPlLSimYwDQYJKoZIhvcNAQEFBQADgYEAHk70 5MkzUoVprrQqNzdEkJtSs+mJHLLyF0HYBQJjmk9kTcnODIFIIk9zikz3uL9ksneK LkOAOQPeJxkJ0og5EY+LSzfAEmjveVso1M/JuOF3JG60W4NKRkmhrVy32NpJmkVz uY7rGpwubHDTxducRgJZQr+tvCFM0Wtrp4czGms= -----END CERTIFICATE-----Data Base Updated
[root@xuexi tmp]# tree -C /etc/pki/CA/etc/pki/CA ├── certs ├── crl ├── index.txt ├── index.txt.attr ├── index.txt.old ├── newcerts │ └── 01.pem ├── private │ └── cakey.pem ├── serial └── serial.old
[root@xuexi tmp]# cp /etc/pki/CA/newcerts/01.pem /etc/pki/CA/cacert.pem
[root@xuexi tmp]# cat /etc/pki/CA/index.txt V 180627100629Z 01 unknown /C=CN/ST=FJ/O=JM/OU=IT/CN=www.iwant.com [root@xuexi tmp]# cat /etc/pki/CA/serial02
[root@xuexi tmp]# touch /etc/pki/CA/index.txt [root@xuexi tmp]# echo "01" > /etc/pki/CA/serial [root@xuexi tmp]# openssl genrsa -out /etc/pki/CA/private/cakey.pem [root@xuexi tmp]# openssl req -new -key /etc/pki/CA/private/cakey.pem -out rootCA.csr [root@xuexi tmp]# openssl ca -selfsign -in rootCA.csr [root@xuexi tmp]# cp /etc/pki/CA/newcerts/01.pem /etc/pki/CA/cacert.pem
以上过程是完全读取默认配置文件创建的,其实很多过程是没有那么严格的,openssl ca命令自身可以指定很多选项覆盖配置文件中的项,但既然提供了默认的配置文件及目录结构,为了方便管理,仍然建议完全采用配置文件中的项。
(2).为他人颁发证书。
首先申请者创建一个证书请求文件。
[root@xuexi tmp]# openssl req -new -key privatekey.pem -out youwant1.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:FJLocality Name (eg, city) [Default City]:XMOrganization Name (eg, company) [Default Company Ltd]:JMOrganizational Unit Name (eg, section) []:.Common Name (eg, your name or your server's hostname) []:www.youwant.comEmail Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:.
其中Country Name、State or Province Name、Organization Name和Common Name必须提供,且前三者必须和CA的subject中的对应项完全相同。这些是由配置文件中的匹配策略决定的。
[ ca ] default_ca = CA_default # The default ca section [ CA_default ] policy = policy_match [ policy_match ] countryName = matchstateOrProvinceName = matchorganizationName = matchorganizationalUnitName = optional commonName = suppliedemailAddress = optional
"match"表示openssl ca要签署的证书请求文件中的项要和CA证书中的项匹配,即要相同,"supplied"表示必须要提供的项,"optional"表示可选项,所以可以留空。
现在就可以将证书请求文件发送给CA,让CA帮忙签署。
[root@xuexi tmp]# openssl ca -in youwant1.csr
签署成功后,查看下/etc/pki/CA下的文件结构。
[root@xuexi tmp]# tree -C /etc/pki/CA/ /etc/pki/CA/├── cacert.pem ├── certs ├── crl ├── index.txt ├── index.txt.attr ├── index.txt.attr.old ├── index.txt.old ├── newcerts │ ├── 01.pem │ └── 02.pem ├── private │ └── cakey.pem ├── serial └── serial.old 4 directories, 10 files
其中"02.pem"就是刚才签署成功的证书,将此证书发送给申请者即表示颁发完成。
再看下数据库索引文件和序列号文件。
[root@xuexi tmp]# cat /etc/pki/CA/index.txt V 180627100629Z 01 unknown /C=CN/ST=FJ/O=JM/OU=IT/CN=www.iwant.com V 180627110022Z 02 unknown /C=CN/ST=FJ/O=JM/CN=www.youwant.com [root@xuexi tmp]# cat /etc/pki/CA/serial03
(3).openssl ca命令用法
经过上面的示例,应该对openssl ca命令的用法大致了解了,下面是其完整的用法说明,不包括crl相关功能。
openssl ca [-verbose] [-config filename] [-name section] [-startdate ] [-enddate ] [-days arg] [-md arg] [-policy arg] [-keyfile arg] [-key arg] [-passin arg] [-cert ] [-selfsign] [- ] [-out ] [-notext] [-outdir ] [-infiles] [-ss_cert ] [-preserveDN] [-noemailDN] [-batch] [-extensions section] [-extfile section] [-subj arg] [-utf8]
要注意,ca命令是用于签署证书的,所以它所需要的文件除了配置文件外就是私钥文件和证书请求文件,而签名后生成的文件是证书文件,因此使用"-in"指定的对象是待签署文件,"-infiles"则是指定多个待签署文件,"-keyfile"是指定私钥文件,"-out"是指定输出的证书文件。
【选项说明:】-config filename :指定要使用的配置文件,指定后将忽略openssl.cnf中指定的关于ca的配置选项。-name section :指定使用配置文件中的那个section。指定后将忽略openssl.cnf中的default_ca段。-in filename :指定要被CA签署的单个证书请求文件。根CA为其他证书签署时使用。-infiles :该选项只能是最后一个选项,该选项所接的所有参数都被认为是要被签署的证书请求文件,即一次性签署多个请求文件时使用的选项。-selfsign :自签署。指定-ss_cert选项时该选项被忽略。-ss_cert filename:将被CA自签署的单个证书文件。也就是说要重新签署证书。-out filename :证书的输出文件,同时也会输出到屏幕。不指定时默认输出到stdout。-outdir dir_name :证书的输出目录。指定该选项时,将自动在此目录下生成一个文件名包含16进制serial值的".pem"证书文件。-cert :CA自己的证书文件。-keyfile filename:指定签署证书请求时的私钥文件,即CA自己的私钥文件。-key passwd_value:指定私钥的加密密码。-passin arg :传递解密密码-verbose :打印操作执行时的详细信息-notext :禁止以文本格式将证书输出到"-out"指定的文件中-days arg :证书有效期限,从创建时刻开始算startdate,有效期结束点为enddate。-startdate :自定义证书的开始时间,和"-enddate"一起使用可以推算出证书有效期。-enddate :自定义证书的结束时间。-md alg :指定单向加密算法-policy arg :该选项是配置文件中的section内容,该选项指定了证书信息中的field部分是否需要强制提供还是要强制匹配, :或者可提供可不提供。详细的见配置文件说明。-extensions section:指定当前创建的证书使用配置文件中的哪个section作为扩展属性。-batch :签署时使用批处理模式,即非交互模式。该模式下不会有两次询问(是否签署、是否提交)。-subj arg :替换证书请求中的subject,格式/type0=value0/type1=value1/type2=...
配置文件关于ca的部分,其中被标记为必须项的表示配置文件中或者命令行中必须给出该选项及其值。
new_certs_dir :等同于"-outdir"选项。必须项 certificat :等同于"-cert"选项,CA自己的证书文件。必须项 private_key :等同于"-keyfile"选项,签署证书请求文件时的私钥文件,即CA自己的私钥文件。必须项 default_days :等同于"-days"选项 default_startdate:等同于"-startdate"选项。 default_enddate :等同于"-enddate"选项。 default_md :等同于"-md"选项。必须项 database :openssl维护的数据库文件。存放证书条目信息及状态信息。必须项 serial :已颁发证书的序列号(16进制)文件。必须项且该文件中必须存在一个序列值 unique_subject :如果设置为yes,database中的subject列值必须不重复。如果设置为no,允许subject重复。默认是yes, :这是为了兼容老版本的Openssl,推荐设置为no。 x509_extensions :等同于"-extensions"选项。 policy :等同于"-policy"选项。必须项 name_opt/cert_opt:证书的展示格式,虽非必须但建议设置为ca_default,若不设置将默认使用老版本的证书格式(不建议如此)。 :伪命令ca无法直接设置这两个选项,而伪命令x509的"-nameopt"和"-certopt"选项可以分别设置。 copy_extensions :决定证书请求中的扩展项如何处理的。如果设置为none或不写该选项,则扩展项被忽略并且不复制到证书中去。 :如果设置为copy,则证书请求中已存在而证书中不存在的扩展项将复制到证书中。 :如果设置为copyall,则证书请求中所有的扩展项都复制到证书中,此时若证书中已存在某扩展项,则先删除再复制。 :该选项的主要作用是允许证书请求为特定的扩展项如subjectAltName提供值。 :使用该选项前请先查看man ca中的WARNINGS部分。建议一般简单使用时设置为none或不设置。
以上がopenssl ca についての詳しい紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Debianシステムでは、Tigervncサーバーのログファイルは通常、ユーザーのホームディレクトリの.VNCフォルダーに保存されます。 Tigervncを特定のユーザーとして実行する場合、ログファイル名は通常XFに似ています。1。Log、XF:1はユーザー名を表します。これらのログを表示するには、次のコマンドを使用できます。CAT〜/.VNC/XF:1。LOGまたは、テキストエディターを使用してログファイルを開くことができます。NANO〜/.VNC/XF:1。LOGログファイルへのアクセスと表示には、システムのセキュリティの設定に応じてルート許可が必要になる場合があります。

Linuxの初心者は、ファイル管理、ユーザー管理、ネットワーク構成などの基本操作をマスターする必要があります。 1)文件管理:使用mkdir、タッチ、ls rm 3)ネットワーク構成:ifconfig、echo、およびufwコマンドを使用します。これらの操作はLinuxシステム管理の基礎であり、それらをマスターすることでシステムを効果的に管理できます。

DebianシステムのReadDir関数は、ディレクトリコンテンツの読み取りに使用されるシステムコールであり、Cプログラミングでよく使用されます。この記事では、ReadDirを他のツールと統合して機能を強化する方法について説明します。方法1:C言語プログラムを最初にパイプラインと組み合わせて、cプログラムを作成してreaddir関数を呼び出して結果をinclude#include#include inctargc、char*argv []){dir*dir; structdireant*entry; if(argc!= 2){(argc!= 2){

DebiansNifferは、ネットワークパケットタイムスタンプをキャプチャして分析するために使用されるネットワークスニファーツールです。通常、数秒でパケットキャプチャの時間を表示します。ソースIPアドレス(SourceIP):パケットを送信したデバイスのネットワークアドレス。宛先IPアドレス(DestinationIP):データパケットを受信するデバイスのネットワークアドレス。ソースポート:パケットを送信するデバイスで使用されるポート番号。 Destinatio

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

Debian Mail ServerのDNS設定を構成するには、次の手順に従うことができます。ネットワーク構成ファイルを開きます。テキストエディター(VIやNANOなど)を使用して、ネットワーク構成ファイル/など/ネットワーク/インターフェイスを開きます。 sudonano/etc/network/interfacesネットワークインターフェイス構成を検索:構成ファイルで変更するネットワークインターフェイスを見つけます。通常、イーサネットインターフェイスの構成はIFETH0ブロックにあります。

この記事では、役に立たないソフトウェアパッケージをきれいにし、Debianシステムのディスクスペースを解放する方法について説明します。ステップ1:パッケージリストを更新するパッケージリストが最新であることを確認してください:sudoaptupdateステップ2:インストールされたパッケージを表示します。次のコマンドを使用して、すべてのインストールされたパッケージを表示します。適性は、パッケージを安全に削除するのに役立つ提案を提供します:sudoaptitudeSearch '〜pimportant'このコマンドはタグをリストします

この記事では、Debianシステムの下でApacheログを分析することにより、Webサイトのパフォーマンスを改善する方法について説明します。 1.ログ分析の基本Apacheログは、IPアドレス、タイムスタンプ、リクエストURL、HTTPメソッド、応答コードなど、すべてのHTTP要求の詳細情報を記録します。 Debian Systemsでは、これらのログは通常、/var/log/apache2/access.logおよび/var/log/apache2/error.logディレクトリにあります。ログ構造を理解することは、効果的な分析の最初のステップです。 2。ログ分析ツールさまざまなツールを使用してApacheログを分析できます。コマンドラインツール:GREP、AWK、SED、およびその他のコマンドラインツール。
