日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

netty实现gmssl_gmssl java api 编译

發布時間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 netty实现gmssl_gmssl java api 编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GmSSL是一個開源的密碼工具箱,支持SM2/SM3/SM4/SM9等國密(國家商用密碼)算法、SM2國密數字證書及基于SM2證書的SSL/TLS安全通信協議,支持國密硬件密碼設備,提供符合國密規范的編程接口與命令行工具,可以用于構建PKI/CA、安全通信、數據加密等符合國密標準的安全應用。GmSSL項目是OpenSSL項目的分支,并與OpenSSL保持接口兼容。

GmSSL 提供了java 接口,在windows下,編譯JAVA接口的步驟

1、首先編譯GmSSL

a)工具 perl ,vs2017(或者其他版本)

b)編譯步驟

perl Configure VC-WIN64A no-asm

nmake

2、編譯java 庫文件

a) 工具 JDK vs

b) nmake -f winmake

c)?nmake -f?winmake test

makefile? 內容

##WINDOWS native library gmssljni.dll generation

LIBCRYPTOS=../libcrypto.lib

JAVADLL=gmssljni.dll

CC=cl

CFLAGS=-DNDEBUG -W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32? -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE /O2

LD=link

LDFLAGS=/nologo /dll

EX_LIBS=ws2_32.lib advapi32.lib crypt32.lib user32.lib

LIB_CFLAGS=

!IF DEFINED(STATIC)

CFLAGS = $(CFLAGS) /MT

!ELSE

CFLAGS = $(CFLAGS) /MD

!ENDIF

#JAVA_HOME check

!IF "x$(JAVA_HOME)x" == "xx"

!ERROR "The environment variable JAVA_HOME is empty!"

!ENDIF

!IF ! EXIST("$(JAVA_HOME)/bin/javac.exe")

!ERROR "Javac was not found in JAVA_HOME($(JAVA_HOME)/bin)!"

!ENDIF

JAVAC="$(JAVA_HOME)/bin/javac"

JAVAINCLUDE=-I "$(JAVA_HOME)\include" -I "$(JAVA_HOME)\include\win32"

JAVADLLPATH=-Djava.library.path=.

JAVA=java

all: $(JAVADLL) GmSSL.class

GmSSL.obj:

$(CC)? /I "." /I "..\include" $(JAVAINCLUDE) $(CFLAGS) $(LIB_CFLAGS) -c GmSSL.c

gmssl_err.obj:

$(CC)? /I "." /I "..\include" $(JAVAINCLUDE) $(CFLAGS) $(LIB_CFLAGS) -c? gmssl_err.c

$(JAVADLL): GmSSL.obj gmssl_err.obj

$(LD) $(LIBCRYPTOS) $(EX_LIBS) $(LDFLAGS) /out:$@ $**

GmSSL.class:

$(JAVAC) GmSSL.java

test: $(JAVADLL) GmSSL.class

IF EXIST ..\libcrypto-1_1*.dll copy /Y ..\libcrypto-1_1*.dll .

$(JAVA) $(JAVADLLPATH) GmSSL

clean:

IF EXIST *.obj DEL /F /Q *.obj

IF EXIST GmSSL.class DEL /F /Q GmSSL.class

IF EXIST libcrypto-1_1*.dll? DEL /F /Q libcrypto-1_1*.dll

IF EXIST $(JAVADLL).* DEL /F /Q $(JAVADLL).*

總結

以上是生活随笔為你收集整理的netty实现gmssl_gmssl java api 编译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。