@@ -264,92 +264,6 @@ ossl_dsa_get_params(VALUE self)
264
264
return hash ;
265
265
}
266
266
267
- /*
268
- * call-seq:
269
- * dsa.syssign(string) -> aString
270
- *
271
- * Computes and returns the DSA signature of _string_, where _string_ is
272
- * expected to be an already-computed message digest of the original input
273
- * data. The signature is issued using the private key of this DSA instance.
274
- *
275
- * === Parameters
276
- * * _string_ is a message digest of the original input data to be signed.
277
- *
278
- * === Example
279
- * dsa = OpenSSL::PKey::DSA.new(2048)
280
- * doc = "Sign me"
281
- * digest = OpenSSL::Digest.digest('SHA1', doc)
282
- * sig = dsa.syssign(digest)
283
- *
284
- *
285
- */
286
- static VALUE
287
- ossl_dsa_sign (VALUE self , VALUE data )
288
- {
289
- DSA * dsa ;
290
- const BIGNUM * dsa_q ;
291
- unsigned int buf_len ;
292
- VALUE str ;
293
-
294
- GetDSA (self , dsa );
295
- DSA_get0_pqg (dsa , NULL , & dsa_q , NULL );
296
- if (!dsa_q )
297
- ossl_raise (eDSAError , "incomplete DSA" );
298
- if (!DSA_PRIVATE (self , dsa ))
299
- ossl_raise (eDSAError , "Private DSA key needed!" );
300
- StringValue (data );
301
- str = rb_str_new (0 , DSA_size (dsa ));
302
- if (!DSA_sign (0 , (unsigned char * )RSTRING_PTR (data ), RSTRING_LENINT (data ),
303
- (unsigned char * )RSTRING_PTR (str ),
304
- & buf_len , dsa )) { /* type is ignored (0) */
305
- ossl_raise (eDSAError , NULL );
306
- }
307
- rb_str_set_len (str , buf_len );
308
-
309
- return str ;
310
- }
311
-
312
- /*
313
- * call-seq:
314
- * dsa.sysverify(digest, sig) -> true | false
315
- *
316
- * Verifies whether the signature is valid given the message digest input. It
317
- * does so by validating _sig_ using the public key of this DSA instance.
318
- *
319
- * === Parameters
320
- * * _digest_ is a message digest of the original input data to be signed
321
- * * _sig_ is a DSA signature value
322
- *
323
- * === Example
324
- * dsa = OpenSSL::PKey::DSA.new(2048)
325
- * doc = "Sign me"
326
- * digest = OpenSSL::Digest.digest('SHA1', doc)
327
- * sig = dsa.syssign(digest)
328
- * puts dsa.sysverify(digest, sig) # => true
329
- *
330
- */
331
- static VALUE
332
- ossl_dsa_verify (VALUE self , VALUE digest , VALUE sig )
333
- {
334
- DSA * dsa ;
335
- int ret ;
336
-
337
- GetDSA (self , dsa );
338
- StringValue (digest );
339
- StringValue (sig );
340
- /* type is ignored (0) */
341
- ret = DSA_verify (0 , (unsigned char * )RSTRING_PTR (digest ), RSTRING_LENINT (digest ),
342
- (unsigned char * )RSTRING_PTR (sig ), RSTRING_LENINT (sig ), dsa );
343
- if (ret < 0 ) {
344
- ossl_raise (eDSAError , NULL );
345
- }
346
- else if (ret == 1 ) {
347
- return Qtrue ;
348
- }
349
-
350
- return Qfalse ;
351
- }
352
-
353
267
/*
354
268
* Document-method: OpenSSL::PKey::DSA#set_pqg
355
269
* call-seq:
@@ -404,8 +318,6 @@ Init_ossl_dsa(void)
404
318
rb_define_alias (cDSA , "to_pem" , "export" );
405
319
rb_define_alias (cDSA , "to_s" , "export" );
406
320
rb_define_method (cDSA , "to_der" , ossl_dsa_to_der , 0 );
407
- rb_define_method (cDSA , "syssign" , ossl_dsa_sign , 1 );
408
- rb_define_method (cDSA , "sysverify" , ossl_dsa_verify , 2 );
409
321
410
322
DEF_OSSL_PKEY_BN (cDSA , dsa , p );
411
323
DEF_OSSL_PKEY_BN (cDSA , dsa , q );
0 commit comments