@@ -333,92 +333,6 @@ ossl_dsa_to_public_key(VALUE self)
333
333
return obj ;
334
334
}
335
335
336
- /*
337
- * call-seq:
338
- * dsa.syssign(string) -> aString
339
- *
340
- * Computes and returns the DSA signature of _string_, where _string_ is
341
- * expected to be an already-computed message digest of the original input
342
- * data. The signature is issued using the private key of this DSA instance.
343
- *
344
- * === Parameters
345
- * * _string_ is a message digest of the original input data to be signed.
346
- *
347
- * === Example
348
- * dsa = OpenSSL::PKey::DSA.new(2048)
349
- * doc = "Sign me"
350
- * digest = OpenSSL::Digest.digest('SHA1', doc)
351
- * sig = dsa.syssign(digest)
352
- *
353
- *
354
- */
355
- static VALUE
356
- ossl_dsa_sign (VALUE self , VALUE data )
357
- {
358
- DSA * dsa ;
359
- const BIGNUM * dsa_q ;
360
- unsigned int buf_len ;
361
- VALUE str ;
362
-
363
- GetDSA (self , dsa );
364
- DSA_get0_pqg (dsa , NULL , & dsa_q , NULL );
365
- if (!dsa_q )
366
- ossl_raise (eDSAError , "incomplete DSA" );
367
- if (!DSA_PRIVATE (self , dsa ))
368
- ossl_raise (eDSAError , "Private DSA key needed!" );
369
- StringValue (data );
370
- str = rb_str_new (0 , DSA_size (dsa ));
371
- if (!DSA_sign (0 , (unsigned char * )RSTRING_PTR (data ), RSTRING_LENINT (data ),
372
- (unsigned char * )RSTRING_PTR (str ),
373
- & buf_len , dsa )) { /* type is ignored (0) */
374
- ossl_raise (eDSAError , NULL );
375
- }
376
- rb_str_set_len (str , buf_len );
377
-
378
- return str ;
379
- }
380
-
381
- /*
382
- * call-seq:
383
- * dsa.sysverify(digest, sig) -> true | false
384
- *
385
- * Verifies whether the signature is valid given the message digest input. It
386
- * does so by validating _sig_ using the public key of this DSA instance.
387
- *
388
- * === Parameters
389
- * * _digest_ is a message digest of the original input data to be signed
390
- * * _sig_ is a DSA signature value
391
- *
392
- * === Example
393
- * dsa = OpenSSL::PKey::DSA.new(2048)
394
- * doc = "Sign me"
395
- * digest = OpenSSL::Digest.digest('SHA1', doc)
396
- * sig = dsa.syssign(digest)
397
- * puts dsa.sysverify(digest, sig) # => true
398
- *
399
- */
400
- static VALUE
401
- ossl_dsa_verify (VALUE self , VALUE digest , VALUE sig )
402
- {
403
- DSA * dsa ;
404
- int ret ;
405
-
406
- GetDSA (self , dsa );
407
- StringValue (digest );
408
- StringValue (sig );
409
- /* type is ignored (0) */
410
- ret = DSA_verify (0 , (unsigned char * )RSTRING_PTR (digest ), RSTRING_LENINT (digest ),
411
- (unsigned char * )RSTRING_PTR (sig ), RSTRING_LENINT (sig ), dsa );
412
- if (ret < 0 ) {
413
- ossl_raise (eDSAError , NULL );
414
- }
415
- else if (ret == 1 ) {
416
- return Qtrue ;
417
- }
418
-
419
- return Qfalse ;
420
- }
421
-
422
336
/*
423
337
* Document-method: OpenSSL::PKey::DSA#set_pqg
424
338
* call-seq:
@@ -475,8 +389,6 @@ Init_ossl_dsa(void)
475
389
rb_define_alias (cDSA , "to_s" , "export" );
476
390
rb_define_method (cDSA , "to_der" , ossl_dsa_to_der , 0 );
477
391
rb_define_method (cDSA , "public_key" , ossl_dsa_to_public_key , 0 );
478
- rb_define_method (cDSA , "syssign" , ossl_dsa_sign , 1 );
479
- rb_define_method (cDSA , "sysverify" , ossl_dsa_verify , 2 );
480
392
481
393
DEF_OSSL_PKEY_BN (cDSA , dsa , p );
482
394
DEF_OSSL_PKEY_BN (cDSA , dsa , q );
0 commit comments