| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | OSSL_CRMF_MSG_get0_regCtrl_regToken, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_regToken, | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | OSSL_CRMF_MSG_get0_regCtrl_authenticator, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_authenticator, | 
					
						
							|  |  |  | OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo, | 
					
						
							|  |  |  | OSSL_CRMF_MSG_set0_SinglePubInfo, | 
					
						
							|  |  |  | OSSL_CRMF_MSG_set_PKIPublicationInfo_action, | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | OSSL_CRMF_MSG_get0_regCtrl_pkiPublicationInfo, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo, | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | OSSL_CRMF_MSG_get0_regCtrl_protocolEncrKey, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey, | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | OSSL_CRMF_MSG_get0_regCtrl_oldCertID, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_oldCertID, | 
					
						
							|  |  |  | OSSL_CRMF_CERTID_gen | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | - functions getting or setting CRMF Registration Controls | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  #include <openssl/crmf.h> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  |  ASN1_UTF8STRING | 
					
						
							|  |  |  |     *OSSL_CRMF_MSG_get0_regCtrl_regToken(const OSSL_CRMF_MSG *msg); | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  |  int OSSL_CRMF_MSG_set1_regCtrl_regToken(OSSL_CRMF_MSG *msg, | 
					
						
							|  |  |  |                                          const ASN1_UTF8STRING *tok); | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  |  ASN1_UTF8STRING | 
					
						
							|  |  |  |     *OSSL_CRMF_MSG_get0_regCtrl_authenticator(const OSSL_CRMF_MSG *msg); | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  |  int OSSL_CRMF_MSG_set1_regCtrl_authenticator(OSSL_CRMF_MSG *msg, | 
					
						
							|  |  |  |                                               const ASN1_UTF8STRING *auth); | 
					
						
							|  |  |  |  int OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo( | 
					
						
							|  |  |  |                                   OSSL_CRMF_PKIPUBLICATIONINFO *pi, | 
					
						
							|  |  |  |                                   OSSL_CRMF_SINGLEPUBINFO *spi); | 
					
						
							|  |  |  |  int OSSL_CRMF_MSG_set0_SinglePubInfo(OSSL_CRMF_SINGLEPUBINFO *spi, | 
					
						
							|  |  |  |                                       int method, GENERAL_NAME *nm); | 
					
						
							|  |  |  |  int OSSL_CRMF_MSG_set_PKIPublicationInfo_action( | 
					
						
							|  |  |  |                                   OSSL_CRMF_PKIPUBLICATIONINFO *pi, int action); | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  |  OSSL_CRMF_PKIPUBLICATIONINFO | 
					
						
							|  |  |  |     *OSSL_CRMF_MSG_get0_regCtrl_pkiPublicationInfo(const OSSL_CRMF_MSG *msg); | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  |  int OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo(OSSL_CRMF_MSG *msg, | 
					
						
							|  |  |  |                                         const OSSL_CRMF_PKIPUBLICATIONINFO *pi); | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  |  X509_PUBKEY | 
					
						
							|  |  |  |     *OSSL_CRMF_MSG_get0_regCtrl_protocolEncrKey(const OSSL_CRMF_MSG *msg); | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  |  int OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey(OSSL_CRMF_MSG *msg, | 
					
						
							|  |  |  |                                                 const X509_PUBKEY *pubkey); | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  |  OSSL_CRMF_CERTID | 
					
						
							|  |  |  |     *OSSL_CRMF_MSG_get0_regCtrl_oldCertID(const OSSL_CRMF_MSG *msg); | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  |  int OSSL_CRMF_MSG_set1_regCtrl_oldCertID(OSSL_CRMF_MSG *msg, | 
					
						
							|  |  |  |                                           const OSSL_CRMF_CERTID *cid); | 
					
						
							|  |  |  |  OSSL_CRMF_CERTID *OSSL_CRMF_CERTID_gen(const X509_NAME *issuer, | 
					
						
							|  |  |  |                                         const ASN1_INTEGER *serial); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | Each of the OSSL_CRMF_MSG_get0_regCtrl_X() functions | 
					
						
							|  |  |  | returns the respective control X in the given I<msg>, if present. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_regToken() sets the regToken control in the given | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | I<msg> copying the given I<tok> as value. See RFC 4211, section 6.1. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | OSSL_CRMF_MSG_set1_regCtrl_authenticator() sets the authenticator control in | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | the given I<msg> copying the given I<auth> as value. See RFC 4211, section 6.2. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo() pushes the given I<spi> | 
					
						
							|  |  |  | to I<si>. Consumes the I<spi> pointer. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | OSSL_CRMF_MSG_set0_SinglePubInfo() sets in the given SinglePubInfo I<spi> | 
					
						
							|  |  |  | the I<method> and publication location, in the form of a GeneralName, I<nm>. | 
					
						
							|  |  |  | The publication location is optional, and therefore I<nm> may be NULL. | 
					
						
							|  |  |  | The function consumes the I<nm> pointer if present. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | Available methods are: | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_METHOD_DONTCARE 0 | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_METHOD_X500     1 | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_METHOD_WEB      2 | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_METHOD_LDAP     3 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | OSSL_CRMF_MSG_set_PKIPublicationInfo_action() sets the action in the given I<pi> | 
					
						
							|  |  |  | using the given I<action> as value. See RFC 4211, section 6.3. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | Available actions are: | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_ACTION_DONTPUBLISH   0 | 
					
						
							|  |  |  |  # define OSSL_CRMF_PUB_ACTION_PLEASEPUBLISH 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-16 21:05:31 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo() sets the pkiPublicationInfo | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | control in the given I<msg> copying the given I<tok> as value. See RFC 4211, | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | section 6.3. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey() sets the protocolEncrKey control in | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | the given I<msg> copying the given I<pubkey> as value. See RFC 4211 section 6.6. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-18 02:40:29 +08:00
										 |  |  | OSSL_CRMF_MSG_set1_regCtrl_oldCertID() sets the B<oldCertID> regToken control in | 
					
						
							|  |  |  | the given I<msg> copying the given I<cid> as value. See RFC 4211, section 6.5. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | OSSL_CRMF_CERTID_gen produces an OSSL_CRMF_CERTID_gen structure copying the | 
					
						
							| 
									
										
										
										
											2020-08-13 23:44:54 +08:00
										 |  |  | given I<issuer> name and I<serial> number. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 RETURN VALUES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | All OSSL_CRMF_MSG_get0_*() functions | 
					
						
							|  |  |  | return the respective pointer value or NULL if not present and on error. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 16:26:26 +08:00
										 |  |  | All OSSL_CRMF_MSG_set1_*() functions return 1 on success, 0 on error. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OSSL_CRMF_CERTID_gen() returns a pointer to the resulting structure | 
					
						
							|  |  |  | or NULL on error. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 NOTES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | A function OSSL_CRMF_MSG_set1_regCtrl_pkiArchiveOptions() for setting an | 
					
						
							|  |  |  | Archive Options Control is not yet implemented due to missing features to | 
					
						
							|  |  |  | create the needed OSSL_CRMF_PKIARCHIVEOPTINS content. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RFC 4211 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-10 20:07:22 +08:00
										 |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The OpenSSL CRMF support was added in OpenSSL 3.0. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-03 18:52:38 +08:00
										 |  |  | Copyright 2007-2022 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-23 16:58:36 +08:00
										 |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							| 
									
										
										
										
											2018-10-17 21:51:19 +08:00
										 |  |  | 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 |