=pod =head1 NAME X509_get0_sm2_id, X509_set0_sm2_id, X509_REQ_get0_sm2_id, X509_REQ_set0_sm2_id - get or set SM2 ID for certificate operations =head1 SYNOPSIS #include <openssl/x509.h> ASN1_OCTET_STRING *X509_get0_sm2_id(X509 *x); void X509_set0_sm2_id(X509 *x, ASN1_OCTET_STRING *sm2_id); ASN1_OCTET_STRING *X509_REQ_get0_sm2_id(X509_REQ *x); void X509_REQ_set0_sm2_id(X509_REQ *x, ASN1_OCTET_STRING *sm2_id); =head1 DESCRIPTION X509_get0_sm2_id() gets the ID value of an SM2 certificate B<x> by returning an B<ASN1_OCTET_STRING> object which should not be freed by the caller. X509_set0_sm2_id() sets the B<sm2_id> value to an SM2 certificate B<x>. Calling this function transfers the memory management of the value to the X509 object, and therefore the value that has been passed in should not be freed by the caller after this function has been called. X509_REQ_get0_sm2_id() and X509_REQ_set0_sm2_id() have the same functionality as X509_get0_sm2_id() and X509_set0_sm2_id() except that they deal with B<X509_REQ> objects instead of B<X509>. =head1 NOTES SM2 signature algorithm requires an ID value when generating and verifying a signature. The functions described in this manual provide the user with the ability to set and retrieve the SM2 ID value. =head1 RETURN VALUES X509_set0_sm2_id() and X509_REQ_set0_sm2_id() do not return a value. =head1 SEE ALSO L<X509_verify(3)>, L<SM2(7)> =head1 COPYRIGHT Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at L<https://www.openssl.org/source/license.html>. =cut