DSA_SIG_new.3ossl 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. .\" -*- mode: troff; coding: utf-8 -*-
  2. .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
  3. .\"
  4. .\" Standard preamble:
  5. .\" ========================================================================
  6. .de Sp \" Vertical space (when we can't use .PP)
  7. .if t .sp .5v
  8. .if n .sp
  9. ..
  10. .de Vb \" Begin verbatim text
  11. .ft CW
  12. .nf
  13. .ne \\$1
  14. ..
  15. .de Ve \" End verbatim text
  16. .ft R
  17. .fi
  18. ..
  19. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
  20. .ie n \{\
  21. . ds C` ""
  22. . ds C' ""
  23. 'br\}
  24. .el\{\
  25. . ds C`
  26. . ds C'
  27. 'br\}
  28. .\"
  29. .\" Escape single quotes in literal strings from groff's Unicode transform.
  30. .ie \n(.g .ds Aq \(aq
  31. .el .ds Aq '
  32. .\"
  33. .\" If the F register is >0, we'll generate index entries on stderr for
  34. .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
  35. .\" entries marked with X<> in POD. Of course, you'll have to process the
  36. .\" output yourself in some meaningful fashion.
  37. .\"
  38. .\" Avoid warning from groff about undefined register 'F'.
  39. .de IX
  40. ..
  41. .nr rF 0
  42. .if \n(.g .if rF .nr rF 1
  43. .if (\n(rF:(\n(.g==0)) \{\
  44. . if \nF \{\
  45. . de IX
  46. . tm Index:\\$1\t\\n%\t"\\$2"
  47. ..
  48. . if !\nF==2 \{\
  49. . nr % 0
  50. . nr F 2
  51. . \}
  52. . \}
  53. .\}
  54. .rr rF
  55. .\" ========================================================================
  56. .\"
  57. .IX Title "DSA_SIG_NEW 3ossl"
  58. .TH DSA_SIG_NEW 3ossl 2025-01-17 3.4.0 OpenSSL
  59. .\" For nroff, turn off justification. Always turn off hyphenation; it makes
  60. .\" way too many mistakes in technical documents.
  61. .if n .ad l
  62. .nh
  63. .SH NAME
  64. DSA_SIG_get0, DSA_SIG_set0,
  65. DSA_SIG_new, DSA_SIG_free \- allocate and free DSA signature objects
  66. .SH SYNOPSIS
  67. .IX Header "SYNOPSIS"
  68. .Vb 1
  69. \& #include <openssl/dsa.h>
  70. \&
  71. \& DSA_SIG *DSA_SIG_new(void);
  72. \& void DSA_SIG_free(DSA_SIG *a);
  73. \& void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
  74. \& int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s);
  75. .Ve
  76. .SH DESCRIPTION
  77. .IX Header "DESCRIPTION"
  78. \&\fBDSA_SIG_new()\fR allocates an empty \fBDSA_SIG\fR structure.
  79. .PP
  80. \&\fBDSA_SIG_free()\fR frees the \fBDSA_SIG\fR structure and its components. The
  81. values are erased before the memory is returned to the system.
  82. If the argument is NULL, nothing is done.
  83. .PP
  84. \&\fBDSA_SIG_get0()\fR returns internal pointers to the \fBr\fR and \fBs\fR values contained
  85. in \fBsig\fR.
  86. .PP
  87. The \fBr\fR and \fBs\fR values can be set by calling \fBDSA_SIG_set0()\fR and passing the
  88. new values for \fBr\fR and \fBs\fR as parameters to the function. Calling this
  89. function transfers the memory management of the values to the DSA_SIG object,
  90. and therefore the values that have been passed in should not be freed directly
  91. after this function has been called.
  92. .SH "RETURN VALUES"
  93. .IX Header "RETURN VALUES"
  94. If the allocation fails, \fBDSA_SIG_new()\fR returns \fBNULL\fR and sets an
  95. error code that can be obtained by
  96. \&\fBERR_get_error\fR\|(3). Otherwise it returns a pointer
  97. to the newly allocated structure.
  98. .PP
  99. \&\fBDSA_SIG_free()\fR returns no value.
  100. .PP
  101. \&\fBDSA_SIG_set0()\fR returns 1 on success or 0 on failure.
  102. .SH "SEE ALSO"
  103. .IX Header "SEE ALSO"
  104. \&\fBEVP_PKEY_new\fR\|(3), \fBEVP_PKEY_free\fR\|(3), \fBEVP_PKEY_get_bn_param\fR\|(3),
  105. \&\fBERR_get_error\fR\|(3)
  106. .SH COPYRIGHT
  107. .IX Header "COPYRIGHT"
  108. Copyright 2000\-2024 The OpenSSL Project Authors. All Rights Reserved.
  109. .PP
  110. Licensed under the Apache License 2.0 (the "License"). You may not use
  111. this file except in compliance with the License. You can obtain a copy
  112. in the file LICENSE in the source distribution or at
  113. <https://www.openssl.org/source/license.html>.