欢迎来到皮皮网官网

【大话江湖源码】【gd源码指标】【python源码着色】openssl rsa 源码

时间:2024-12-23 08:38:42 来源:发布站源码分享

1.如何分离p12或pfx文件中的源码证书和私钥?
2.Linuxlinux下OpenSSL的RSA密钥生成
3.如何生成CA证书?
4.CentOS下生成自签名的证书的方法详解

openssl rsa 源码

如何分离p12或pfx文件中的证书和私钥?

       p(或者pfx)文件里一般存放有CA的根证书,用户证书和用户的私钥

       假设我们有一个test.p文件

       在安装了openssl的linux服务器上执行以下命令:

       提取用户证书:

       opensslpkcs-intest.p-clcerts-nokeys-outcert.pem//pem格式opensslpkcs-intest.p-clcerts-nokeys-outcert.crt//crt格式

       如果需要携带秘钥,则去掉-nokeys

       opensslpkcs-intest.p-clcerts-outcert.pem//pem格式opensslpkcs-intest.p-clcerts-outcert.crt//crt格式

       提取私钥:

       opensslpkcs-intest.p-nocerts-outkey.pem

       清除秘钥中的密码(在把秘钥部署到某些服务器上时可能需要清除密码)

       opensslrsa-inkey.pem-outnewkey.pem

       在java中pkcs和jks的相互转换:

JKS→Pkeytool-importkeystore-srckeystorekeystore.jks-srcstoretypeJKS-deststoretypePKCS-destkeystorekeystore.p

       P→JKS

       keytool-importkeystore-srckeystorekeystore.p-srcstoretypePKCS-deststoretypeJKS-destkeystorekeystore.jks

Linuxlinux下OpenSSL的RSA密钥生成

       在Linux系统中,OpenSSL是源码一个常用的加密工具,本文将指导如何在该环境下生成RSA密钥对。源码首先,源码有两条主要的源码安装途径:源码安装和yum包安装。

       1. 源码安装:

        - 下载openssl-1.0.0e.tar.gz压缩包,源码大话江湖源码将其放在根目录。源码

        - 使用命令`tar -xzf openssl-openssl-1.0.0e.tar.gz`解压缩,源码得到openssl-1.0.0e文件夹。源码

        - 进入解压目录并设定安装路径,源码例如`./config --prefix=/usr/local/openssl`。源码

        - 确认安装配置无误后,源码执行`./config -t`,源码然后编译安装:`make`。源码gd源码指标

       2.

       使用yum包安装:

        - 可以通过`yum install openssl* -y`快速安装,源码但本文重点在于自定义密钥生成。

       要生成RSA密钥对,首先生成位的私钥:

        - 输入`genrsa -out rsa_private_key.pem `,私钥会保存为rsa_private_key.pem,需妥善保管。

       接着,根据私钥生成公钥:

        - 使用`rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem`命令,公钥会保存为rsa_public_key.pem。

       对于更安全的存储,可以生成PKCS8格式的私钥:

        - 执行`pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt`,私钥将被转换为PKCS8格式。

       生成的python源码着色公钥可以使用`cat rsa_public_key.pem`查看,注意保持文件格式,以便正确进行加密和解密操作。

       总之,通过上述步骤,您可以在Linux下成功生成和管理RSA密钥对,确保开发语言如PHP中的安全使用。

如何生成CA证书?

       创建根证书密钥文件(自己做CA)root.key:

       创建根证书的申请文件root.csr:

       创建一个自当前日期起为期十年的根证书root.crt:

       创建服务器证书密钥server.key:

       创建服务器证书的申请文件server.csr

       创建自当前日期起有效期为期两年的服务器证书server.crt

       创建客户端证书密钥文件client.key

       创建客户端证书的申请文件client.csr

       创建一个自当前日期起有效期为两年的客户端证书client.crt

       将客户端证书文件client.crt和客户端证书密钥文件client.key合并成客户端证书安装包client.pfx

       保存生成的文件备用,其中server.crt和server.key是配置单向SSL时需要使用的证书文件,client.crt是配置双向SSL时需要使用的证书文件,client.pfx是配置双向SSL时需要客户端安装的证书文件 .crt文件和.key可以合到一个文件里面,把2个文件合成了一个.pem文件(直接拷贝过去就行了)

       x证书一般会用到三类文,key,csr,个人源码博客crt。

       Key是私用密钥openssl格,通常是rsa算法。

       Csr是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

       crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。 

       1.key的网格公式源码生成 

       opensslgenrsa -des3 -out server.key  

       这样是生成rsa私钥,des3算法,openssl格式,位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:

       opensslrsa -in server.key -out server.key 

       server.key就是没有密码的版本了。 

       2.生成CA的crt

       opensslreq -new -x -key server.key -out ca.crt -days 

       生成的ca.crt文件是用来签署下面的server.csr文件。 

       3.csr的生成方法

       opensslreq -new -key server.key -outserver.csr 

       需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。 

       4.crt生成方法

       CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。

       opensslx -req -days -in server.csr -CA ca.crt -CAkey server.key-CAcreateserial -out server.crt

       输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。

       最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt

       证书合并:

       catserver.key server.crt > server.pem

