11package org .bouncycastle .jcajce .provider .asymmetric .mldsa ;
22
3- import java .io .ByteArrayOutputStream ;
43import java .security .InvalidKeyException ;
54import java .security .NoSuchAlgorithmException ;
65import java .security .PrivateKey ;
1817public class SignatureSpi
1918 extends java .security .Signature
2019{
21- private ByteArrayOutputStream bOut ;
2220 private MLDSASigner signer ;
2321 private MLDSAParameters parameters ;
2422
2523 protected SignatureSpi (MLDSASigner signer )
2624 {
2725 super ("MLDSA" );
2826
29- this .bOut = new ByteArrayOutputStream ();
3027 this .signer = signer ;
3128 this .parameters = null ;
3229 }
@@ -35,7 +32,6 @@ protected SignatureSpi(MLDSASigner signer, MLDSAParameters parameters)
3532 {
3633 super (MLDSAParameterSpec .fromName (parameters .getName ()).getName ());
3734
38- this .bOut = new ByteArrayOutputStream ();
3935 this .signer = signer ;
4036 this .parameters = parameters ;
4137 }
@@ -109,26 +105,20 @@ protected void engineInitSign(PrivateKey privateKey)
109105 protected void engineUpdate (byte b )
110106 throws SignatureException
111107 {
112- bOut . write (b );
108+ signer . update (b );
113109 }
114110
115111 protected void engineUpdate (byte [] b , int off , int len )
116112 throws SignatureException
117113 {
118- bOut . write (b , off , len );
114+ signer . update (b , off , len );
119115 }
120116
121117 protected byte [] engineSign ()
122118 throws SignatureException
123119 {
124120 try
125121 {
126- byte [] message = bOut .toByteArray ();
127-
128- bOut .reset ();
129-
130- signer .update (message , 0 , message .length );
131-
132122 return signer .generateSignature ();
133123 }
134124 catch (Exception e )
@@ -140,12 +130,6 @@ protected byte[] engineSign()
140130 protected boolean engineVerify (byte [] sigBytes )
141131 throws SignatureException
142132 {
143- byte [] message = bOut .toByteArray ();
144-
145- bOut .reset ();
146-
147- signer .update (message , 0 , message .length );
148-
149133 return signer .verifySignature (sigBytes );
150134 }
151135
0 commit comments