温馨提示×

ubuntu openssl使用技巧

小樊
53
2025-07-18 02:17:13
栏目: 云计算

在Ubuntu系统中使用OpenSSL有许多实用的技巧,以下是一些常用的方法和命令:

安装OpenSSL

  • 通过APT包管理器安装
    sudo apt update sudo apt install openssl libssl-dev 
  • 从源码编译安装
    wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz tar -xzvf openssl-1.1.1u.tar.gz cd openssl-1.1.1u ./config --prefix=/usr/local/openssl shared zlib make -j$(nproc) sudo make install 

常用OpenSSL命令行工具功能

  • 生成密钥对
    openssl genrsa -out private.key 2048 openssl rsa -pubout -in private.key -out public.key 
  • 创建证书签名请求(CSR)
    openssl req -new -key private.key -out certificate.csr 
  • 自签名证书
    openssl req -x509 -new -nodes -key private.key -days 365 -out certificate.crt 
  • 加密和解密文件
    openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc openssl enc -d -aes-256-cbc -in file.txt.enc -out file.txt 
  • 生成和验证消息摘要
    openssl dgst -sha256 file.txt openssl dgst -sha256 -verify public.key -signature signature.txt file.txt 
  • 生成和验证数字签名
    openssl dgst -sha256 -sign private.key -out signature.txt file.txt openssl dgst -sha256 -verify public.key -signature signature.txt file.txt 
  • 生成随机数
    openssl rand -hex 32 
  • 管理SSL/TLS连接
    openssl s_client -connect example.com:443 openssl s_server -www -accept 443 -cert certificate.crt -key private.key 

使用特定版本的OpenSSL进行编译

  • 通过环境变量指定OpenSSL版本
    export OPENSSL_ROOT_DIR=/opt/openssl/1.1.1 export OPENSSL_INCLUDE_DIR=$OPENSSL_ROOT_DIR/include export OPENSSL_LIB_DIR=$OPENSSL_ROOT_DIR/lib export LD_LIBRARY_PATH=$OPENSSL_LIB_DIR:$LD_LIBRARY_PATH export PATH=$OPENSSL_ROOT_DIR/bin:$PATH 
  • 通过编译选项指定OpenSSL版本
    gcc -o my_program my_program.c -I/opt/openssl/1.1.1/include -L/opt/openssl/1.1.1/lib -lssl -lcrypto 

管理证书链

  • 创建完整的证书链
    cat server.crt intermediate.crt private.key > full-chain.pem 

导入自签名证书到信任存储

  • 对于自签名证书,你可能需要将其导入到系统的信任存储中,以便浏览器和其他应用程序信任它。在Ubuntu中,可以使用以下命令将证书添加到 /etc/ssl/certs/ca-certificates.crt 文件中:
    sudo cp certificate.pem /etc/ssl/certs/ca-certificates.crt 

请注意,OpenSSL的版本可能会随着Ubuntu版本的更新而发生变化,因此建议在使用前通过 openssl version命令确认当前安装的版本。如果你需要特定版本的OpenSSL,可以从OpenSSL官方网站下载对应版本的源码进行编译安装。

0