资源简介
支持国密的OpenSSL 版本2.0, 直接使用无需编译。
支持VC以及C++ Builder调用
代码片段和文件信息
/*
* Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the “License“). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
#define APPlink_STDIN 1
#define APPlink_STDOUT 2
#define APPlink_STDERR 3
#define APPlink_FPRINTF 4
#define APPlink_FGETS 5
#define APPlink_FREAD 6
#define APPlink_FWRITE 7
#define APPlink_FSETMOD 8
#define APPlink_FEOF 9
#define APPlink_FCLOSE 10 /* should not be used */
#define APPlink_FOPEN 11 /* solely for completeness */
#define APPlink_FSEEK 12
#define APPlink_FTELL 13
#define APPlink_FFLUSH 14
#define APPlink_FERROR 15
#define APPlink_CLEARERR 16
#define APPlink_FILENO 17 /* to be used with below */
#define APPlink_OPEN 18 /* formally can‘t be used as flags can vary */
#define APPlink_READ 19
#define APPlink_WRITE 20
#define APPlink_LSEEK 21
#define APPlink_CLOSE 22
#define APPlink_MAX 22 /* always same as last macro */
#ifndef APPMACROS_ONLY
# include
# include
# include
static void *app_stdin(void)
{
return stdin;
}
static void *app_stdout(void)
{
return stdout;
}
static void *app_stderr(void)
{
return stderr;
}
static int app_feof(FILE *fp)
{
return feof(fp);
}
static int app_ferror(FILE *fp)
{
return ferror(fp);
}
static void app_clearerr(FILE *fp)
{
clearerr(fp);
}
static int app_fileno(FILE *fp)
{
return _fileno(fp);
}
static int app_fsetmod(FILE *fp char mod)
{
return _setmode(_fileno(fp) mod == ‘b‘ ? _O_BINARY : _O_TEXT);
}
#ifdef __cplusplus
extern “C“ {
#endif
__declspec(dllexport)
void **
# if defined(__BORLANDC__)
/*
* __stdcall appears to be the only way to get the name
* decoration right with Borland C. Otherwise it works
* purely incidentally as we pass no parameters.
*/
__stdcall
# else
__cdecl
# endif
OPENSSL_Applink(void)
{
static int once = 1;
static void *OPENSSL_ApplinkTable[APPlink_MAX + 1] =
{ (void *)APPlink_MAX };
if (once) {
OPENSSL_ApplinkTable[APPlink_STDIN] = app_stdin;
OPENSSL_ApplinkTable[APPlink_STDOUT] = app_stdout;
OPENSSL_ApplinkTable[APPlink_STDERR] = app_stderr;
OPENSSL_ApplinkTable[APPlink_FPRINTF] = fprintf;
OPENSSL_ApplinkTable[APPlink_FGETS] = fgets;
OPENSSL_ApplinkTable[APPlink_FREAD] = fread;
OPENSSL_ApplinkTable[APPlink_FWRITE] = fwrite;
OPENSSL_ApplinkTable[APPlink_FSETMOD] = app_fsetmod;
OPENSSL_ApplinkTable[APPlink_FEOF] = app_feof;
OPENSSL_ApplinkTable[APPlink_FCLOSE] = fclose;
OPENSSL_ApplinkTable[APPlink_FOPEN] = fopen;
OPENSSL_ApplinkTable[APPlink_FSEEK] = fseek;
OPENSSL_ApplinkTable[APPlink_FTELL] = ftell;
OPENSSL_ApplinkTable[APPlink_FFLUSH] = fflush;
OPENSSL_ApplinkTable[APPlink_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6408 2018-03-17 11:11 GmSSL2.0-dynamic\bin\c_rehash.pl
文件 440320 2018-03-17 11:11 GmSSL2.0-dynamic\bin\gmssl.exe
文件 1969152 2018-03-17 11:11 GmSSL2.0-dynamic\bin\gmssl.pdb
文件 2428928 2018-03-17 11:11 GmSSL2.0-dynamic\bin\libcrypto-1_1.dll
文件 8973312 2018-03-17 11:11 GmSSL2.0-dynamic\bin\libcrypto-1_1.pdb
文件 378368 2018-03-17 11:11 GmSSL2.0-dynamic\bin\libssl-1_1.dll
文件 1518592 2018-03-17 11:11 GmSSL2.0-dynamic\bin\libssl-1_1.pdb
文件 8399 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\asn1parse.html
文件 15066 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\blake2b.html
文件 15066 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\blake2s.html
文件 55115 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\ca.html
文件 10170 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\CA.pl.html
文件 52627 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\ciphers.html
文件 31016 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\cms.html
文件 17724 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\config.html
文件 7486 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\crl.html
文件 4358 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\crl2pkcs7.html
文件 5759 2018-03-17 11:13 GmSSL2.0-dynamic\html\man1\c_rehash.html
文件 15066 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\dgst.html
文件 6333 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\dhparam.html
文件 7224 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\dsa.html
文件 4955 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\dsaparam.html
文件 14945 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\ec.html
文件 12002 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\ecparam.html
文件 18303 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\enc.html
文件 4123 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\engine.html
文件 1992 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\errstr.html
文件 3822 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\gendsa.html
文件 11471 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\genpkey.html
文件 4750 2018-03-17 11:12 GmSSL2.0-dynamic\html\man1\genrsa.html
............此处省略3209个文件信息
相关资源
- OpenSSLx86 & x64开发库
- rabbitmq的C++客户端SimpleAmqpClient编译库
- c语言实现国密SM2
- openssl c语言应用
- 国密SM2算法C代码
- CryptoAPI代码
- 国密SM3摘要算法工具
- openssl加解密C语言代码
- 国密算法--Openssl 实现国密算法加密和
- 国密SM4算法的C语言实现
- 国密SM4的5中模式C语言实现,vs工程,
- OpenSSL+VC6.0 实现的安全Web Server 客户端
- 纯C语言实现https的post和get不依赖任何
- 国密SM4加密解密51单片机版C源程序.
- 基于Gmssl的SM2加解密算法Demo
- sm2加密,解密,签名,验签sm3哈希基
- 国密SM4的5种加密模式(ECB CBC CFB OFB
- 国密SM4对称算法C实现源码
- SM2SM3SM4国密算法C语言实现VS2008
- C语言https POST提交openSSL的应用可作为
- 国密算法 SM2_SM3_SM4 C语言实现
- Sm2_sm3_sm4_c语言实现.zip
- SM4国密加密算法C语言实现
- SM2SM3;SM4;国密算法的C语言实现.rar
- rossler混沌同步的MATLAB程序
- rsa基于openssl1.1 实现签名(rsasign.cpp)
- C++ SMTP发送邮件支持SSL,可用于使用
- 国密SM4的5种加密模式(ECB CBC CFB OFB
- linux下C语言实现SM9国密算法
- 基于C语言实现国密SM3算法
评论
共有 条评论