CentOS下生成自签名的证书的方法详解

       1.生成自签名的证书

       通常要配置https的服务器,都需要一个由正式的CA机构认证的X证书。当客户端连接https服务器时,会通过CA的共钥来检查这个证书的正确性。但要获得CA的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做CA,给自己的服务器证书签名。

       这个过程有两个主要的步骤,首先是生成自己的CA证书,然后再生成各个服务器的证书并为它们签名。我是用OpenSSL来生成自签名证书的。

第一步是制作CA的证书:

       opensslgenrsa-des3-outmy-ca.key

       opensslreq-new-x-days-keymy-ca.key-outmy-ca.crt

       这会生成my-ca.key和my-ca.crt文件,前者存放着使用my-ca.crt制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为my-ca.key设定的有效期为年。

       用命令

       opensslx-inmy-ca.crt-text-noout

       可以查看my-ca.crt文件的内容。

有了CA证书之后,就可以为自己的服务器生成证书了:

       opensslgenrsa-des3-outmars-server.key

       opensslreq-new-keymars-server.key-outmars-server.csr

       opensslx-req-inmars-server.csr-outmars-server.crt-sha1-CAmy-ca.crt-CAkeymy-ca.key-CAcreateserial-days

       前两个命令会生成key、csr文件,最后一个命令则通过my-ca.crt为mars-server.csr制作了x的签名证书。

需要注意的是,在执行上述第二个命令时,CommonName选项应当输入的是服务器的域名,否则在用户通过https协议访问时每次都会有额外的提示信息。

       用命令

       opensslx-inmars-server.crt-text-noout

       可以查看mars-server.crt文件的内容。

2.配置Apache服务器

       首先,创建/etc/apache2/ssl目录,将刚刚制作的my-ca.crt、mars-server.key和mars-server.crt文件拷贝到这个目录中。

       接着执行命令

       a2emodssl

       激活Apache的SSL模块,然后在/etc/apache2/sites-enable/中添加虚拟主机,这个过程与添加普通的虚拟主机类似,不同点在于该主机的端口应为。配置如下:

       NameVirtualHost*:

       VirtualHost*:

       ServerNamelocalhost

       DocumentRoot/var/www

       SSLEngineOn

       SSLCipherSuiteHIGH:MEDIUM

       SSLProtocolall-SSLv2

       SSLCertificateFile/etc/apache2/ssl/mars-server.crt

       SSLCertificateKeyFile/etc/apache2/ssl/mars-server.key

       SSLCACertificateFile/etc/apache2/ssl/my-ca.crt

       Directory/var/www

       Orderdeny,allow

       Allowfromlocalhost

       /Directory

       /VirtualHost

       VirtualHost*:

       ServerNamelocalhost

       DocumentRoot/var/www

       Directory/var/wwwOrderdeny,allow

       Allowfromlocalhost

       /Directory

       /VirtualHost

       以上配置保证了用户在访问和端口时可以看到相同的内容,而仅仅是使用的协议不同。修改好配置后,便可以重启Apache服务器,这时需要输入mars-server.key的密码。用浏览器访问

       https://localhost/

       这时应当看到一个弹出对话框,让你确认是否信任该站点的证书,选择信任后,便可以查看该站点的内容了。

       由于大多数Apache服务器都是在服务器启动时自动启动,为了避免在启动Apache时输入密码,可以用以下命令生成不加密的mars-server.key文件:

       opensslrsa-inmars-server.key-outmars-server.key.insecure

       用新生成的mars-server.key.insecure代替原有的key文件即可。

copyright © 2016 powered by 皮皮网   sitemap