openssl pem golang

package main

import (
	"crypto/tls"
	"fmt"
)

func main() {
	//LoadX509KeyPair读取并分析一个公用/私有密钥对从一对文件。该文件必须包含PEM编码数据。
	_, err := tls.LoadX509KeyPair("./cert_dist.pem", "./key_dist2.pem")
	fmt.Println(err)

	//X509KeyPair解析一个公共/私有密钥对从一对PEM编码数据。
	// _, err = tls.X509KeyPair(privateKey, publicKey)
	// fmt.Println(err)
}

//一、通过P12生成临时文件cert.pem
// openssl pkcs12 -clcerts -nokeys -out cert_dist.pem -in dist.p12 -passin pass:

//二、生成临时文件key.pem
// openssl pkcs12 -nocerts -out key_dist.pem -in dist.p12 -passin pass: -passout pass:1234

//三、去掉key.pem的密码
// openssl rsa -in key_dist.pem -out key_dist2.pem -passin pass:1234

//四、检索
// _, err := tls.LoadX509KeyPair(cert.pem, key.unencrypted.pem)
//fmt.Println(err)
时间: 2024-10-24 03:07:30

openssl pem golang的相关文章

Java Keystore 与Openssl Pem 的转换

一般情况,生成证书会用到java的keytool生成自签名证书,用在tomcat.applet等场合,生成的证书都是二进制文件,不能直接在nginx.或需要pem的场合下使用,因此需要对其进行各种常用转换,下面是一个典型的使用场景. 1 利用keytool生成store并转换为PKCS#12 keytool -genkey -alias clusterkey -dname "CN=xxxx" -keyalg RSA -keystore cluster.store -storepass

openssl pem转cer文件 并用base64编码解码过程

#!/bin/bash#pem转ceropenssl x509 -outform der -in 3324861__ksjgs.com.pem -out ksjgs-bak.cer#aes 128加密并用base64编码openssl enc -aes-128-cbc -in ksjgs-bak.cer -out ksjgs-bak-enc.log -a #解密#base64解码base64 -d ksjgs-bak-enc.log > ksjgs-bak-unbase64.log#aes 12

C/C++使用openssl进行摘要和加密解密(md5, sha256, des, rsa)

openssl里面有很多用于摘要哈希.加密解密的算法,方便集成于工程项目,被广泛应用于网络报文中的安全传输和认证.下面以md5,sha256,des,rsa几个典型的api简单使用作为例子. 算法介绍 md5:https://en.wikipedia.org/wiki/MD5 sha256:https://en.wikipedia.org/wiki/SHA-2 des: https://en.wikipedia.org/wiki/Data_Encryption_Standard rsa: htt

OPENSSL PKCS#7(信封&解信封)

1 // TestOpensslP7Envelope.cpp : 定义控制台应用程序的入口点. 2 // 3 4 #include "stdio.h" 5 #include "string.h" 6 #include "stdlib.h" 7 8 #include <openssl/pem.h> 9 #include <openssl/pkcs7.h> 10 #include <openssl/objects.h&g

OPENSSL PKCS#7(验签)

1 // TestOpensslP7Verify.cpp : 定义控制台应用程序的入口点. 2 // 3 4 #include <stdio.h> 5 #include <string.h> 6 7 #include <stdio.h> 8 #include <string.h> 9 #include <openssl/bio.h> 10 #include <openssl/asn1.h> 11 #include <openss

使用OpenSSL做RSA签名验证 支付宝移动快捷支付 的server异步通知

因为业务须要.我们须要使用支付宝移动快捷支付做收款.支付宝给了我们<移动快捷支付应用集成接入包支付接口>见支付宝包<WS_SECURE_PAY_SDK>. 支付宝给的serverdemo仅仅有Java.C#.PHP三种,而我们server端使用的是C++. 这当中就涉及到接收支付宝的server异步通知.为了确保接收到的server异步通知来至支付宝,我们就必须验证支付宝的签名. 坑爹的是,原来PC端使用MD5做签名,预计支付宝考虑到移动端的风险更高,于是改用RSA做移动快捷支付应

windows下openssl编译

昨晚,在编译rabbitmq-c时,使用cmake生成vs项目文件时遇到下列错误: CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENS

openssl C语言编码实现rsa加密

1 CC=gcc 2 CPPFLAGS= -I /home/yyx/02/openssl-1.0.1t/include/ 3 CFLAGS=-Wall -g 4 LIBPATH = -L /usr/lib 5 LIBS= -lssl -lcrypto -lhiredis -lm 6 7 8 #找到当前目录下所有的.c文件 9 src = $(wildcard ./src/*.c) 10 11 #将当前目录下所有的.c 转换成.o给obj 12 obj = $(patsubst %.c, %.o,

安全通信系统--OpenSSL服务器和客户端

环境配置 SSL的初始化 这一步主要使用OpenSSL提供的函数设置算法.证书等,一般步骤都固定了的,初始化流程示意图如下所示: SSL初始化流程图 主要代码为: [cpp] view plain copy print? SSL_load_error_strings(); /*为打印调试信息作准备*/ OpenSSL_add_ssl_algorithms(); /*初始化*/ //meth = TLSv1_server_method(); /*采用什么协议(SSLv2/SSLv3/TLSv1)在