ca证书 linux 导入_CA搭建与证书申请

2023-05-16

一:创建私有CA

openssl的配置文件:/etc/pki/tls/openssl.cnf

根据此配置文件创建CA

dir:CA相关文件存放路径 /etc/pki/CA

certs:证书存放目录 /etc/pki/CA/certs

database:数据库文件 /etc/pki/CA/index.txt

new_certs_dir:新颁发证书存放路径 /etc/pki/CA/newcerts

certificate:自颁发证书 /etc/pki/CA/cacert.pem

serial:下一个证书的序列号 /etc/pki/CA/serial

private_key: 私钥 /etc/pki/CA/private/cakey.pem

crl_dir:证书吊销列表

crlnumber:下一个吊销证书的序列号

default_days 证书有效期

policy:策略

countryName = match 匹配

stateOrProvinceName =match 匹配

organizationName = match 匹配

客户端向服务端申请CA证书,此三项必须匹配

若策略由match更改为其他选项,则不用强制匹配

1:创建所需要的文件夹

touch /etc/pki/CA/index.txt 生成证书索引数据库文件

echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号

2:生成CA秘钥

(umask 077; openssl genrsa –out /etc/pki/CA/private/cake.pem 2048)

生成秘钥,不带密码

成功生成文件cakey.pem文件

3:生成自签名证书

openssl req -new -x509 –key

/etc/pki/CA/private/cakey.pem -days 7300 -out

/etc/pki/CA/cacert.pem

-new: 生成新证书签署请求

-x509: 专用于CA生成自签证书

-key: 生成请求时用到的私钥文件

-days n:证书的有效期限

-out /PATH/TO/SOMECERTFILE: 证书的保存路径

/etc/pki/CA/cacert.pem为自签名证书

查看自签名证书的相关信息:

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

在windows上查看自签名ca证书的相关信息

1)rz /etc/pki/CA/cacert.pem 导出文件至windows

2) 更改文件后缀为.cer

二:客户端申请证书

1:创建私钥

(umask 077; openssl genrsa –out /app/service.key 4096)

2:利用私钥生成ca证书请求文件

openssl rep –new –key /app/service.key -out /app/service.csr

三:颁发证书

openssl ca -in /etc/pki/CA/csr/service.key –out /etc/pki/CA/cert/service.crt

此时数据库更新了

下一个证书的编号

查看已经颁发的证书:

查看已颁发证书的详细信息:

cat /etc/pki/CA/certs/service.crt

四:在windows中查看CA颁发的证书

1)上传文件sz /etc/pki/CA/certs/service.crt

2)查看:无上级证书路径

3)安装根CA至安全信任列表

也就是安装CA生成的自签名证书

4)再次查看service证书

五:申请多个证书

1:无需重复生成秘钥,直接生成另外的申请文件即可

openssl req –new –key /app/service.key –out /app/service2.csr

![clipboard.png](/im

2 :上传文件scp /app/service2.csr 192.168.80.166:/etc/pki/CA/csr

3: 颁发证书

openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000

不成功,国家名不匹配

4更改ca策略,使其成功

vim /etc/pki/tls/openssl.cnf

1)把国家更改为可选的,其他两项没做更改,重新申请

openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000

2)再去更改州及公司的匹配策略

重新创建 ok

六:/etc/pki/CA目录简要描述

其中:csr目录是自建的,方便存储CA申请文件

index.txt:也是自建的,格式也必须固定为index.txt

serial:文件也是自建的,文件名固定。其数值范围刚开始设

定,固定在00-99之间

index.txt.attr: 内存放的是subject的策略。

默认值为yes。subject内的内容是不可以全部都一致的,一致则不能颁发证书

cat index.txt.attr

unique_subject = yes

打开pem格式的文件使用命令

openssl x509 –in /etc/pki/CA/caert.pem –noout –text

七:证书的吊销

1:吊销

openssl ca –revoke /etc/pki/CA/newcerts/02.pem

2:指定第一个吊销证书的编号

手工创建吊销列表文件

echo 01 > /etc/pki/CA/crlnumber

3:更新吊销证书列表

更新:

openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem

查看crl内的pem文件

openssl crl -in /etc/pki/CA/crl/crl.pem –noout -text

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ca证书 linux 导入_CA搭建与证书申请 的相关文章

  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • 就分页分段内存而言的程序寿命

    我对 x86 Linux 机器中的分段和分页过程有一个令人困惑的概念 如果有人能澄清从开始到结束所涉及的所有步骤 我们将很高兴 x86 使用分页分段内存技术进行内存管理 任何人都可以解释一下从可执行的 elf 格式文件从硬盘加载到主内存到它
  • 执行“minikube start”命令时出现问题

    malik malik minikube start minikube v1 12 0 on Ubuntu 18 04 Using the docker driver based on existing profile Starting c
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • Linux下显卡内存使用情况

    Linux下有哪些工具可以监控显卡内存使用情况 NVIDIA 性能套件 http developer nvidia com content nvidia perfkit有Linux版本 可以实时监控各种显卡属性 包括显卡内存使用情况 显然
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何在文件中搜索多行模式?

    我需要找到包含特定字符串模式的所有文件 我想到的第一个解决方案是使用find管道与xargs grep find iname py xargs grep e YOUR PATTERN 但是 如果我需要查找跨越多行的模式 我就会陷入困境 因为
  • 如何在shell脚本中给出密码?

    在 shell 脚本文件中 我使用一些命令 例如scp and make install要求我输入密码 我运行一个 shell 脚本来编译一个大项目 一段时间后它会要求我输入密码才能使用scp 我需要等待该过程并在此之后提供密码 我只想通过
  • 从核心转储中获取堆栈跟踪

    如何从核心转储文件中获取堆栈跟踪 该文件大约 14 mb 是在我的应用程序退出并显示 分段错误 后生成的 我使用的是红帽 5 5 gdb usr bin myapp binary corefile 然后 使用以下之一 gdb bt gdb

随机推荐