mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
=pod
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
OSSL_CMP_MSG_get0_header,
 | 
						|
OSSL_CMP_MSG_update_transactionID,
 | 
						|
OSSL_CMP_CTX_setup_CRM,
 | 
						|
OSSL_CMP_MSG_read,
 | 
						|
OSSL_CMP_MSG_write,
 | 
						|
d2i_OSSL_CMP_MSG_bio,
 | 
						|
i2d_OSSL_CMP_MSG_bio
 | 
						|
- function(s) manipulating CMP messages
 | 
						|
 | 
						|
=head1 SYNOPSIS
 | 
						|
 | 
						|
  #include <openssl/cmp.h>
 | 
						|
 | 
						|
  OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg);
 | 
						|
  int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg);
 | 
						|
  OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR, int rid);
 | 
						|
  OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file);
 | 
						|
  int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg);
 | 
						|
  OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg);
 | 
						|
  int i2d_OSSL_CMP_MSG_bio(BIO *bio, const OSSL_CMP_MSG *msg);
 | 
						|
 | 
						|
=head1 DESCRIPTION
 | 
						|
 | 
						|
OSSL_CMP_MSG_get0_header() returns the header of the given CMP message.
 | 
						|
 | 
						|
OSSL_CMP_MSG_update_transactionID() updates the transactionID field
 | 
						|
in the header of the given message according to the CMP_CTX.
 | 
						|
This requires re-protecting the message (if it was protected).
 | 
						|
 | 
						|
OSSL_CMP_CTX_setup_CRM() creates a CRMF certificate request message
 | 
						|
for inclusion in a CMP request message based on details contained in I<ctx>.
 | 
						|
If the CMP context does not include a subject name set via
 | 
						|
L<OSSL_CMP_CTX_set1_subjectName(3)> but includes a reference certificate
 | 
						|
then it copies the subject DN from there
 | 
						|
if I<for_KUR> is set or the I<ctx> does not include a subjectAltName.
 | 
						|
The I<rid> defines the request identifier to use, which typically is 0.
 | 
						|
 | 
						|
OSSL_CMP_MSG_read() loads a DER-encoded OSSL_CMP_MSG from I<file>.
 | 
						|
 | 
						|
OSSL_CMP_MSG_write() stores the given OSSL_CMP_MSG to I<file> in DER encoding.
 | 
						|
 | 
						|
d2i_OSSL_CMP_MSG_bio() parses an ASN.1-encoded OSSL_CMP_MSG from the BIO I<bio>.
 | 
						|
It assigns a pointer to the new structure to I<*msg> if I<msg> is not NULL.
 | 
						|
 | 
						|
i2d_OSSL_CMP_MSG_bio() writes the OSSL_CMP_MSG I<msg> in ASN.1 encoding
 | 
						|
to BIO I<bio>.
 | 
						|
 | 
						|
=head1 NOTES
 | 
						|
 | 
						|
CMP is defined in RFC 4210.
 | 
						|
 | 
						|
=head1 RETURN VALUES
 | 
						|
 | 
						|
OSSL_CMP_MSG_get0_header() returns the intended pointer value as described above
 | 
						|
or NULL if the respective entry does not exist and on error.
 | 
						|
 | 
						|
OSSL_CMP_CTX_setup_CRM() returns a pointer to a OSSL_CRMF_MSG on success,
 | 
						|
NULL on error.
 | 
						|
 | 
						|
d2i_OSSL_CMP_MSG_bio() returns the parsed message or NULL on error.
 | 
						|
 | 
						|
OSSL_CMP_MSG_read() and d2i_OSSL_CMP_MSG_bio()
 | 
						|
return the parsed CMP message or NULL on error.
 | 
						|
 | 
						|
OSSL_CMP_MSG_write() and i2d_OSSL_CMP_MSG_bio() return
 | 
						|
the number of bytes successfully encoded or a negative value if an error occurs.
 | 
						|
 | 
						|
OSSL_CMP_MSG_update_transactionID() returns 1 on success, 0 on error.
 | 
						|
 | 
						|
=head1 HISTORY
 | 
						|
 | 
						|
The OpenSSL CMP support was added in OpenSSL 3.0.
 | 
						|
 | 
						|
=head1 COPYRIGHT
 | 
						|
 | 
						|
Copyright 2007-2021 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
 |