Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OSSL_DESERIALIZER(3)		    OpenSSL		  OSSL_DESERIALIZER(3)

NAME
       OSSL_DESERIALIZER, OSSL_DESERIALIZER_fetch, OSSL_DESERIALIZER_up_ref,
       OSSL_DESERIALIZER_free, OSSL_DESERIALIZER_provider,
       OSSL_DESERIALIZER_properties, OSSL_DESERIALIZER_is_a,
       OSSL_DESERIALIZER_number, OSSL_DESERIALIZER_do_all_provided,
       OSSL_DESERIALIZER_names_do_all, OSSL_DESERIALIZER_gettable_params,
       OSSL_DESERIALIZER_get_params - Deserializer method routines

SYNOPSIS
	#include <openssl/deserializer.h>

	typedef	struct ossl_deserializer_st OSSL_DESERIALIZER;

	OSSL_DESERIALIZER *OSSL_DESERIALIZER_fetch(OPENSSL_CTX *ctx, const char	*name,
						   const char *properties);
	int OSSL_DESERIALIZER_up_ref(OSSL_DESERIALIZER *deserializer);
	void OSSL_DESERIALIZER_free(OSSL_DESERIALIZER *deserializer);
	const OSSL_PROVIDER *OSSL_DESERIALIZER_provider(const OSSL_DESERIALIZER
							*deserializer);
	const char *OSSL_DESERIALIZER_properties(const OSSL_DESERIALIZER *deser);
	int OSSL_DESERIALIZER_is_a(const OSSL_DESERIALIZER *deserializer,
				   const char *name);
	int OSSL_DESERIALIZER_number(const OSSL_DESERIALIZER *deserializer);
	void OSSL_DESERIALIZER_do_all_provided(OPENSSL_CTX *libctx,
					       void (*fn)(OSSL_DESERIALIZER *deserializer,
							  void *arg),
					       void *arg);
	void OSSL_DESERIALIZER_names_do_all(const OSSL_DESERIALIZER *deserializer,
					    void (*fn)(const char *name, void *data),
					    void *data);
	const OSSL_PARAM *OSSL_DESERIALIZER_gettable_params(OSSL_DESERIALIZER *deser);
	int OSSL_DESERIALIZER_get_params(OSSL_DESERIALIZER_CTX *ctx,
					 const OSSL_PARAM params[]);

DESCRIPTION
       OSSL_DESERIALIZER is a method for deserializers,	which know how to
       deserialize serialized data into	an object of some type that the	rest
       of OpenSSL knows	how to handle.

       OSSL_DESERIALIZER_fetch() looks for an algorithm	within the provider
       that has	been loaded into the OPENSSL_CTX given by ctx, having the name
       given by	name and the properties	given by properties.  The name
       determines what type of object the fetched deserializer method is
       expected	to be able to deserialize, and the properties are used to
       determine the expected output type.  For	known properties and the
       values they may have, please have a look	in "Names and properties" in
       provider-serializer(7).

       OSSL_DESERIALIZER_up_ref() increments the reference count for the given
       deserializer.

       OSSL_DESERIALIZER_free()	decrements the reference count for the given
       deserializer, and when the count	reaches	zero, frees it.

       OSSL_DESERIALIZER_provider() returns the	provider of the	given
       deserializer.

       OSSL_DESERIALIZER_properties() returns the property definition
       associated with the given deserializer.

       OSSL_DESERIALIZER_is_a()	checks if deserializer is an implementation of
       an algorithm that's identifiable	with name.

       OSSL_DESERIALIZER_number() returns the internal dynamic number assigned
       to the given deserializer.

       OSSL_DESERIALIZER_names_do_all()	traverses all names for	the given
       deserializer, and calls fn with each name and data.

       OSSL_DESERIALIZER_do_all_provided() traverses all serializer
       implementations by all activated	providers in the library context
       libctx, and for each of the implementations, calls fn with the
       implementation method and data as arguments.

       OSSL_DESERIALIZER_gettable_params() returns an OSSL_PARAM(3) array of
       parameter descriptors.

       OSSL_DESERIALIZER_get_params() attempts to get parameters specified
       with an OSSL_PARAM(3) array params.  Parameters that the	implementation
       doesn't recognise should	be ignored.

RETURN VALUES
       OSSL_DESERIALIZER_fetch() returns a pointer to an OSSL_DESERIALIZER
       object, or NULL on error.

       OSSL_DESERIALIZER_up_ref() returns 1 on success,	or 0 on	error.

       OSSL_DESERIALIZER_free()	doesn't	return any value.

       OSSL_DESERIALIZER_provider() returns a pointer to a provider object, or
       NULL on error.

       OSSL_DESERIALIZER_properties() returns a	pointer	to a property
       definition string, or NULL on error.

       OSSL_DESERIALIZER_is_a()	returns	1 if deserializer was identifiable,
       otherwise 0.

       OSSL_DESERIALIZER_number() returns an integer.

NOTES
       OSSL_DESERIALIZER_fetch() may be	called implicitly by other fetching
       functions, using	the same library context and properties.  Any other
       API that	uses keys will typically do this.

SEE ALSO
       provider(7), OSSL_DESERIALIZER_CTX(3), OSSL_DESERIALIZER_from_bio(3),
       OSSL_DESERIALIZER_CTX_new_by_EVP_PKEY(3), OPENSSL_CTX(3)

HISTORY
       The functions described here were added in OpenSSL 3.0.

COPYRIGHT
       Copyright 2020 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>.

3.0.0-alpha6			  2020-08-06		  OSSL_DESERIALIZER(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | NOTES | SEE ALSO | HISTORY | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=OSSL_DESERIALIZER&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help