📄 iso9796d2psssigner.html
字号:
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_IMPLICIT">Constant Field Values</A></DL></DL><HR><A NAME="TRAILER_RIPEMD160"><!-- --></A><H3>TRAILER_RIPEMD160</H3><PRE>public static final int <B>TRAILER_RIPEMD160</B></PRE><DL><DL><DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD160">Constant Field Values</A></DL></DL><HR><A NAME="TRAILER_RIPEMD128"><!-- --></A><H3>TRAILER_RIPEMD128</H3><PRE>public static final int <B>TRAILER_RIPEMD128</B></PRE><DL><DL><DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD128">Constant Field Values</A></DL></DL><HR><A NAME="TRAILER_SHA1"><!-- --></A><H3>TRAILER_SHA1</H3><PRE>public static final int <B>TRAILER_SHA1</B></PRE><DL><DL><DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA1">Constant Field Values</A></DL></DL><!-- ========= CONSTRUCTOR DETAIL ======== --><A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>Constructor Detail</B></FONT></TH></TR></TABLE><A NAME="ISO9796d2PSSSigner(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int, boolean)"><!-- --></A><H3>ISO9796d2PSSSigner</H3><PRE>public <B>ISO9796d2PSSSigner</B>(<A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A> cipher, <A HREF="../../../../org/bouncycastle/crypto/Digest.html" title="interface in org.bouncycastle.crypto">Digest</A> digest, int saltLength, boolean implicit)</PRE><DL><DD>Generate a signer for the with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.<P><DL><DT><B>Parameters:</B><DD><CODE>cipher</CODE> - base cipher to use for signature creation/verification<DD><CODE>digest</CODE> - digest to use.<DD><CODE>saltLength</CODE> - length of salt in bytes.<DD><CODE>implicit</CODE> - whether or not the trailer is implicit or gives the hash.</DL></DL><HR><A NAME="ISO9796d2PSSSigner(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, int)"><!-- --></A><H3>ISO9796d2PSSSigner</H3><PRE>public <B>ISO9796d2PSSSigner</B>(<A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A> cipher, <A HREF="../../../../org/bouncycastle/crypto/Digest.html" title="interface in org.bouncycastle.crypto">Digest</A> digest, int saltLength)</PRE><DL><DD>Constructor for a signer with an explicit digest trailer.<P><DL><DT><B>Parameters:</B><DD><CODE>cipher</CODE> - cipher to use.<DD><CODE>digest</CODE> - digest to sign with.<DD><CODE>saltLength</CODE> - length of salt in bytes.</DL></DL><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>Method Detail</B></FONT></TH></TR></TABLE><A NAME="init(boolean, org.bouncycastle.crypto.CipherParameters)"><!-- --></A><H3>init</H3><PRE>public void <B>init</B>(boolean forSigning, <A HREF="../../../../org/bouncycastle/crypto/CipherParameters.html" title="interface in org.bouncycastle.crypto">CipherParameters</A> param)</PRE><DL><DD>Initialise the signer.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">init</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>forSigning</CODE> - true if for signing, false if for verification.<DD><CODE>param</CODE> - parameters for signature generation/verification. If the parameters are for generation they should be a ParametersWithRandom, a ParametersWithSalt, or just an RSAKeyParameters object. If RSAKeyParameters are passed in a SecureRandom will be created.<DT><B>Throws:</B><DD><CODE>java.lang.IllegalArgumentException</CODE> - if wrong parameter type or a fixed salt is passed in which is the wrong length.</DL></DD></DL><HR><A NAME="update(byte)"><!-- --></A><H3>update</H3><PRE>public void <B>update</B>(byte b)</PRE><DL><DD>update the internal digest with the byte b<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#update(byte)">update</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="update(byte[], int, int)"><!-- --></A><H3>update</H3><PRE>public void <B>update</B>(byte[] in, int off, int len)</PRE><DL><DD>update the internal digest with the byte array in<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#update(byte[], int, int)">update</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="reset()"><!-- --></A><H3>reset</H3><PRE>public void <B>reset</B>()</PRE><DL><DD>reset the internal state<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="generateSignature()"><!-- --></A><H3>generateSignature</H3><PRE>public byte[] <B>generateSignature</B>() throws <A HREF="../../../../org/bouncycastle/crypto/CryptoException.html" title="class in org.bouncycastle.crypto">CryptoException</A></PRE><DL><DD>generate a signature for the loaded message using the key we were initialised with.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#generateSignature()">generateSignature</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL><DT><B>Throws:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/CryptoException.html" title="class in org.bouncycastle.crypto">CryptoException</A></CODE></DL></DD></DL><HR><A NAME="verifySignature(byte[])"><!-- --></A><H3>verifySignature</H3><PRE>public boolean <B>verifySignature</B>(byte[] signature)</PRE><DL><DD>return true if the signature represents a ISO9796-2 signature for the passed in message.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html#verifySignature(byte[])">verifySignature</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/Signer.html" title="interface in org.bouncycastle.crypto">Signer</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="hasFullMessage()"><!-- --></A><H3>hasFullMessage</H3><PRE>public boolean <B>hasFullMessage</B>()</PRE><DL><DD>Return true if the full message was recoveredMessage.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html#hasFullMessage()">hasFullMessage</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html" title="interface in org.bouncycastle.crypto">SignerWithRecovery</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>true on full message recovery, false otherwise, or if not sure.<DT><B>See Also:</B><DD><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html#hasFullMessage()"><CODE>SignerWithRecovery.hasFullMessage()</CODE></A></DL></DD></DL><HR><A NAME="getRecoveredMessage()"><!-- --></A><H3>getRecoveredMessage</H3><PRE>public byte[] <B>getRecoveredMessage</B>()</PRE><DL><DD>Return a reference to the recoveredMessage message.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html#getRecoveredMessage()">getRecoveredMessage</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html" title="interface in org.bouncycastle.crypto">SignerWithRecovery</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>the full/partial recoveredMessage message.<DT><B>See Also:</B><DD><A HREF="../../../../org/bouncycastle/crypto/SignerWithRecovery.html#getRecoveredMessage()"><CODE>SignerWithRecovery.getRecoveredMessage()</CODE></A></DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" 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_bottom_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="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>Bouncy Castle Cryptography Library 1.38</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../org/bouncycastle/crypto/signers/GOST3410Signer.html" title="class in org.bouncycastle.crypto.signers"><B>PREV CLASS</B></A> <A HREF="../../../../org/bouncycastle/crypto/signers/ISO9796d2Signer.html" title="class in org.bouncycastle.crypto.signers"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/bouncycastle/crypto/signers/ISO9796d2PSSSigner.html" target="_top"><B>FRAMES</B></A> <A HREF="ISO9796d2PSSSigner.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_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -