mfc 怎么读取 .pem文件内容

mfc 怎么读取 .pem文件内容,第1张

读取好办,难办的是你要知道私钥的格式,

如果只是只想显示字字符串的话:

FILE *pFile=fopen("a.pem","r")//文件a.pem, r表示衡掘凳以咐旅读取方式打开

char buf[100]={0}//用来存放私钥的空间,并初始化散告

fread(buf,1,100,pFile)//1表示每次读取1个字节,100表示最大读取100字节

GetDlgItem(IDC_XXX)->SetWindowText(buf)//IDC_XXX是编辑框的ID

fclose(pFile)

以下命令来生成密钥对简差巧。

$openssl genrsa -out mykey.pem 2048

$openssl pkcs8 -topk8 -inform PEM -outform PEM -in mykey.pem \

-out private_key.pem -nocrypt

这个命令得到的公共密拦键钥庆前。

$ openssl rsa -in mykey.pem -pubout -outform DER -out public_key.der

我写了两方法读取私钥和公钥

分别。public PrivateKey getPemPrivateKey(String filename, String algorithm) throws Exception {

File f = new File(filename)

FileInputStream fis = new FileInputStream(f)

DataInputStream dis = new DataInputStream(fis)

byte[] keyBytes = new byte[(int) f.length()]

dis.readFully(keyBytes)

dis.close()

String temp = new String(keyBytes)

String privKeyPEM = temp.replace("-----BEGIN PRIVATE KEY-----\n", "")

privKeyPEM = privKeyPEM.replace("-----END PRIVATE KEY-----", "")

//System.out.println("Private key\n"+privKeyPEM)

Base64 b64 = new Base64()

byte [] decoded = b64.decode(privKeyPEM)

PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decoded)

KeyFactory kf = KeyFactory.getInstance(algorithm)

return kf.generatePrivate(spec)

}

public PublicKey getPemPublicKey(String filename, String algorithm) throws Exception {

File f = new File(filename)

FileInputStream fis = new FileInputStream(f)

DataInputStream dis = new DataInputStream(fis)

byte[] keyBytes = new byte[(int) f.length()]

dis.readFully(keyBytes)

dis.close()

String temp = new String(keyBytes)

String publicKeyPEM = temp.replace("-----BEGIN PUBLIC KEY-----\n", "")

publicKeyPEM = privKeyPEM.replace("-----END PUBLIC KEY-----", "")

Base64 b64 = new Base64()

byte [] decoded = b64.decode(publicKeyPEM)

X509EncodedKeySpec spec =

new X509EncodedKeySpec(decoded)

KeyFactory kf = KeyFactory.getInstance(algorithm)

return kf.generatePublic(spec)

}

gdm -- gnome display manager

kdm -- kde display manager

xdm - X display manager

作用是提供图形登录界面

gdm漂亮一些,有很多theme可用,但配置会比较麻烦

kdm跟KDE的界面比较协调

OpenSSL 使用局孙 PEM 文件格式存储证书和友拿密钥。PEM 实质上是 Base64 编码的二进制内容,再加上开始和结束行,如证书文件的

CDR格式是著名绘图软件CorelDRAW的专用图形文件格式。由于CorelDRAW是矢量图形绘制软件,所以CDR可以记录文件的属性、位置和分页等。但它在兼容度上比较差,所有CorelDraw应用程序中均能够使用好腊搭,但其他图像编辑软件打不开此类文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12133468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存