温馨提示×

ubuntu openssl使用技巧

小樊
57
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