CN109787768B - 一种身份验证配置方法、装置及计算机可读存储介质 - Google Patents
一种身份验证配置方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109787768B CN109787768B CN201811518453.8A CN201811518453A CN109787768B CN 109787768 B CN109787768 B CN 109787768B CN 201811518453 A CN201811518453 A CN 201811518453A CN 109787768 B CN109787768 B CN 109787768B
- Authority
- CN
- China
- Prior art keywords
- rule
- signature
- identity authentication
- authentication configuration
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本方案涉及信息安全领域,提供一种身份验证配置方法、装置及计算机可读存储介质,方法包括:在模板引擎中将加密、解密、签名、验签规则的数据模型分别封装;建立身份验证配置模板,通过${}设置可替换的数据;将身份验证配置模板作为依赖包嵌入到JAVA应用中,在JAVA应用通过接口调用身份验证配置模板,使加密规则、解密规则、签名规则、验签规则替换${}中可替换的数据,形成身份认证规则,或,身份验证配置模板存在服务器上,JAVA应用通过HTTP访问身份验证配置模板,用封装的加密、解密、签名、验签规则替换身份验证配置模板中${}的可替换的数据,形成身份认证规则。本发明不需要重复的代码开发,减少工作量。
Description
技术领域
本发明涉及信息安全技术领域,具体地说,涉及一种身份验证配置方法、装置及计算机可读存储介质。
背景技术
现在普遍采用数字签名的方式进行身份认证。对于一些较新的系统,一般采用标准Basic Auth、OAuth、HMAC等方式实现身份认证。但对于一些较旧的业务系统,很多都采用了自定义的身份认证方案。这使得这些业务系统之间的互相访问变得复杂——交互双方都需要按照对方的身份认证方式进行开发,而认证的规则往往与具体的业务相关。因此虽然身份认证的代码具有很大的相似度,但是又不是完全相同,几乎每次对接都需要进行身份认证的代码开发。因此虽然身份认证的代码具有很大的相似度,但是又不是完全相同,因此几乎每次对接都需要进行身份认证的代码开发。
发明内容
为解决现有技术存在的不足,本发明提供一种身份验证配置方法,应用于电子装置,该方法包括:在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装;通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件,其中,在所述身份验证配置模板中,通过插值符号${}来设置可替换的数据;将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,使封装的加密规则、解密规则、签名规则、验签规则替换插值符号${}中的可替换的数据,从而形成相应的身份认证规则,或者,所述身份验证配置模板存放在服务器上,JAVA应用通过HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${..}的可替换的数据,从而形成相应的身份认证规则。
优选地,利用FreeMarker模板引擎建立身份验证配置模板的步骤包括:新建Maven项目;修改.xml配置文件,增加freemark依赖;在src/main/java的包下添加目录,用于存放所有的freemarker模板;在src/main/java/templates目录下添加以.ftl文件形式存在的FreeMarker模板。
优选地,JAVA应用设置有对应加密规则、解密规则、签名规则、验签规则的选择框。
优选地,加密规则、解密规则采用的算法至少包括MD5、RSA、DES、AES、Base64。
优选地,签名规则、验签规则采用的算法至少包括RSA、DSA和ECDSA。
优选地,AES具有CBC、CFB、ECB、OFB、PCBC5种模式,AES具有三种填充方式:NoPadding、PKCS5Padding、ISO10126Padding。
本发明还提供一种电子装置,所述电子装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的身份验证配置程序,所述身份验证配置程序被所述处理器执行时实现如下步骤:在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装;通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件,其中,在所述身份验证配置模板中,通过${}来设置可替换的数据;将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则、验签规则替换${}中的可替换的数据,从而生成对应的身份验证页面,或者,所述身份验证配置模板存放在服务器上,应用通过HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${.}的可替换的数据,从而生成对应的身份验证页面。
优选地,利用FreeMarker模板引擎建立身份验证配置模板的步骤包括:新建Maven项目;修改.xml配置文件,增加freemark依赖;在src/main/java的包下添加templates(模板)目录,用于存放所有的freemarker模板;在src/main/java/templates目录下添加.ftl的FreeMarker模板。
优选地,加密规则、解密规则采用的算法至少包括MD5、RSA、DES、AES、Base64;签名规则、验签规则采用的算法至少包括RSA、DSA和ECDSA。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括身份验证配置程序,所述身份验证配置程序被处理器执行时,实现如上所述的身份验证配置方法的步骤。
采用本发明身份验证配置方法、装置及计算机可读存储介质,无论是客户端、开放平台还是服务方,都可以通过将各种加密规则、解密规则、签名规则、验签规则的数据模型的封装配置在应用中的形式,来选择对接双方都认可的加密规则、解密规则、签名规则、验签规则。不需要重复的代码开发,可以减少由于大量重复代码开发造成的出错率高的问题,可以避免版本发布的流程,实时进行更新。通过配置的方式,解决API开放平台在接入新的服务提供方过程中的开发问题,真正实现在线接入零开发。
附图说明
通过结合下面附图对其实施例进行描述,本发明的上述特征和技术优点将会变得更加清楚和容易理解。
图1是表示本发明实施例的身份验证配置方法的流程图;
图2是表示本发明实施例的电子装置的硬件架构示意图;
图3是表示本发明实施例的身份验证配置程序的模块构成图;
图4是表示本发明实施例的身份认证规则封装模块的单元构成图。
具体实施方式
下面将参考附图来描述本发明所述的身份验证配置方法、装置及计算机可读存储介质的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。
一种身份验证配置方法,如图1所示,包括以下步骤:
步骤S10,在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装,以便在后期替换插值符号${}中的内容,从而生成对应的身份验证页面。
步骤S30,通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件。FreeMarker是一种基于模板和要改变的数据的模板引擎,可以用来生成HTML网页、电子邮件、配置文件、源代码等输出文本。模板和数据模型是FreeMarker生成输出所需的组成部分,其中,在所述身份验证配置模板中,通过插值符号${}来设置可替换的数据;
步骤S50,将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则、验签规则替换插值符号${}中的可替换的数据,从而进行不同形式的身份验证。例如,通常需要身份认证的可能包括三方:客户端(服务使用者)、开放平台(中间服务平台)、服务方(服务提供方),客户端通过开放平台调用服务提供者的服务。在通讯过程中,三方都需要解决身份认证与数据安全问题。客户端调用开放平台,开放平台需要验签解密;开放平台调用服务方,需要加签加密;开放平台调用服务方,服务方返回结果后,需要验签解密;开放平台调用服务方,服务方返回结果后,开放平台将结果返回给客户端之前,需要进行加签加密。
下面以开放平台和服务方之间的身份认证来说明。开放平台和服务方之间需要采用一种身份认证方式,所述身份认证方式包括加密规则、解密规则、签名规则、验签规则。所述JAVA应用可以是该开放平台上的应用,JAVA应用是通过建立.java类形成。java类中可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的JAVA应用选择适合的加密规则、解密规则、签名规则、验签规则。而在选择之后,java应用则利用API接口调用以依赖包形式嵌入在java应用中的身份验证配置模板,由于身份验证配置模板中设置有关于加密规则、解密规则、签名规则、验签规则的封装,并且还通过${}设置有可替换的数据。Java应用调用身份验证配置模板,使得选择的加密规则、解密规则、签名规则、验签规则替换${}中的可替换数据,从而形成适于开放平台和服务方之间的身份认证规则。服务方与开放平台之间的通讯则采用所配置的加密规则、解密规则、签名规则、验签规则来完成身份认证。
或者,所述身份验证配置模板还可以是存放在独立的服务器上,JAVA应用可以通过HTTP访问所述身份验证配置模板,例如,开放平台上的应用通过HTTP访问所述身份验证配置模板。JAVA应用可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的应用选择适合的加密规则、解密规则、签名规则、验签规则。应用HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${..}的可替换的数据,从而形成适于开放平台和服务方之间的身份认证规则。
通过以上的身份验证配置方法,开发者可以免去繁杂的大量重复的代码开发工作,可以配置不同的身份验证规则,能够适用于开放平台、服务方、用户之间的身份验证。
下面说明一下FreeMarker模板引擎建立身份验证配置模板的具体步骤:
首先新建一个Maven项目;
修改.xml配置文件,增加freemark依赖;
在src/main/java的包下添加一个名为“templates”目录,用于存放所有的freemarker模板;
在src/main/java/templates目录下添加名为“product.ftl”的FreeMarker模板,其中,
模板的内容可以是包括如下内容:
加密规则:${Encryption rules}
解密规则:${Decryption rules}
签名规则:${Signature rule}
验签规则:${Inspection rules}。
使用FreeMarker可以读取到模板内容,将选择的加密规则、解密规则、签名规则、验签规则替换对应的${}中的内容,FreeMarker将数据与身份验证配置模板绑定并渲染出对应的身份认证页面。
优选地,加密规则、解密规则采用的算法至少包括MD5(消息摘要算法第五版)、RSA(非对称加密算法)、DES(数据加密标准,是一种使用密钥加密的块算法)、AES(高级加密标准)、Base64(一种基于64个可打印字符来表示二进制数据的方法)。
优选地,签名规则、验签规则采用的算法至少包括RSA(非对称加密算法)、DSA(驾驶安全预警与导航系统)和ECDSA(椭圆曲线数字签名算法)。
将各种签名规则、加密规则、解密规则、验签规则分别对应封装。例如,签名规则的算法为SHA256WithRSA,加密规则的算法是RES,模式是CFB,填充方式是PKCS5Padding。通过在FreeMarker中设置插值符号${},利用正则表达式搜索插值符号${},并将其中的内容替换为对应的封装的签名规则、加密规则、解密规则、验签规则。从而形成能够适用于不同应用场景的身份验证页面。
其中,AES具有CBC(密码分组链接模式)、CFB(密文反馈模式)、ECB(电子密码本模式)、OFB(输出反馈模式)、PCBC(填充密码块链接)5种模式。AES支持三种填充:NoPadding,PKCS5Padding,ISO10126Padding。则可以形成不同的封装,例如,签名规则的算法为RSA,加密规则的算法是AES,模式是ECB,填充方式是ISO10126Padding。
图2所示是本发明电子装置1的硬件架构示意图。所述电子装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,电子装置1可包括,但不仅限于,可通过系统总线相互通信连接的存储器13、处理器14、显示器15。需要指出的是,图2仅示出了具有部分组件的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,主存储器13包括内存及至少一种类型的可读存储介质。内存为电子装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card),安全数字(Secure Digital)卡,闪存卡(Flash Card)等。本实施例中,存储器13的可读存储介质通常用于存储安装于电子装置1的操作系统和各类应用软件,例如本实施例中的身份验证配置程序代码等。此外,存储器13还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器14用于运行所述存储器13中存储的程序代码或者处理数据。
另外,电子装置1还包括网络接口,所述网络接口可包括无线网络接口或有线网络接口,该网络接口通常用于在所述电子装置1与其他电子设备之间建立通信连接。
身份验证配置程序存储在存储器13中,包括至少一个存储在存储器13中的计算机可读指令,该至少一个计算机可读指令可被处理器执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一个实施例中,上述身份验证配置程序被所述处理器14执行时实现如下步骤:
步骤S10,在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装,以便在后期替换${}中的内容,从而生成对应的身份验证页面。
步骤S30,通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件。FreeMarker是一种基于模板和要改变的数据的模板引擎,可以用来生成HTML网页、电子邮件、配置文件、源代码等输出文本。模板和数据模型是FreeMarker生成输出所需的组成部分,其中,在所述身份验证配置模板中,通过${}来设置可替换的数据;
步骤S50,将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则、验签规则替换${}中的可替换的数据,从而进行不同形式的身份验证。
或者,所述身份验证配置模板还可以是存放在独立的服务器上,应用可以通过HTTP访问所述身份验证配置模板,例如,开放平台上的应用通过HTTP访问所述身份验证配置模板。应用可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的应用选择适合的加密规则、解密规则、签名规则、验签规则。应用HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${.}的可替换的数据,从而形成适于开放平台和服务方之间的身份认证规则。
图3所示为身份验证配置程序50的程序模块图。在本实施例中,身份验证配置程序50被分割为多个模块,该多个模块被存储于存储器13中,并由处理器14执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
所述身份验证配置程序50可以被分割为:身份认证规则封装模块501、模板建立模块502、身份验证配置模板处理模块503,
其中,身份认证规则封装模块501用于在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装,以便在后期替换${}中的内容,从而生成对应的身份验证页面。
其中,模板建立模块502通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件。FreeMarker是一种基于模板和要改变的数据的模板引擎,可以用来生成HTML网页、电子邮件、配置文件、源代码等输出文本。模板和数据模型是FreeMarker生成输出所需的组成部分,其中,在所述身份验证配置模板中,通过${}来设置可替换的数据。
其中,身份验证配置模板处理模块503将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则、验签规则替换${}中的可替换的数据,从而进行不同形式的身份验证。
下面以开放平台和服务方之间的身份认证来说明。开放平台和服务方之间需要采用一种身份认证方式,所述身份认证方式包括加密规则、解密规则、签名规则、验签规则。所述JAVA应用可以是该开放平台上的应用,JAVA应用是通过建立.java类形成。java类中可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的JAVA应用选择适合的加密规则、解密规则、签名规则、验签规则。而在选择之后,java应用则利用API接口调用以依赖包形式嵌入在java应用中的身份验证配置模板,由于身份验证配置模板中设置有关于加密规则、解密规则、签名规则、验签规则的封装,并且还通过${}设置有可替换的数据。Java应用调用身份验证配置模板,使得选择的加密规则、解密规则、签名规则、验签规则替换${}中的可替换数据,从而形成适于开放平台和服务方之间的身份认证规则。服务方与开放平台之间的通讯则采用所配置的加密规则、解密规则、签名规则、验签规则来完成身份认证。
或者,身份验证配置模板处理模块503还可以将所述身份验证配置模板存放在独立的服务器上,应用可以通过HTTP访问所述身份验证配置模板,例如,开放平台上的应用通过HTTP访问所述身份验证配置模板。应用可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的应用选择适合的加密规则、解密规则、签名规则、验签规则。应用HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${..}的可替换的数据,从而形成适于开放平台和服务方之间的身份认证规则。
优选地,模板建立模块502通过FreeMarker模板引擎建立身份验证配置模板的具体步骤如下:
首先新建一个Maven项目;
修改.xml配置文件,增加freemark依赖;
在src/main/java的包下添加一个名为“templates”目录,用于存放所有的freemarker模板;
在src/main/java/templates目录下添加名为“product.ftl”的FreeMarker模板,其中,
模板的内容可以是包括如下内容:
加密规则:${Encryption rules}
解密规则:${Decryption rules}
签名规则:${Signature rule}
验签规则:${Inspection rules}。
使用FreeMarker可以读取到模板内容,将数据与模板绑定并渲染出对应的身份认证页面。具体说,根据不同的加密规则、解密规则、签名规则、验签规则的封装,替换${}的内容,从而实现不同的加密规则、解密规则、签名规则、验签规则。
优选地,如图4所示,身份认证规则封装模块501包括签名规则封装单元5011、加密规则封装单元5012、解密规则封装单元5013、验签规则封装单元5014。所述签名规则封装单元5011用于将各种签名规则进行封装,加密规则封装单元5012用于对各种解密规则进行封装。解密规则封装单元5013用于对各种解密规则进行封装、验签规则封装单元5014用于对各种验签规则进行封装。
优选地,加密规则、解密规则采用的算法至少包括MD5、RSA、DES、AES、Base64。
优选地,签名规则、验签规则采用的算法至少包括RSA、DSA和ECDSA。
优选地,身份验证配置模板处理模块503采用正则表达式搜索插值符号${},并将所选择的签名规则、加密规则、解密规则、验签规则替换掉插值符号${}中的可替换内容。
将各种签名规则、加密规则、解密规则、验签规则分别对应封装。例如,签名规则的算法为SHA256WithRSA,加密规则的算法是RES,模式是CFB,填充方式是PKCS5Padding。通过在FreeMarker中设置插值符号${},利用正则表达式搜索插值符号${},并将其中的内容替换为对应的封装的签名规则、加密规则、解密规则、验签规则。从而形成能够适用于不同应用场景的身份验证页面。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括身份验证配置程序等,所述身份验证配置程序被处理器12执行时实现如下操作:
步骤S10,在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装,以便在后期替换${}中的内容,从而生成对应的身份验证页面。
步骤S30,通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件。FreeMarker是一种基于模板和要改变的数据的模板引擎,可以用来生成HTML网页、电子邮件、配置文件、源代码等输出文本。模板和数据模型是FreeMarker生成输出所需的组成部分,其中,在所述身份验证配置模板中,通过${}来设置可替换的数据;
步骤S50,将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则、验签规则替换${}中的可替换的数据,从而进行不同形式的身份验证。
或者,所述身份验证配置模板还可以是存放在独立的服务器上,应用可以通过HTTP访问所述身份验证配置模板,例如,开放平台上的应用通过HTTP访问所述身份验证配置模板。应用可以设置选择加密规则、解密规则、签名规则、验签规则的一些模块,例如按钮、勾选框等。开放平台和服务方之间则可以通过开放平台上的应用选择适合的加密规则、解密规则、签名规则、验签规则。应用HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则、验签规则替换身份验证配置模板中${..}的可替换的数据,从而形成适于开放平台和服务方之间的身份认证规则。
本发明之计算机可读存储介质的具体实施方式与上述库房监控方法以及电子装置1的具体实施方式大致相同,在此不再赘述。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种身份验证配置方法,应用于电子装置,其特征在于,该方法包括:
在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装;
通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件,其中,在所述身份验证配置模板中,通过插值符号${ }来设置可替换的数据;
将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,JAVA应用设置有对应加密规则、解密规则、签名规则和验签规则的选择框,在选择适合的加密规则、解密规则、签名规则和验签规则之后,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,使封装的加密规则、解密规则、签名规则和验签规则替换插值符号${ }中的可替换的数据,从而形成相应的身份认证规则,
或者,所述身份验证配置模板存放在服务器上,JAVA应用设置有对应加密规则、解密规则、签名规则和验签规则的选择框,在选择适合的加密规则、解密规则、签名规则和验签规则之后,JAVA应用通过HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则和验签规则替换身份验证配置模板中${..}的可替换的数据,从而形成相应的身份认证规则。
2.根据权利要求1所述的身份验证配置方法,其特征在于,
利用FreeMarker模板引擎建立身份验证配置模板的步骤包括:
新建Maven项目;
修改.xml配置文件,增加freemark依赖;
在src/main/java的包下添加templates目录;
在src/main/java/templates目录下添加以.ftl文件形式存在的FreeMarker模板。
3.根据权利要求1所述的身份验证配置方法,其特征在于,
加密规则和解密规则采用的算法至少包括MD5、RSA、DES、AES和Base64。
4.根据权利要求1所述的身份验证配置方法,其特征在于,
签名规则和验签规则采用的算法至少包括RSA、DSA和ECDSA。
5.根据权利要求3所述的身份验证配置方法,其特征在于,
AES具有CBC、CFB、ECB、OFB、PCBC5种模式。
6.一种电子装置,其特征在于,所述电子装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的身份验证配置程序,所述身份验证配置程序被所述处理器执行时实现如下步骤:
在FreeMarker模板引擎中将加密规则、解密规则、签名规则、验签规则的数据模型分别进行封装;
通过FreeMarker模板引擎建立身份验证配置模板,生成.ftl文件,其中,在所述身份验证配置模板中,通过插值符号${ }来设置可替换的数据;
将所述身份验证配置模板作为依赖包嵌入到JAVA应用中,JAVA应用设置有对应加密规则、解密规则、签名规则和验签规则的选择框,在选择适合的加密规则、解密规则、签名规则和验签规则之后,在所述JAVA应用运行时通过接口调用所述身份验证配置模板,将封装的加密规则、解密规则、签名规则和验签规则替换${ }中的可替换的数据,从而生成对应的身份验证页面,
或者,所述身份验证配置模板存放在服务器上,JAVA应用设置有对应加密规则、解密规则、签名规则和验签规则的选择框,在选择适合的加密规则、解密规则、签名规则和验签规则之后,JAVA应用通过HTTP访问所述身份验证配置模板,FreeMarker模板引擎动态转换身份验证配置模板,用封装的加密规则、解密规则、签名规则和验签规则替换身份验证配置模板中${..}的可替换的数据,从而生成对应的身份验证页面。
7.根据权利要求6所述的电子装置,其特征在于,
利用FreeMarker模板引擎建立身份验证配置模板的步骤包括:
新建Maven项目;
修改.xml配置文件,增加freemark依赖;
在src/main/java的包下添加templates目录,用于存放所有的FreeMarker模板;
在src/main/java/templates目录下添加.ftl的FreeMarker模板。
8.根据权利要求6所述的电子装置,其特征在于,
加密规则和解密规则采用的算法至少包括MD5、RSA、DES、AES和Base64;签名规则和验签规则采用的算法至少包括RSA、DSA和ECDSA。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括身份验证配置程序,所述身份验证配置程序被处理器执行时,实现如权利要求1至5中任一项所述的身份验证配置方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518453.8A CN109787768B (zh) | 2018-12-12 | 2018-12-12 | 一种身份验证配置方法、装置及计算机可读存储介质 |
PCT/CN2019/089183 WO2020119037A1 (zh) | 2018-12-12 | 2019-05-30 | 一种身份验证配置方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518453.8A CN109787768B (zh) | 2018-12-12 | 2018-12-12 | 一种身份验证配置方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109787768A CN109787768A (zh) | 2019-05-21 |
CN109787768B true CN109787768B (zh) | 2021-08-03 |
Family
ID=66495850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811518453.8A Active CN109787768B (zh) | 2018-12-12 | 2018-12-12 | 一种身份验证配置方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109787768B (zh) |
WO (1) | WO2020119037A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787768B (zh) * | 2018-12-12 | 2021-08-03 | 平安科技(深圳)有限公司 | 一种身份验证配置方法、装置及计算机可读存储介质 |
CN110336819A (zh) * | 2019-07-09 | 2019-10-15 | 四川新网银行股份有限公司 | 基于机器学习的加解密自助组合方法 |
CN110611674B (zh) * | 2019-09-20 | 2021-01-01 | 北京三快在线科技有限公司 | 不同计算机系统之间的协议交互方法、系统及存储介质 |
CN111190587A (zh) * | 2019-12-26 | 2020-05-22 | 曙光信息产业(北京)有限公司 | 一种基于jdbc自动生成工程化前端代码的方法及系统 |
CN111917783B (zh) * | 2020-08-06 | 2023-06-23 | 吉林亿联银行股份有限公司 | 一种通用报文的验证方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090049384A (ko) * | 2007-11-13 | 2009-05-18 | 에스케이 텔레콤주식회사 | 동적인 블로그 형성 시스템 및 방법, 그리고 이에 적용되는서버 |
CN102629204A (zh) * | 2012-03-09 | 2012-08-08 | 中国联合网络通信集团有限公司 | 网页源代码生成方法及装置 |
CN104537012A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 数据处理方法和装置 |
CN106447277A (zh) * | 2015-08-10 | 2017-02-22 | 威海兴达信息科技有限公司 | 一种办公自动化管理系统 |
CN106598620A (zh) * | 2016-12-21 | 2017-04-26 | 深圳南北互联网金融服务有限公司 | 代码生成方法及代码生成器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI231441B (en) * | 2003-12-24 | 2005-04-21 | Inst Information Industry | Automated integration method of hardware/software interface for SIP development |
US9274755B2 (en) * | 2012-09-05 | 2016-03-01 | Red Hat Israel, Ltd. | Infrastructure for generating code using annotation and template generators |
CN106453517A (zh) * | 2016-09-20 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于freemarker的配置文件生成方法 |
CN109787768B (zh) * | 2018-12-12 | 2021-08-03 | 平安科技(深圳)有限公司 | 一种身份验证配置方法、装置及计算机可读存储介质 |
-
2018
- 2018-12-12 CN CN201811518453.8A patent/CN109787768B/zh active Active
-
2019
- 2019-05-30 WO PCT/CN2019/089183 patent/WO2020119037A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090049384A (ko) * | 2007-11-13 | 2009-05-18 | 에스케이 텔레콤주식회사 | 동적인 블로그 형성 시스템 및 방법, 그리고 이에 적용되는서버 |
CN102629204A (zh) * | 2012-03-09 | 2012-08-08 | 中国联合网络通信集团有限公司 | 网页源代码生成方法及装置 |
CN104537012A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 数据处理方法和装置 |
CN106447277A (zh) * | 2015-08-10 | 2017-02-22 | 威海兴达信息科技有限公司 | 一种办公自动化管理系统 |
CN106598620A (zh) * | 2016-12-21 | 2017-04-26 | 深圳南北互联网金融服务有限公司 | 代码生成方法及代码生成器 |
Also Published As
Publication number | Publication date |
---|---|
WO2020119037A1 (zh) | 2020-06-18 |
CN109787768A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787768B (zh) | 一种身份验证配置方法、装置及计算机可读存储介质 | |
JP5990654B2 (ja) | アプリケーションコード難読化装置及びその方法 | |
JP5996810B2 (ja) | 自己書換え基盤のアプリケーションコード難読化装置及びその方法 | |
CN111475824B (zh) | 数据访问方法、装置、设备和存储介质 | |
EP3038004A1 (en) | Method for providing security for common intermediate language-based program | |
CN106203006A (zh) | 基于dex与so文件动态执行的Android应用加固方法 | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
CN108399319B (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
KR20080105721A (ko) | 문서 보안 방법 | |
CN112115429B (zh) | 一种Java类加密、解密方法及计算机可读存储介质 | |
CN107947917A (zh) | 一种生成白盒密钥的方法及装置 | |
CN113010856A (zh) | 一种动态非对称加解密的JavaScript代码混淆方法与系统 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN113704706B (zh) | 代码加固方法、装置 | |
US20140059341A1 (en) | Creating and accessing encrypted web based content in hybrid applications | |
CN109408486B (zh) | 文件发布方法和系统、发布服务器和文件生成装置 | |
CN108111622A (zh) | 一种下载白盒库文件的方法、装置及系统 | |
CN108183796A (zh) | 利用白盒库文件和白盒密钥文件进行加解密的方法及装置 | |
CN108134673A (zh) | 一种生成白盒库文件的方法及装置 | |
CN112966227A (zh) | 代码加密解密方法和装置、存储介质 | |
JP6935617B2 (ja) | 中間言語ファイルのロード速度改善のための方法およびシステム | |
CN107871066A (zh) | 基于安卓系统的代码编译方法及装置 | |
CN110535642B (zh) | 一种分散存储密钥的方法、智能终端及存储介质 | |
KR101979320B1 (ko) | 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 | |
CN107968793A (zh) | 一种下载白盒密钥的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |