如何从SSL证书创建PEM文件?
这些是我提供的文件:
.crtserver.csr server.key我在Windows 7上运行PHP版本5.6.3作为XAMPP的一部分.
当我尝试使用Mandrill API时,我收到以下错误:
未捕获的异常'Mandrill_HttpError',消息'API调用消息/发送模板失败:SSL证书问题:无法获取本地颁发者证书'
我已经尝试过在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中:
curl.cainfo = "C:\xampp\php\cacert.pem"
Run Code Online (Sandbox Code Playgroud)
并且当然从http://curl.haxx.se/docs/caextract.html下载到该位置的cacert.pem文件
但毕竟,重新启动XAMPP和Apache服务器但仍然得到相同的错误.
我真的不知道还有什么可以尝试的.
任何人都可以建议我还能尝试什么?
我需要一个用于在Stunnel的CApath目录中发布的文件的哈希名称.我在这个目录中有一些证书,他们运作良好.我还有一个服务器sert和服务器密钥:
cert = c:\Program Files (x86)\stunnel\server_cert.pem
key = c:\Program> Files (x86)\stunnel\private\server_key.pem
Run Code Online (Sandbox Code Playgroud)
当我尝试计算新证书的哈希时,我收到一个错误:
/ etc/pki/tls/misc/c_hash cert.pem
无法加载证书140603809879880:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:pem_lib.c:703:期望:TRUSTED CERTIFICATE
据我所知,我必须签署我的证书,但我不明白我该怎么做.请提供解决方案.
PS:
消息
无法加载证书140603809879880:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:pem_lib.c:703:期望:TRUSTED CERTIFICATE:
当我为cert.pem制作c_hash时发布这不是server_cert.pem,这是Root_CA,它的内容类似于
----- BEGIN CERTIFICATE -----
... 6UXBNSDVg5rSx60 = ..
-----结束证书-----
当我写作
openssl x509 -noout -text -in cert.pem
在控制台面板中,我看到这个信息:
/etc/pki/tls/misc/c_hash cert.pem
unable to load certificate 140603809879880:error:0906D06C:PEM
routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Run Code Online (Sandbox Code Playgroud) 我正在创建一个https用于与服务器通信的android应用程序.我正在使用retrofit并OkHttp提出请求.这些适用于标准http请求.以下是我遵循的步骤.
步骤1: 使用该命令从服务器获取cert文件
echo -n | openssl s_client -connect api.****.tk:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > gtux.cert
Run Code Online (Sandbox Code Playgroud)
步骤2: 使用以下命令将证书转换为BKS格式
keytool -importcert -v -trustcacerts -file "gtux.cert" -alias imeto_alias -keystore "my_keystore.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-146.jar" -storetype BKS
Run Code Online (Sandbox Code Playgroud)
它问我密码并且文件已成功创建.
第3步:
创建一个OkHttpClient并使用它来发出https请求
public class MySSLTrust {
public static OkHttpClient trustcert(Context context){
OkHttpClient okHttpClient = new OkHttpClient();
try {
KeyStore ksTrust = KeyStore.getInstance("BKS");
InputStream instream = context.getResources().openRawResource(R.raw.my_keystore);
ksTrust.load(instream, "secret".toCharArray());
// TrustManager decides which certificate authorities to …Run Code Online (Sandbox Code Playgroud) 我已经购买了SSL证书,我已经收到证书和.pem文件作为私钥?来自供应商; 现在我需要将此.pem密钥转换为.key为bitnami Redmine Apache Web服务器,以使其工作.
我该怎么做才能做什么程序或命令呢?在使用Openssl等方面我是新手.
任何建议将不胜感激!
谢谢.
当我偶然发现加密时,我开始查看ssl证书,并且我想将它与gitlab一起使用,但是它正在运行在树莓派2上并且它现在运行得非常完美(所以我不想弄乱任何东西) ),他会不会正确安装一个let encrypt ssl证书?PS:我的安装是综合的
连接到需要SSL的AWS Postgres数据库时,我收到以下错误.我最近从npgsql 2.3.2(有bug)升级到3.0.3,无法连接.任何建议,将不胜感激.
DataSource.Error:TlsClientStream.ClientAlertException:CertificateUnknown:不接受服务器证书.链状态:无法将证书链构建到受信任的根颁发机构..在TlsClientStream.TlsClientStream.ParseCertificateMessage(字节[] buf中,的Int32&POS)在TlsClientStream.TlsClientStream.TraverseHandshakeMessages()在TlsClientStream.TlsClientStream.GetInitialHandshakeMessages(布尔allowApplicationData)在TlsClientStream.TlsClientStream.PerformInitialHandshake(字符串主机名,X509CertificateCollection clientCertificates,RemoteCertificateValidationCallback remoteCertificateValidationCallback,布尔checkCertificateRevocation)详细信息:DataSourceKind = PostgreSQL
我正在尝试生成私钥-公钥对,并将公钥转换为可以添加到我的信任库中的证书。
生成私钥和公钥: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem
现在我正在尝试将其转换为证书:
openssl x509 -outform der -in public_key.pem -out public.cer
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE
Run Code Online (Sandbox Code Playgroud)
所有教程都表明我必须在添加到信任库之前将 pem 转换为 crt。