- NAME
- SYNOPSIS
- DESCRIPTION
- NOTES
- RETURN VALUES
- SEE ALSO
- COPYRIGHT

# 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

# 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);

# DESCRIPTION

X509_get0_sm2_id() gets the ID value of an SM2 certificate x by returning an ASN1_OCTET_STRING object which should not be freed by the caller.

X509_set0_sm2_id() sets the sm2_id value to an SM2 certificate 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 X509_REQ objects instead of X509.

# 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.

# RETURN VALUES

X509_set0_sm2_id() and X509_REQ_set0_sm2_id() do not return a value.

# SEE ALSO

X509_verify(3), SM2(7)

# 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 https://www.openssl.org/source/license.html.