📄 signature.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_02) on Wed Mar 22 19:19:11 PST 2006 --><TITLE>Signature (Java Card API and Subsets)</TITLE><META NAME="keywords" CONTENT="javacard.security.Signature class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="Signature (Java Card API and Subsets)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Signature.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java Card </b><br><font size="-1">v2.2.2</font></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../javacard/security/SecretKey.html" title="interface in javacard.security"><B>PREV CLASS</B></A> <A HREF="../../javacard/security/SignatureMessageRecovery.html" title="interface in javacard.security"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?javacard/security/Signature.html" target="_top"><B>FRAMES</B></A> <A HREF="Signature.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javacard.security</FONT><BR>Class Signature</H2><PRE><A HREF="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</A> <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>javacard.security.Signature</B></PRE><HR><DL><DT><PRE>public abstract class <B>Signature</B><DT>extends <A HREF="../../java/lang/Object.html" title="class in java.lang">Object</A></DL></PRE><P>The <code>Signature</code> class is the base class for Signature algorithms. Implementations of Signature algorithms must extend this class and implement all the abstract methods. <p>The term "pad" is used in the public key signature algorithms below to refer to all the operations specified in the referenced scheme to transform the message digest into the encryption block size. <p> A tear or card reset event resets an initialized <code>Signature</code> object to the state it was in when previously initialized via a call to <code>init()</code>. For algorithms which support keys with transient key data sets, such as DES, triple DES, AES, and Korean SEED the <code>Signature</code> object key becomes uninitialized on clear events associated with the <code>Key</code> object used to initialize the <code>Signature</code> object. <p> Even if a transaction is in progress, update of intermediate result state in the implementation instance shall not participate in the transaction.<br> <p>Note:<ul> <li><em>On a tear or card reset event, the AES, DES, triple DES and Korean SEED algorithms in CBC mode reset the initial vector(IV) to 0. The initial vector(IV) can be re-initialized using the </em><code>init(Key, byte, byte[], short, short)</code><em> method.</em> </ul><P><P><HR><P><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>Field Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_AES_MAC_128_NOPAD">ALG_AES_MAC_128_NOPAD</A></B></CODE><BR> Signature algorithm <code>ALG_AES_MAC_128_NOPAD</code> generates a 16-byte MAC using AES with blocksize 128 in CBC mode and does not pad input data.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC4_ISO9797_1_M2_ALG3">ALG_DES_MAC4_ISO9797_1_M2_ALG3</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC4_ISO9797_1_M2_ALG3</code> generates a 4-byte MAC using a 2-key DES3 key according to ISO9797-1 MAC algorithm 3 with method 2 (also EMV'96, EMV'2000), where input data is padded using method 2 and the data is processed as described in MAC Algorithm 3 of the ISO 9797-1 specification.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC4_ISO9797_M1">ALG_DES_MAC4_ISO9797_M1</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC4_ISO9797_M1</code> generates a 4-byte MAC (most significant 4 bytes of encrypted block) using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC4_ISO9797_M2">ALG_DES_MAC4_ISO9797_M2</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC4_ISO9797_M2</code> generates a 4-byte MAC (most significant 4 bytes of encrypted block) using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC4_NOPAD">ALG_DES_MAC4_NOPAD</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC4_NOPAD</code> generates a 4-byte MAC (most significant 4 bytes of encrypted block) using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC4_PKCS5">ALG_DES_MAC4_PKCS5</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC4_PKCS5</code> generates a 4-byte MAC (most significant 4 bytes of encrypted block) using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC8_ISO9797_1_M2_ALG3">ALG_DES_MAC8_ISO9797_1_M2_ALG3</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC8_ISO9797_1_M2_ALG3</code> generates an 8-byte MAC using a 2-key DES3 key according to ISO9797-1 MAC algorithm 3 with method 2 (also EMV'96, EMV'2000), where input data is padded using method 2 and the data is processed as described in MAC Algorithm 3 of the ISO 9797-1 specification.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC8_ISO9797_M1">ALG_DES_MAC8_ISO9797_M1</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC8_ISO9797_M1</code> generates an 8-byte MAC using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC8_ISO9797_M2">ALG_DES_MAC8_ISO9797_M2</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC8_ISO9797_M2</code> generates an 8-byte MAC using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC8_NOPAD">ALG_DES_MAC8_NOPAD</A></B></CODE><BR> Signature algorithm <code>ALG_DES_MAC_8_NOPAD</code> generates an 8-byte MAC using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DES_MAC8_PKCS5">ALG_DES_MAC8_PKCS5</A></B></CODE><BR> Signature algorithm </code>ALG_DES_MAC8_PKCS5</code> generates an 8-byte MAC using DES in CBC mode or triple DES in outer CBC mode.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_DSA_SHA">ALG_DSA_SHA</A></B></CODE><BR> Signature algorithm <code>ALG_DSA_SHA</code> generates a 20-byte SHA digest and signs/verifies the digests using DSA.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_ECDSA_SHA">ALG_ECDSA_SHA</A></B></CODE><BR> Signature algorithm <CODE>ALG_ECDSA_SHA</CODE> generates a 20-byte SHA digest and signs/verifies the digest using ECDSA.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_HMAC_MD5">ALG_HMAC_MD5</A></B></CODE><BR> HMAC message authentication algorithm <code>ALG_HMAC_MD5</code> This algorithm generates an HMAC following the steps found in RFC: 2104 using MD5 as the hashing algorithm.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_HMAC_RIPEMD160">ALG_HMAC_RIPEMD160</A></B></CODE><BR> HMAC message authentication algorithm <code>ALG_HMAC_RIPEMD160</code> This algorithm generates an HMAC following the steps found in RFC: 2104 using RIPEMD160 as the hashing algorithm.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static byte</CODE></FONT></TD><TD><CODE><B><A HREF="../../javacard/security/Signature.html#ALG_HMAC_SHA_256">ALG_HMAC_SHA_256</A></B></CODE><BR> HMAC message authentication algorithm <code>ALG_HMAC_SHA_256</code>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -