diff options
Diffstat (limited to 'docs/api')
142 files changed, 51011 insertions, 0 deletions
diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am new file mode 100644 index 00000000..63c3e009 --- /dev/null +++ b/docs/api/Makefile.am @@ -0,0 +1,209 @@ +# +# +# +NULL= +TOP=../.. +MODULE=xmlsec +SOURCE_DIR=$(TOP)/src +INCLUDE_DIR=$(TOP)/include +SGML_CATALOG_FILES=/usr/share/sgml/docbook/sgml-dtd-3.0-1.0-8/catalog:/usr/share/sgml/openjade-1.3.1/catalog:/usr/share/sgml/docbook/dsssl-stylesheets/catalog + +EXTRA_DIST = \ + chapters \ + images \ + $(NULL) + +# +# We need to pre-process original source files +# because gtkdoc does not understand some C features +# +DOC_SOURCE_DIR=./code +DOC_SOURCE_FILES=\ + $(shell find $(SOURCE_DIR) -name '*.c' -a ! -name "xkms*" -print ) \ + $(shell find $(INCLUDE_DIR) -name '*.h' -a ! -name "symbols.h" -a ! -name "xkms*" -print ) + +EXAMPLES_SOURCE_DIR=../../examples +EXAMPLES_SOURCE_FILES=\ + $(shell find $(EXAMPLES_SOURCE_DIR) -name '*.c' -print) \ + $(shell find $(EXAMPLES_SOURCE_DIR) -name '*.xml' -print) + +# do nothing for all +all: + +docs: sgml html clean-sources + +# need to cleanup "bad" chars +html: sgml xmlsec.sgml xmlsec-index + gtkdoc-mkhtml xmlsec xmlsec.sgml + +# +# Prepeare sgml files from sources for each library. We are also +# doing some "magic" here by automatically adding links to XML DSig and +# XML Enc specification, we also remove "Ptr" from the end of the link +# targets to make more references +# +sgml: templates + -@gtkdoc-mkdb --module=xmlsec \ + --main-sgml-file=xmlsec.sgml \ + --source-dir=$(DOC_SOURCE_DIR)/src/base \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/base + -@gtkdoc-mkdb --module=xmlsec-openssl \ + --main-sgml-file=xmlsec-openssl.sgml \ + --tmpl-dir=tmpl/openssl \ + --output-dir=sgml/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/src/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/openssl + -@gtkdoc-mkdb --module=xmlsec-gnutls \ + --main-sgml-file=xmlsec-gnutls.sgml \ + --tmpl-dir=tmpl/gnutls \ + --output-dir=sgml/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/src/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gnutls + -@gtkdoc-mkdb --module=xmlsec-gcrypt \ + --main-sgml-file=xmlsec-gcrypt.sgml \ + --tmpl-dir=tmpl/gcrypt \ + --output-dir=sgml/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/src/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gcrypt + -@gtkdoc-mkdb --module=xmlsec-nss \ + --main-sgml-file=xmlsec-nss.sgml \ + --tmpl-dir=tmpl/nss \ + --output-dir=sgml/nss \ + --source-dir=$(DOC_SOURCE_DIR)/src/nss \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/nss + -@gtkdoc-mkdb --module=xmlsec-mscrypto \ + --main-sgml-file=xmlsec-mscrypto.sgml \ + --tmpl-dir=tmpl/mscrypto \ + --output-dir=sgml/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/src/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/mscrypto + -@(for i in `find sgml -name "*.sgml" -print` ; do \ + cat $$i | \ + sed 's!\(<dsig:\)\([^/]*\)\(\/>\)!<ulink URL=\"http://www.w3.org/TR/xmldsig-core/#sec-\2\">\1\2\3</ulink>!g' | \ + sed 's!\(<enc:\)\([^/]*\)\(\/>\)!<ulink URL=\"http://www.w3.org/TR/xmlenc-core/#sec-\2\">\1\2\3</ulink>!g' | \ + sed 's!linkend=\"\(.*\)Ptr\"!linkend=\"\1\"!g' > \ + $$i.tmp; \ + mv -f $$i.tmp $$i; \ + done); + +templates: scan + -@gtkdoc-mktmpl --module=xmlsec + -@gtkdoc-mktmpl --module=xmlsec-openssl \ + --output-dir=tmpl/openssl + -@gtkdoc-mktmpl --module=xmlsec-gnutls \ + --output-dir=tmpl/gnutls + -@gtkdoc-mktmpl --module=xmlsec-gcrypt \ + --output-dir=tmpl/gcrypt + -@gtkdoc-mktmpl --module=xmlsec-nss \ + --output-dir=tmpl/nss + -@gtkdoc-mktmpl --module=xmlsec-mscrypto \ + --output-dir=tmpl/mscrypto + +scan: doc_sources example_sources + -@gtkdoc-scan --module=xmlsec \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/base \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/base + -@gtkdoc-scan --module=xmlsec-openssl \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/openssl + -@gtkdoc-scan --module=xmlsec-gnutls \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gnutls + -@gtkdoc-scan --module=xmlsec-gcrypt \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gcrypt + -@gtkdoc-scan --module=xmlsec-nss \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/nss \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/nss + -@gtkdoc-scan --module=xmlsec-mscrypto \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/mscrypto + +# +# Prepare source files by coping them to "code" folder and +# removing XMLSEC_EXPORT_* stuff that makes gtkdoc crazy +# +doc_sources: $(DOC_SOURCE_FILES) + @(for i in $(DOC_SOURCE_FILES) ; do \ + folder_name=`echo $$i | sed 's#$(TOP)/##' | sed 's#/[^/]*$$##'`; \ + file_name=`echo $$i | sed 's#.*/##'`; \ + test -d $(DOC_SOURCE_DIR)/$$folder_name || mkdir -p $(DOC_SOURCE_DIR)/$$folder_name; \ + cat $$i | \ + sed 's/#if.*//' | \ + sed 's/#el.*//' | \ + sed 's/#end.*//' | \ + sed 's/XMLSEC_CRYPTO_EXPORT//' | \ + sed 's/XMLSEC_EXPORT_VAR//' | \ + sed 's/XMLSEC_EXPORT//' | \ + sed 's/XMLSEC_ERRORS_PRINTF_ATTRIBUTE//' > \ + $(DOC_SOURCE_DIR)/$$folder_name/$$file_name; \ + done); + -@mkdir -p $(DOC_SOURCE_DIR)/src/base + -@mv -f $(DOC_SOURCE_DIR)/src/*.c $(DOC_SOURCE_DIR)/src/base + -@mkdir -p $(DOC_SOURCE_DIR)/include/xmlsec/base + -@mv -f $(DOC_SOURCE_DIR)/include/xmlsec/*.h $(DOC_SOURCE_DIR)/include/xmlsec/base + -@rm -f $(DOC_SOURCE_DIR)/include/xmlsec/*/symbols.h + +# +# Create index for all functions. For macros and defines need to add -CAPS suffix +# +xmlsec-index: scan + @grep -h '<NAME>.*</NAME>' xmlsec-*decl.txt | \ + grep -v '<NAME>extern</NAME>' | \ + sort -u | \ + sed 's#_#-#g' | \ + sed 's#<NAME>\([^-]*\)-\([^<]*\)</NAME>#<listitem><para><link linkend=\"\1-\2-CAPS\">\1-\2</link></para></listitem>#g' | \ + sed 's#<NAME>\([^<]*\)</NAME>#<listitem><para><link linkend=\"\1\">\1</link></para></listitem>#g' > \ + xmlsec-index.sgml + +# +# The following code converts C example file to sgml RefEntry files. +# We get file title from a string "XML Security Library example: ..." +# which is usually placed at the top of the file. Also all "unsafe" xml +# characters (<, >, &) are escaped. +# +example_sources: + @mkdir -p examples + @(for i in $(EXAMPLES_SOURCE_FILES) ; do \ + file_name=`echo $$i | sed 's#.*/##' | sed 's#\..*$$##'`; \ + file_ext=`echo $$i | sed 's#.*/##' | sed 's#.*\.##'`; \ + echo Converting $$file_name.$$file_ext to $$file_name.sgml ...; \ + file_title=`cat $$i | grep 'XML Security Library example: ' | sed 's#^.*: *##'`; \ + echo "<sect2 id=\"xmlsec-example-$$file_name\" >" > \ + examples/$$file_name.sgml; \ + echo "<title>$$file_name.$$file_ext</title><para><informalexample><programlisting>" >> \ + examples/$$file_name.sgml; \ + cat $$i | \ + sed "s#&#\&#g" | \ + sed "s#<#\<#g" | \ + sed "s#>#\>#g" >> \ + examples/$$file_name.sgml; \ + echo "</programlisting></informalexample></para></sect2>" >> \ + examples/$$file_name.sgml; \ + done); + +dist-hook: + @cp -p $(srcdir)/*.html $(srcdir)/*.png $(srcdir)/*.sgml $(distdir) + +clean: clean-sources + -@rm -rf $(DOC_SOURCE_DIR) + -@rm -rf sgml/*~ sgml/*.bak + -@rm -rf tmpl/*~ tmpl/*.bak + -@rm -rf *~ *.bak *.hierarchy *.signals *-unused.txt *.stamp + +clean-sources: + -@rm -rf code examples + +clean-local: + -@rm -rf *~ *.bak *.hierarchy *.signals *-unused.txt + +maintainer-clean-local: clean + -@rm *.html *.txt + -@rm -rf `find sgml -name "*.sgml" -print` + diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in new file mode 100644 index 00000000..e9e020ad --- /dev/null +++ b/docs/api/Makefile.in @@ -0,0 +1,664 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = docs/api +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CP = @CP@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GCRYPT_CFLAGS = @GCRYPT_CFLAGS@ +GCRYPT_CRYPTO_LIB = @GCRYPT_CRYPTO_LIB@ +GCRYPT_LIBS = @GCRYPT_LIBS@ +GCRYPT_MIN_VERSION = @GCRYPT_MIN_VERSION@ +GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ +GNUTLS_CRYPTO_LIB = @GNUTLS_CRYPTO_LIB@ +GNUTLS_LIBS = @GNUTLS_LIBS@ +GNUTLS_MIN_VERSION = @GNUTLS_MIN_VERSION@ +GREP = @GREP@ +HELP2MAN = @HELP2MAN@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML_CFLAGS = @LIBXML_CFLAGS@ +LIBXML_CONFIG = @LIBXML_CONFIG@ +LIBXML_LIBS = @LIBXML_LIBS@ +LIBXML_MIN_VERSION = @LIBXML_MIN_VERSION@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_CONFIG = @LIBXSLT_CONFIG@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIBXSLT_MIN_VERSION = @LIBXSLT_MIN_VERSION@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAN2HTML = @MAN2HTML@ +MKDIR_P = @MKDIR_P@ +MOZILLA_MIN_VERSION = @MOZILLA_MIN_VERSION@ +MSCRYPTO_CFLAGS = @MSCRYPTO_CFLAGS@ +MSCRYPTO_CRYPTO_LIB = @MSCRYPTO_CRYPTO_LIB@ +MSCRYPTO_LIBS = @MSCRYPTO_LIBS@ +MV = @MV@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NSPR_MIN_VERSION = @NSPR_MIN_VERSION@ +NSPR_PACKAGE = @NSPR_PACKAGE@ +NSS_CFLAGS = @NSS_CFLAGS@ +NSS_CRYPTO_LIB = @NSS_CRYPTO_LIB@ +NSS_LIBS = @NSS_LIBS@ +NSS_MIN_VERSION = @NSS_MIN_VERSION@ +NSS_PACKAGE = @NSS_PACKAGE@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_CRYPTO_LIB = @OPENSSL_CRYPTO_LIB@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OPENSSL_MIN_VERSION = @OPENSSL_MIN_VERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKGCONFIG_PRESENT = @PKGCONFIG_PRESENT@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RANLIB = @RANLIB@ +RM = @RM@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TAR = @TAR@ +U = @U@ +VERSION = @VERSION@ +XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@ +XMLSEC_CFLAGS = @XMLSEC_CFLAGS@ +XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@ +XMLSEC_CORE_LIBS = @XMLSEC_CORE_LIBS@ +XMLSEC_CRYPTO = @XMLSEC_CRYPTO@ +XMLSEC_CRYPTO_CFLAGS = @XMLSEC_CRYPTO_CFLAGS@ +XMLSEC_CRYPTO_DISABLED_LIST = @XMLSEC_CRYPTO_DISABLED_LIST@ +XMLSEC_CRYPTO_EXTRA_LDFLAGS = @XMLSEC_CRYPTO_EXTRA_LDFLAGS@ +XMLSEC_CRYPTO_LIB = @XMLSEC_CRYPTO_LIB@ +XMLSEC_CRYPTO_LIBS = @XMLSEC_CRYPTO_LIBS@ +XMLSEC_CRYPTO_LIST = @XMLSEC_CRYPTO_LIST@ +XMLSEC_CRYPTO_PC_FILES_LIST = @XMLSEC_CRYPTO_PC_FILES_LIST@ +XMLSEC_DEFINES = @XMLSEC_DEFINES@ +XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@ +XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@ +XMLSEC_DOCDIR = @XMLSEC_DOCDIR@ +XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@ +XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@ +XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@ +XMLSEC_GNUTLS_CFLAGS = @XMLSEC_GNUTLS_CFLAGS@ +XMLSEC_GNUTLS_LIBS = @XMLSEC_GNUTLS_LIBS@ +XMLSEC_LIBDIR = @XMLSEC_LIBDIR@ +XMLSEC_LIBS = @XMLSEC_LIBS@ +XMLSEC_NO_AES = @XMLSEC_NO_AES@ +XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING = @XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING@ +XMLSEC_NO_CRYPTO_DYNAMIC_LOADING = @XMLSEC_NO_CRYPTO_DYNAMIC_LOADING@ +XMLSEC_NO_DES = @XMLSEC_NO_DES@ +XMLSEC_NO_DSA = @XMLSEC_NO_DSA@ +XMLSEC_NO_GCRYPT = @XMLSEC_NO_GCRYPT@ +XMLSEC_NO_GNUTLS = @XMLSEC_NO_GNUTLS@ +XMLSEC_NO_GOST = @XMLSEC_NO_GOST@ +XMLSEC_NO_HMAC = @XMLSEC_NO_HMAC@ +XMLSEC_NO_LIBXSLT = @XMLSEC_NO_LIBXSLT@ +XMLSEC_NO_MD5 = @XMLSEC_NO_MD5@ +XMLSEC_NO_MSCRYPTO = @XMLSEC_NO_MSCRYPTO@ +XMLSEC_NO_NSS = @XMLSEC_NO_NSS@ +XMLSEC_NO_OPENSSL = @XMLSEC_NO_OPENSSL@ +XMLSEC_NO_RIPEMD160 = @XMLSEC_NO_RIPEMD160@ +XMLSEC_NO_RSA = @XMLSEC_NO_RSA@ +XMLSEC_NO_SHA1 = @XMLSEC_NO_SHA1@ +XMLSEC_NO_SHA224 = @XMLSEC_NO_SHA224@ +XMLSEC_NO_SHA256 = @XMLSEC_NO_SHA256@ +XMLSEC_NO_SHA384 = @XMLSEC_NO_SHA384@ +XMLSEC_NO_SHA512 = @XMLSEC_NO_SHA512@ +XMLSEC_NO_X509 = @XMLSEC_NO_X509@ +XMLSEC_NO_XKMS = @XMLSEC_NO_XKMS@ +XMLSEC_NO_XMLDSIG = @XMLSEC_NO_XMLDSIG@ +XMLSEC_NO_XMLENC = @XMLSEC_NO_XMLENC@ +XMLSEC_NSS_CFLAGS = @XMLSEC_NSS_CFLAGS@ +XMLSEC_NSS_LIBS = @XMLSEC_NSS_LIBS@ +XMLSEC_OPENSSL_CFLAGS = @XMLSEC_OPENSSL_CFLAGS@ +XMLSEC_OPENSSL_LIBS = @XMLSEC_OPENSSL_LIBS@ +XMLSEC_PACKAGE = @XMLSEC_PACKAGE@ +XMLSEC_STATIC_BINARIES = @XMLSEC_STATIC_BINARIES@ +XMLSEC_VERSION = @XMLSEC_VERSION@ +XMLSEC_VERSION_INFO = @XMLSEC_VERSION_INFO@ +XMLSEC_VERSION_MAJOR = @XMLSEC_VERSION_MAJOR@ +XMLSEC_VERSION_MINOR = @XMLSEC_VERSION_MINOR@ +XMLSEC_VERSION_SAFE = @XMLSEC_VERSION_SAFE@ +XMLSEC_VERSION_SUBMINOR = @XMLSEC_VERSION_SUBMINOR@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# +# +# +NULL = +TOP = ../.. +MODULE = xmlsec +SOURCE_DIR = $(TOP)/src +INCLUDE_DIR = $(TOP)/include +SGML_CATALOG_FILES = /usr/share/sgml/docbook/sgml-dtd-3.0-1.0-8/catalog:/usr/share/sgml/openjade-1.3.1/catalog:/usr/share/sgml/docbook/dsssl-stylesheets/catalog +EXTRA_DIST = \ + chapters \ + images \ + $(NULL) + + +# +# We need to pre-process original source files +# because gtkdoc does not understand some C features +# +DOC_SOURCE_DIR = ./code +DOC_SOURCE_FILES = \ + $(shell find $(SOURCE_DIR) -name '*.c' -a ! -name "xkms*" -print ) \ + $(shell find $(INCLUDE_DIR) -name '*.h' -a ! -name "symbols.h" -a ! -name "xkms*" -print ) + +EXAMPLES_SOURCE_DIR = ../../examples +EXAMPLES_SOURCE_FILES = \ + $(shell find $(EXAMPLES_SOURCE_DIR) -name '*.c' -print) \ + $(shell find $(EXAMPLES_SOURCE_DIR) -name '*.xml' -print) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/api/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/api/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + clean-local dist-hook distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-local mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + + +# do nothing for all +all: + +docs: sgml html clean-sources + +# need to cleanup "bad" chars +html: sgml xmlsec.sgml xmlsec-index + gtkdoc-mkhtml xmlsec xmlsec.sgml + +# +# Prepeare sgml files from sources for each library. We are also +# doing some "magic" here by automatically adding links to XML DSig and +# XML Enc specification, we also remove "Ptr" from the end of the link +# targets to make more references +# +sgml: templates + -@gtkdoc-mkdb --module=xmlsec \ + --main-sgml-file=xmlsec.sgml \ + --source-dir=$(DOC_SOURCE_DIR)/src/base \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/base + -@gtkdoc-mkdb --module=xmlsec-openssl \ + --main-sgml-file=xmlsec-openssl.sgml \ + --tmpl-dir=tmpl/openssl \ + --output-dir=sgml/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/src/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/openssl + -@gtkdoc-mkdb --module=xmlsec-gnutls \ + --main-sgml-file=xmlsec-gnutls.sgml \ + --tmpl-dir=tmpl/gnutls \ + --output-dir=sgml/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/src/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gnutls + -@gtkdoc-mkdb --module=xmlsec-gcrypt \ + --main-sgml-file=xmlsec-gcrypt.sgml \ + --tmpl-dir=tmpl/gcrypt \ + --output-dir=sgml/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/src/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gcrypt + -@gtkdoc-mkdb --module=xmlsec-nss \ + --main-sgml-file=xmlsec-nss.sgml \ + --tmpl-dir=tmpl/nss \ + --output-dir=sgml/nss \ + --source-dir=$(DOC_SOURCE_DIR)/src/nss \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/nss + -@gtkdoc-mkdb --module=xmlsec-mscrypto \ + --main-sgml-file=xmlsec-mscrypto.sgml \ + --tmpl-dir=tmpl/mscrypto \ + --output-dir=sgml/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/src/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/mscrypto + -@(for i in `find sgml -name "*.sgml" -print` ; do \ + cat $$i | \ + sed 's!\(<dsig:\)\([^/]*\)\(\/>\)!<ulink URL=\"http://www.w3.org/TR/xmldsig-core/#sec-\2\">\1\2\3</ulink>!g' | \ + sed 's!\(<enc:\)\([^/]*\)\(\/>\)!<ulink URL=\"http://www.w3.org/TR/xmlenc-core/#sec-\2\">\1\2\3</ulink>!g' | \ + sed 's!linkend=\"\(.*\)Ptr\"!linkend=\"\1\"!g' > \ + $$i.tmp; \ + mv -f $$i.tmp $$i; \ + done); + +templates: scan + -@gtkdoc-mktmpl --module=xmlsec + -@gtkdoc-mktmpl --module=xmlsec-openssl \ + --output-dir=tmpl/openssl + -@gtkdoc-mktmpl --module=xmlsec-gnutls \ + --output-dir=tmpl/gnutls + -@gtkdoc-mktmpl --module=xmlsec-gcrypt \ + --output-dir=tmpl/gcrypt + -@gtkdoc-mktmpl --module=xmlsec-nss \ + --output-dir=tmpl/nss + -@gtkdoc-mktmpl --module=xmlsec-mscrypto \ + --output-dir=tmpl/mscrypto + +scan: doc_sources example_sources + -@gtkdoc-scan --module=xmlsec \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/base \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/base + -@gtkdoc-scan --module=xmlsec-openssl \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/openssl \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/openssl + -@gtkdoc-scan --module=xmlsec-gnutls \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/gnutls \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gnutls + -@gtkdoc-scan --module=xmlsec-gcrypt \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/gcrypt \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/gcrypt + -@gtkdoc-scan --module=xmlsec-nss \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/nss \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/nss + -@gtkdoc-scan --module=xmlsec-mscrypto \ + --rebuild-sections \ + --source-dir=$(DOC_SOURCE_DIR)/src/mscrypto \ + --source-dir=$(DOC_SOURCE_DIR)/include/xmlsec/mscrypto + +# +# Prepare source files by coping them to "code" folder and +# removing XMLSEC_EXPORT_* stuff that makes gtkdoc crazy +# +doc_sources: $(DOC_SOURCE_FILES) + @(for i in $(DOC_SOURCE_FILES) ; do \ + folder_name=`echo $$i | sed 's#$(TOP)/##' | sed 's#/[^/]*$$##'`; \ + file_name=`echo $$i | sed 's#.*/##'`; \ + test -d $(DOC_SOURCE_DIR)/$$folder_name || mkdir -p $(DOC_SOURCE_DIR)/$$folder_name; \ + cat $$i | \ + sed 's/#if.*//' | \ + sed 's/#el.*//' | \ + sed 's/#end.*//' | \ + sed 's/XMLSEC_CRYPTO_EXPORT//' | \ + sed 's/XMLSEC_EXPORT_VAR//' | \ + sed 's/XMLSEC_EXPORT//' | \ + sed 's/XMLSEC_ERRORS_PRINTF_ATTRIBUTE//' > \ + $(DOC_SOURCE_DIR)/$$folder_name/$$file_name; \ + done); + -@mkdir -p $(DOC_SOURCE_DIR)/src/base + -@mv -f $(DOC_SOURCE_DIR)/src/*.c $(DOC_SOURCE_DIR)/src/base + -@mkdir -p $(DOC_SOURCE_DIR)/include/xmlsec/base + -@mv -f $(DOC_SOURCE_DIR)/include/xmlsec/*.h $(DOC_SOURCE_DIR)/include/xmlsec/base + -@rm -f $(DOC_SOURCE_DIR)/include/xmlsec/*/symbols.h + +# +# Create index for all functions. For macros and defines need to add -CAPS suffix +# +xmlsec-index: scan + @grep -h '<NAME>.*</NAME>' xmlsec-*decl.txt | \ + grep -v '<NAME>extern</NAME>' | \ + sort -u | \ + sed 's#_#-#g' | \ + sed 's#<NAME>\([^-]*\)-\([^<]*\)</NAME>#<listitem><para><link linkend=\"\1-\2-CAPS\">\1-\2</link></para></listitem>#g' | \ + sed 's#<NAME>\([^<]*\)</NAME>#<listitem><para><link linkend=\"\1\">\1</link></para></listitem>#g' > \ + xmlsec-index.sgml + +# +# The following code converts C example file to sgml RefEntry files. +# We get file title from a string "XML Security Library example: ..." +# which is usually placed at the top of the file. Also all "unsafe" xml +# characters (<, >, &) are escaped. +# +example_sources: + @mkdir -p examples + @(for i in $(EXAMPLES_SOURCE_FILES) ; do \ + file_name=`echo $$i | sed 's#.*/##' | sed 's#\..*$$##'`; \ + file_ext=`echo $$i | sed 's#.*/##' | sed 's#.*\.##'`; \ + echo Converting $$file_name.$$file_ext to $$file_name.sgml ...; \ + file_title=`cat $$i | grep 'XML Security Library example: ' | sed 's#^.*: *##'`; \ + echo "<sect2 id=\"xmlsec-example-$$file_name\" >" > \ + examples/$$file_name.sgml; \ + echo "<title>$$file_name.$$file_ext</title><para><informalexample><programlisting>" >> \ + examples/$$file_name.sgml; \ + cat $$i | \ + sed "s#&#\&#g" | \ + sed "s#<#\<#g" | \ + sed "s#>#\>#g" >> \ + examples/$$file_name.sgml; \ + echo "</programlisting></informalexample></para></sect2>" >> \ + examples/$$file_name.sgml; \ + done); + +dist-hook: + @cp -p $(srcdir)/*.html $(srcdir)/*.png $(srcdir)/*.sgml $(distdir) + +clean: clean-sources + -@rm -rf $(DOC_SOURCE_DIR) + -@rm -rf sgml/*~ sgml/*.bak + -@rm -rf tmpl/*~ tmpl/*.bak + -@rm -rf *~ *.bak *.hierarchy *.signals *-unused.txt *.stamp + +clean-sources: + -@rm -rf code examples + +clean-local: + -@rm -rf *~ *.bak *.hierarchy *.signals *-unused.txt + +maintainer-clean-local: clean + -@rm *.html *.txt + -@rm -rf `find sgml -name "*.sgml" -print` + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/docs/api/chapters/compiling-and-linking.sgml b/docs/api/chapters/compiling-and-linking.sgml new file mode 100644 index 00000000..f184c6a4 --- /dev/null +++ b/docs/api/chapters/compiling-and-linking.sgml @@ -0,0 +1,252 @@ +<chapter id="xmlsec-notes-compiling"> + <title>Building the application with XML Security Library.</title> + <sect1 id="xmlsec-notes-compiling-overview"> + <title>Overview.</title> + <para>Compiling and linking application with XML Security + Library requires specifying correct compilation flags, library files + and paths to include and library files. As we discussed before, + XML Security Library consist of the core xmlsec library and several + xmlsec-crypto libraries. Application has a choice of selecting crypto + library at link time or dynamicaly loading it at run time. Please note, + that loading crypto engines dynamicaly may introduce security problems + on some platforms. + </para> + </sect1> + <sect1 id="xmlsec-notes-include-files" > + <title>Include files.</title> + <para>In order to use XML Security Library an application should include + one or more of the following files: + <itemizedlist> + <listitem> + <para><link linkend="XMLSEC-XMLSEC">xmlsec/xmlsec.h</link> - + XML Security Library initialization and shutdown functions; + </para> + </listitem> + <listitem> + <para><link linkend="XMLSEC-XMLDSIG">xmlsec/xmldsig.h</link> - + XML Digital Signature functions;</para> + </listitem> + <listitem> + <para><link linkend="XMLSEC-XMLENC">xmlsec/xmlenc.h</link> - + XML Encryption functions;</para> + </listitem> + <listitem> + <para><link linkend="XMLSEC-XMLTREE">xmlsec/xmltree.h</link> - + helper functions for XML documents manipulation; + </para> + </listitem> + <listitem> + <para><link linkend="XMLSEC-TEMPLATES">xmlsec/templates.h</link> - + helper functions for dynamic XML Digital Signature and + XML Encryption templates creation; + </para> + </listitem> + <listitem> + <para><link linkend="XMLSEC-CRYPTO">xmlsec/crypto.h</link> - + automatic XML Security Crypto Library selection. + </para> + </listitem> + </itemizedlist> + </para> + <para>If necessary, the application should also include LibXML, + LibXSLT and crypto library header files. + </para> + <para> + <example> + <title>Example includes file section.</title> + <programlisting><![CDATA[ +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + ]]></programlisting> + </example> + </para> + </sect1> + <sect1 id="xmlsec-notes-compiling-unix" > + <title>Compiling and linking on Unix.</title> + <para>There are several ways to get necessary compilation + and linking information on Unix and application can use + any of these methods to do crypto engine selection either + at linking or run time. + + <itemizedlist> + <listitem><para>PKG_CHECK_MODULES() macro + <example> + <title>Using PKG_CHECK_MODULES() macro in a configure.in file + to select crypto engine (openssl) at linking time.</title> + <programlisting><![CDATA[ +dnl +dnl Check for xmlsec and friends +dnl +PKG_CHECK_MODULES(XMLSEC, xmlsec1-openssl >= 1.0.0 xml2 libxslt,,exit) +CFLAGS="$CFLAGS $XMLSEC_CFLAGS" +CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS" +LDFLAGS="$LDFLAGS $XMLSEC_LIBS" + ]]></programlisting> + </example> + + <example> + <title>Using PKG_CHECK_MODULES() macro in a configure.in file + to enable dynamical loading of xmlsec-crypto library.</title> + <programlisting><![CDATA[ +dnl +dnl Check for xmlsec and friends +dnl +PKG_CHECK_MODULES(XMLSEC, xmlsec1 >= 1.0.0 xml2 libxslt,,exit) +CFLAGS="$CFLAGS $XMLSEC_CFLAGS" +CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS" +LDFLAGS="$LDFLAGS $XMLSEC_LIBS" + ]]></programlisting> + </example> + + </para></listitem> + + + <listitem><para>pkg-config script + <example> + <title>Using pkg-config script in a Makefile + to select crypto engine (nss) at linking time.</title> + <programlisting><![CDATA[ +PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell pkg-config --cflags xmlsec1-nss) +LDFLAGS += -g +LIBS += $(shell pkg-config --libs xmlsec1-nss) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + ]]></programlisting> + </example> + + + <example> + <title>Using pkg-config script in a Makefile + to enable dynamical loading of xmlsec-crypto library.</title> + <programlisting><![CDATA[ +PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell pkg-config --cflags xmlsec1) +LDFLAGS += -g +LIBS += $(shell pkg-config --libs xmlsec1) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + ]]></programlisting> + </example> + + </para></listitem> + <listitem><para>xmlsec1-config script + <example> + <title>Using xmlsec1-config script in a Makefile + to select crypto engine (e.g. gnutls) at linking time.</title> + <programlisting><![CDATA[ +PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell xmlsec1-config --crypto gnutls --cflags) +LDFLAGS += -g +LIBS += $(shell xmlsec1-config --crypto gnutls --libs) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + ]]></programlisting> + </example> + + <example> + <title>Using xmlsec1-config script in a Makefile + to enable dynamical loading of xmlsec-crypto library.</title> + <programlisting><![CDATA[ +PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell xmlsec1-config --cflags) +LDFLAGS += -g +LIBS += $(shell xmlsec1-config --libs) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + ]]></programlisting> + </example> + </para></listitem> + </itemizedlist> + </para> + </sect1> + <sect1 id="xmlsec-notes-compiling-windows" > + <title>Compiling and linking on Windows.</title> + <para>On Windows there is no such simple and elegant solution. + Please check <filename>README</filename> file in <filename>win32</filename> + folder of the library package for latest instructions. + However, there are few general things, that you need to remember: + <itemizedlist> + <listitem><para> + <emphasis>All libraries linked to your application must be compiled + with the same Microsoft Runtime Libraries.</emphasis> + </para></listitem> + <listitem><para> + <emphasis>Static linking with XML Security Library requires + additional global defines:</emphasis> + <informalexample><programlisting> +#define LIBXML_STATIC +#define LIBXSLT_STATIC +#define XMLSEC_STATIC + </programlisting></informalexample> + </para></listitem> + <listitem><para> + If you do not want to dynamicaly load xmlsec-crypto library + and prefer to select crypto engine at linking then you should + link your application with xmlsec and at least one of + xmlsec-crypto libraries. + </para></listitem> + <listitem><para> + In order to enable dynamic loading for xmlsec-crypto library + you should add additional global define: + <informalexample><programlisting> +#define XMLSEC_CRYPTO_DYNAMIC_LOADING + </programlisting></informalexample> + </para></listitem> + </itemizedlist> + </para> + </sect1> + <sect1 id="xmlsec-notes-compiling-others"> + <title>Compiling and linking on other systems.</title> + <para>Well, nothing is impossible, it's only software (you managed to + compile the library itself, do you?). + I'll be happy to include in this manual your expirience with + compiling and linking applications with XML Security Library + on other platforms (if you would like to share it). + </para> + </sect1> +</chapter> diff --git a/docs/api/chapters/creating-templates.sgml b/docs/api/chapters/creating-templates.sgml new file mode 100644 index 00000000..4d6088f3 --- /dev/null +++ b/docs/api/chapters/creating-templates.sgml @@ -0,0 +1,325 @@ +<chapter id="xmlsec-notes-templates"> + <title>Creating dynamic templates.</title> + <sect1 id="xmlsec-notes-templates-overview"> + <title>Overview.</title> + <para>The XML Security Library uses templates to describe + how and what data should be signed or encrypted. The template + is a regular XML file. You can create templates in advance + using your favorite XML files editor, load them from a file + and use for creating signature or encrypting data. You can + also create templates dynamicaly. The XML Security Library + provides helper functions to quickly create dynamic templates + inside your application.</para> + </sect1> + <sect1 id="xmlsec-notes-dynamic-signature-templates"> + <title>Creating dynamic signature templates.</title> + <para>The signature template has structure similar + to the XML Digital Signature structure as it is described in + <ulink URL="http://www.w3.org/TR/xmldsig-core">specification</ulink>. + The only difference is that some nodes (for example, + <dsig:DigestValue/> or <SignatureValue/>) + are empty. The XML Security Library sets the content of these + nodes after doing necessary calculations. + </para> + <figure> + <title>XML Digital Signature structure</title> + <programlisting> +<dsig:Signature ID?> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm /> + <dsig:SignatureMethod Algorithm /> + (<dsig:Reference URI? > + (<dsig:Transforms> + (<dsig:Transform Algorithm />)+ + </dsig:Transforms>)? + <dsig:DigestMethod Algorithm > + <dsig:DigestValue> + </dsig:Reference>)+ + </dsig:SignedInfo> + <dsig:SignatureValue> + (<dsig:KeyInfo> + <dsig:KeyName>? + <dsig:KeyValue>? + <dsig:RetrievalMethod>? + <dsig:X509Data>? + <dsig:PGPData>? + <enc:EncryptedKey>? + <enc:AgreementMethod>? + <dsig:KeyName>? + <dsig:RetrievalMethod>? + <*>? + </dsig:KeyInfo>)? + (<dsig:Object ID?>)* +</dsig:Signature> + </programlisting> + </figure> + <para> + <example> + <title>Creating dynamic signature template.</title> + <programlisting><![CDATA[ +/** + * sign_file: + * @xml_file: the XML file name. + * @key_file: the PEM private key file name. + * + * Signs the #xml_file using private key from #key_file and dynamicaly + * created enveloped signature template. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr signNode = NULL; + xmlNodePtr refNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load doc file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, signNode) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-sign2">Full program listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-dynamic-encryption-templates"> + <title>Creating dynamic encryption templates.</title> + <para>The encryption template has structure similar + to the XML Encryption structure as it is described in + <ulink URL="http://www.w3.org/TR/xmlenc-core">specification</ulink>. + The only difference is that some nodes (for example, + <enc:CipherValue/>) + are empty. The XML Security Library sets the content of these + nodes after doing necessary calculations. + </para> + <figure> + <title>XML Encryption structure</title> + <programlisting> +<enc:EncryptedData Id? Type? MimeType? Encoding?> + <enc:EncryptionMethod Algorithm />? + (<dsig:KeyInfo> + <dsig:KeyName>? + <dsig:KeyValue>? + <dsig:RetrievalMethod>? + <dsig:X509Data>? + <dsig:PGPData>? + <enc:EncryptedKey>? + <enc:AgreementMethod>? + <dsig:KeyName>? + <dsig:RetrievalMethod>? + <*>? + </dsig:KeyInfo>)? + <enc:CipherData> + <enc:CipherValue>? + <enc:CipherReference URI?>? + </enc:CipherData> + <enc:EncryptionProperties>? +</enc:EncryptedData> + </programlisting> + </figure> + <para> + <example> + <title>Creating dynamic encrytion template.</title> + <programlisting><![CDATA[ +/** + * encrypt_file: + * @xml_file: the encryption template file name. + * @key_file: the Triple DES key file. + * + * Encrypts #xml_file using a dynamicaly created template and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key, assuming that there is not password */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-encrypt2">Full program listing</link></simpara> + </example> + </para> + </sect1> +</chapter> diff --git a/docs/api/chapters/examples.sgml b/docs/api/chapters/examples.sgml new file mode 100644 index 00000000..05d972d4 --- /dev/null +++ b/docs/api/chapters/examples.sgml @@ -0,0 +1,102 @@ +<chapter id="xmlsec-examples"> + <title>Examples.</title> + <sect1 id="xmlsec-examples-overview" > + <title>XML Security Library Examples.</title> + <para>This section contains several examples of using XML Security Library + to sign, veiryf, encrypt or decrypt XML documents.</para> + </sect1> + + <sect1 id="xmlsec-examples-sign-template-file"> + <title>Signing a template file.</title> + + &xmlsec-example-sign1; + &xmlsec-example-sign1-tmpl; + &xmlsec-example-sign1-res; + </sect1> + + <sect1 id="xmlsec-examples-sign-dynamimc-template"> + <title>Signing a dynamicaly created template.</title> + + &xmlsec-example-sign2; + &xmlsec-example-sign2-doc; + &xmlsec-example-sign2-res; + </sect1> + + <sect1 id="xmlsec-examples-sign-x509"> + <title>Signing with X509 certificate.</title> + + &xmlsec-example-sign3; + &xmlsec-example-sign3-doc; + &xmlsec-example-sign3-res; + </sect1> + + <sect1 id="xmlsec-verify-with-key"> + <title>Verifying a signature with a single key.</title> + + &xmlsec-example-verify1; + </sect1> + + <sect1 id="xmlsec-verify-with-keys-mngr"> + <title>Verifying a signature with keys manager.</title> + + &xmlsec-example-verify2; + </sect1> + + <sect1 id="xmlsec-verify-with-x509"> + <title>Verifying a signature with X509 certificates.</title> + + &xmlsec-example-verify3; + </sect1> + + <sect1 id="xmlsec-verify-with-restrictions"> + <title>Verifying a signature with additional restrictions.</title> + + &xmlsec-example-verify4; + &xmlsec-example-verify4-tmpl; + &xmlsec-example-verify4-res; + &xmlsec-example-verify4-bad-tmpl; + &xmlsec-example-verify4-bad-res; + </sect1> + + <sect1 id="xmlsec-encrypt-template-file"> + <title>Encrypting data with a template file.</title> + + &xmlsec-example-encrypt1; + &xmlsec-example-encrypt1-tmpl; + &xmlsec-example-encrypt1-res; + </sect1> + + <sect1 id="xmlsec-encrypt-dynamic-template"> + <title>Encrypting data with a dynamicaly created template.</title> + + &xmlsec-example-encrypt2; + &xmlsec-example-encrypt2-doc; + &xmlsec-example-encrypt2-res; + </sect1> + + <sect1 id="xmlsec-encrypt-with-session-key"> + <title>Encrypting data with a session key.</title> + + &xmlsec-example-encrypt3; + &xmlsec-example-encrypt3-doc; + &xmlsec-example-encrypt3-res; + </sect1> + + <sect1 id="xmlsec-decrypt-with-signle-key"> + <title>Decrypting data with a single key.</title> + + &xmlsec-example-decrypt1; + </sect1> + + <sect1 id="xmlsec-decrypt-with-keys-mngr"> + <title>Decrypting data with keys manager.</title> + + &xmlsec-example-decrypt2; + </sect1> + + <sect1 id="xmlsec-custom-keys-manager"> + <title>Writing a custom keys manager.</title> + + &xmlsec-example-decrypt3; + </sect1> +</chapter> diff --git a/docs/api/chapters/init-and-shutdown.sgml b/docs/api/chapters/init-and-shutdown.sgml new file mode 100644 index 00000000..688a6372 --- /dev/null +++ b/docs/api/chapters/init-and-shutdown.sgml @@ -0,0 +1,104 @@ +<chapter id="xmlsec-notes-init-shutdown"> + <title>Initialization and shutdown.</title> + <para>XML Security Library initialization/shutdown + process includes initialization and shutdown of the + dependent libraries: + <itemizedlist> + <listitem><para>libxml library;</para></listitem> + <listitem><para>libxslt library;</para></listitem> + <listitem><para>crypto library (OpenSSL, GnuTLS, GCrypt, NSS, ...);</para></listitem> + <listitem><para>xmlsec library + (<link linkend="xmlSecInit">xmlSecInit</link> + and <link linkend="xmlSecShutdown">xmlSecShutdown</link> + functions); + </para></listitem> + <listitem><para>xmlsec-crypto library + (<link linkend="xmlSecCryptoDLLoadLibrary">xmlSecCryptoDLLoadLibrary</link> + to load xmlsec-crypto library dynamicaly if needed, + <link linkend="xmlSecCryptoInit">xmlSecCryptoInit</link> + and <link linkend="xmlSecCryptoShutdown">xmlSecCryptoShutdown</link> + functions); + </para></listitem> + </itemizedlist> + xmlsec-crypto library also provides a convinient functions + <link linkend="xmlSecAppCryptoInit">xmlSecAppCryptoInit</link> + and <link linkend="xmlSecAppCryptoShutdown">xmlSecAppCryptoShutdown</link> + to initialize the crypto library itself but application can do it + by itself. + </para> + <para> + <example> + <title>Initializing application.</title> + <programlisting><![CDATA[ + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + ]]></programlisting> + </example> + </para> + + <para> + <example> + <title>Shutting down application.</title> + <programlisting><![CDATA[ + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + ]]></programlisting> + </example> + </para> +</chapter> diff --git a/docs/api/chapters/new-crypto.sgml b/docs/api/chapters/new-crypto.sgml new file mode 100644 index 00000000..52191417 --- /dev/null +++ b/docs/api/chapters/new-crypto.sgml @@ -0,0 +1,487 @@ +<chapter id="xmlsec-notes-new-crypto"> + <title>Adding support for new cryptographic library.</title> + <sect1 id="xmlsec-notes-new-crypto-overview"> + <title>Overview.</title> + <para>XML Security Library can support practicaly any cryptographic + library. Currently, it has "out-of-the-box" support for OpenSSL, + MSCrypto, NSS, GnuTLS and GCrypt. If your favorite library is not supported yet then + you can write necessary code yourself. If you and your company + (university, ...) are willing to share the results of your work I would + be happy to add support for new libraries to the main XML Security + Library distribution.</para> + <para> + The XML Security Library + <link linkend="xmlsec-notes-structure">separates</link> + the cryptographic library (engine) + specific code in an "xmlsec-<crypto>" library (where "<crypto>" is + "openssl", "mscrypt", "gnutls", "gcrypt", "nss", etc.) which includes following items: + <itemizedlist> + <listitem><para> + xmlSecCryptoApp* functions. + </para></listitem> + <listitem><para> + Cryptographic transforms and keys data implementation. + </para></listitem> + <listitem><para> + Keys store support (X509, PGP, etc.). + </para></listitem> + </itemizedlist> + In this chapter, we will discuss + a task of creating "xmlsec-mycrypto" library that provides support + for your favorite "MyCrypto" cryptographic library. + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-skeleton"> + <title>Creating a framework from the skeleton.</title> + <para> + The XML Security Library contains a "skeleton" for creating new + "xmlsec-<crypto>" libraries. In order to create "xmlsec-mycrypto" + library framework, do the following (this example assumes that you + are using *nix system, adjust the commands if you are using something else): + <itemizedlist> + <listitem><para> + Copy src/skeleton and include/xmlsec/skeleton folders to src/mycrypto and + include/xmlsec/mycrypto folders and remove CVS folders from the result: + <example> + <title>Coping skeleton folders.</title> + <programlisting><![CDATA[ +cd src +cp -r skeleton mycrypto +cd mycrypto +rm -rf CVS +cd ../.. +cd include/xmlsec +cp -r skeleton mycrypto +cd mycrypto +rm -rf CVS +cd ../../.. + ]]></programlisting> + </example> + </para></listitem> + <listitem><para> + Replace "skeleton" with "mycrypto" in the copied files (note that there + are different possible cases here): + <example> + <title>Replacing "skeleton" with "mycrypto".</title> + <programlisting><![CDATA[ +for i in `ls include/xmlsec/mycrypto/* src/mycrypto/*`; do + echo Processing $i ..; + sed 's/skeleton/mycrypto/g' $i | \ + sed 's/SKELETON/MYCRYPTO/g' | \ + sed 's/Skeleton/MyCrypto/g' > $i.tmp; + mv $i.tmp $i; +done + ]]></programlisting> + </example> + </para></listitem> + <listitem><para> + Add "xmlsec-mycrypto" library to the "include/xmlsec/crypto.h" file: + <example> + <title>Modifying include/xmlsec/crypto.h file.</title> + <programlisting><![CDATA[ +... +#ifdef XMLSEC_CRYPTO_MYCRYPTO +#include <xmlsec/mycrypto/app.h> +#include <xmlsec/mycrypto/crypto.h> +#include <xmlsec/mycrypto/symbols.h> +#else /* XMLSEC_CRYPTO_MYCRYPTO */ +... +#endif /* XMLSEC_CRYPTO_MYCRYPTO */ +... + ]]></programlisting> + </example> + </para></listitem> + <listitem><para> + Add "xmlsec-crypto" library to the configure.in file (for *nix systems; + for Windows you need to modify win32/confgure.js and win32/Makefile.msvc + files, see win32/README.txt for details): + <example> + <title>Modifying configure.in file.</title> + <programlisting><![CDATA[ +dnl ========================================================================== +dnl See if we can find MyCrypto +dnl ========================================================================== +XMLSEC_MYCRYPTO_DEFINES="" +MYCRYPTO_CONFIG="mycrypto-config" # TODO +XMLSEC_NO_MYCRYPTO="1" +MYCRYPTO_MIN_VERSION="0.0.0" # TODO +MYCRYPTO_VERSION="" +MYCRYPTO_PREFIX="" +MYCRYPTO_CFLAGS="" +MYCRYPTO_LIBS="" +MYCRYPTO_LDADDS="" +AC_MSG_CHECKING(for mycrypto libraries >= $MYCRYPTO_MIN_VERSION) +AC_ARG_WITH(mycrypto, [ --with-mycrypto=[PFX] mycrypto location]) +if test "$with_mycrypto" = "no" ; then + XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mycrypto" + AC_MSG_RESULT(no) +else + if test "$with_mycrypto" != "" ; then + MYCRYPTO_PREFIX=$with_mycrypto + MYCRYPTO_CONFIG=$MYCRYPTO_PREFIX/bin/$MYCRYPTO_CONFIG + fi + if ! $MYCRYPTO_CONFIG --version > /dev/null 2>&1 ; then + if test "$with_mycrypto" != "" ; then + AC_MSG_ERROR(Unable to find mycrypto at '$with_mycrypto') + fi + else + vers=`$MYCRYPTO_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` + minvers=`echo $MYCRYPTO_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` + if test "$vers" -ge "$minvers" ; then + MYCRYPTO_LIBS="`$MYCRYPTO_CONFIG --libs`" + MYCRYPTO_CFLAGS="`$MYCRYPTO_CONFIG --cflags`" + MYCRYPTO_VERSION="`$MYCRYPTO_CONFIG --version`" + XMLSEC_NO_MYCRYPTO="0" + else + AC_MSG_ERROR(You need at least mycrypto $MYCRYPTO_MIN_VERSION for this version of $PACKAGE) + fi + fi + + dnl update crypt libraries list + if test "z$XMLSEC_NO_MYCRYPTO" = "z0" ; then + dnl first crypto library is default one + if test "z$XMLSEC_CRYPTO" = "z" ; then + XMLSEC_CRYPTO="mycrypto" + XMLSEC_CRYPTO_LIB="xmlsec1-mycrypto" + XMLSEC_CRYPTO_CFLAGS="$MYCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MYCRYPTO=1" + XMLSEC_CRYPTO_LIBS="$MYCRYPTO_LIBS" + XMLSEC_CRYPTO_LDADDS="$MYCRYPTO_LDADDS" + fi + XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST mycrypto" + AC_MSG_RESULT(yes ('$MYCRYPTO_VERSION')) + else + XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mycrypto" + AC_MSG_RESULT(no) + fi +fi +AC_SUBST(XMLSEC_NO_MYCRYPTO) +AC_SUBST(MYCRYPTO_MIN_VERSION) +AC_SUBST(MYCRYPTO_VERSION) +AC_SUBST(MYCRYPTO_CONFIG) +AC_SUBST(MYCRYPTO_PREFIX) +AC_SUBST(MYCRYPTO_CFLAGS) +AC_SUBST(MYCRYPTO_LIBS) +AC_SUBST(MYCRYPTO_LDADDS) +AC_SUBST(XMLSEC_MYCRYPTO_DEFINES) + +... +AC_OUTPUT([ +... +include/xmlsec/mycrypto/Makefile +src/mycrypto/Makefile +... +]) + ]]></programlisting> + </example> + </para></listitem> + <listitem><para>Modify "xmlsec.spec.in" file to create "xmlsec-mycrypto" + RPM (if necessary). + </para></listitem> + </itemizedlist> + + By now you should be able to sucessfuly compile XML Security Library + with MyCrypto library (we disable all other libraries to make sure + that xmlsec command line utility is linked against xmlsec-mycrypto + library): + <example> + <title>Compiling the results.</title> + <programlisting><![CDATA[ +./autogen.sh --without-openssl --without-nss --without-gnutls --without-gcrypt \ + --with-mycrypto=$HOME --disable-tmpl-tests +make + ]]></programlisting> + </example> + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-functions"> + <title>xmlSecCryptoApp* functions.</title> + <para> + The XML Security Library allows application to load multiple + "xmlsec-<crypto> libraries. To prevent symbol conflicts, + all "xmlsec-mycrypto" library names MUST start with "xmlSecMyCrypto". + However, in some applications (for example, the xmlsec command line + utility) that can use any crypto library, would prefer to + use a generic function names where possible. + The "include/xmlsec/crypto.h" and "include/xmlsec/mycrypto/symbols.h" + include files do the magic by mapping "xmlSecMyCrypto*" to + "xmlSecCrypto*" names using "XMLSEC_CRYPTO_*" defines. + </para> + <para> + In order to build xmlsec command line utility, the + "xmlsec-<crypto>" library must implement several functions. + The stubs for all these functions are provided in the "skeleton" + we've created. While these functions are not required to be + implemented by "xmlsec-<crypto>" library, you should consider + doing so (if possible) to simplify testing (thru xmlsec command line + utility) and application development. + </para> + <para> + In adition to xmlSecCryptoApp* functions, the xmlsec-<crypto> + library MUST implement following xmlSecCrypto* functions: + <table> + <title>xmlSecCrypto* functions.</title> + <tgroup cols="2"><tbody> + <row><entry>xmlSecCryptoInit()</entry> + <entry>Initializes xmlsec-<crypto> library: registers cryptographic + transforms implemented by the library, keys, etc. + Please note, that the application might want to intialize + the cryprographic library by itself. The default cryprographic + library initialization (for example, used by xmlsec utility) + is implemented in xmlSecCryptoAppInit() function. + </entry></row> + <row><entry>xmlSecCryptoShutdown()</entry> + <entry>Shuts down xmlsec-<crypto> library. + Please note, that the application might want to shutdown + the cryprographic library by itself. The default cryprographic + library shutdown (for example, used by xmlsec utility) + is implemented in xmlSecCryptoAppShutdown() function. + </entry></row> + <row><entry>xmlSecCryptoKeysMngrInit()</entry> + <entry>Adds keys stores implemented by the xmlsec-<crypto> library + to the keys manager object. + </entry></row> + </tbody></tgroup></table> + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-klasses"> + <title>Klasses and objects.</title> + <para>The XML Security Library is written in C but it uses some OOP techniques: + the objects in the library have "klasses" and there is "klasses" inheritance. + (see <link linkend="xmlsec-signature-klasses">signature</link> and + <link linkend="xmlsec-encryption-klasses">encryption</link> klasses + diagrams). The "klass" is different from C++ "class" (btw, this is + one of the reasons why it is spelled differently). The idea of "klasses" + used in XML Security Library are close to one in the GLIB/GTK/GNOME + and many other C projects. If you ever seen an OOP code written in C + you should find everything familiar. + </para> + <para>XML Security Library "klass" includes three main parts: + <itemizedlist> + <listitem><para>"Klass" declaration structure that defines "klass" interfaces + and global constant data (for example, the human-readable name of + the "klass"). + <example> + <title>Base transform "klass" and its child XPath transform "klass" structure.</title> + <programlisting><![CDATA[ +struct _xmlSecTransformKlass { + /* data */ + size_t klassSize; + size_t objSize; + const xmlChar* name; + const xmlChar* href; + xmlSecTransformUsage usage; + + /* methods */ + xmlSecTransformInitializeMethod initialize; + xmlSecTransformFinalizeMethod finalize; + + xmlSecTransformNodeReadMethod readNode; + xmlSecTransformNodeWriteMethod writeNode; + + ... +}; + +... + +static xmlSecTransformKlass xmlSecTransformXPathKlass = { + /* klass/object sizes */ + sizeof(xmlSecTransformKlass), /* size_t klassSize */ + xmlSecXPathTransformSize, /* size_t objSize */ + + xmlSecNameXPath, /* const xmlChar* name; */ + xmlSecXPathNs, /* const xmlChar* href; */ + xmlSecTransformUsageDSigTransform, /* xmlSecTransformUsage usage; */ + + xmlSecTransformXPathInitialize, /* xmlSecTransformInitializeMethod initialize; */ + xmlSecTransformXPathFinalize, /* xmlSecTransformFinalizeMethod finalize; */ + xmlSecTransformXPathNodeRead, /* xmlSecTransformNodeReadMethod readNode; */ + NULL, /* xmlSecTransformNodeWriteMethod writeNode; */ + + ... +}; + ]]></programlisting> + </example> + </para></listitem> + + <listitem><para>"Klass" id which is simply a pointer to the "klass" + declaration strucutre. "Klass" id is used to bind "klass" objects + to the "klass" declaration and to pass "klass" strucutre to functions. + <example> + <title>Base transform "klass" id declaration and its child XPath transform "klass" id implementation.</title> + <programlisting><![CDATA[ +typedef const struct _xmlSecTransformKlass xmlSecTransformKlass, *xmlSecTransformId; + +... + +#define xmlSecTransformXPathId xmlSecTransformXPathGetKlass() + +... + +xmlSecTransformId +xmlSecTransformXPathGetKlass(void) { + return(&xmlSecTransformXPathKlass); +} + ]]></programlisting> + </example> + </para></listitem> + + <listitem><para>"Klass" object structure that contains object specific + data. The child object specific data are placed after the parent "klass" + object data. + <example> + <title>Base transform object strucutre and its child XPath transform object.</title> + <programlisting><![CDATA[ +struct _xmlSecTransform { + xmlSecTransformId id; + xmlSecTransformOperation operation; + xmlSecTransformStatus status; + xmlNodePtr hereNode; + + /* transforms chain */ + xmlSecTransformPtr next; + xmlSecTransformPtr prev; + + ... +}; + +... + +/****************************************************************************** + * + * XPath/XPointer transforms + * + * xmlSecPtrList with XPath expressions is located after xmlSecTransform structure + * + *****************************************************************************/ +#define xmlSecXPathTransformSize \ + (sizeof(xmlSecTransform) + sizeof(xmlSecPtrList)) +#define xmlSecXPathTransformGetDataList(transform) \ + ((xmlSecTransformCheckSize((transform), xmlSecXPathTransformSize)) ? \ + (xmlSecPtrListPtr)(((unsigned char*)(transform)) + sizeof(xmlSecTransform)) : \ + (xmlSecPtrListPtr)NULL) + ]]></programlisting> + </example> + </para></listitem> + </itemizedlist> + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-transforms"> + <title>Cryptographic transforms.</title> + <para>The cryptographic transforms (digests, signatures and encryption) + implementation is the main goal of "xmlsec-<crypto>" library. + Most of the cryptographic <link linkend="xmlsec-notes-transforms">transforms</link> + use default <structfield>pushBin</structfield> and <structfield>popBin</structfield> + methods and provide custom <link linkend="xmlSecTransformExecuteMethod">execute</link> method. + The binary transform <link linkend="xmlSecTransformExecuteMethod">execute</link> method + processes data from the input buffer + <structfield>inBuf</structfield> and pushes results to + <structfield>outBuf</structfield>. The transform should try to + consume and remove data from <structfield>inBuf</structfield> buffer + as soon as the data became available. However, it might happen + that current data size in the input buffer is not enough (for example, + RSA-PKCS1 algorithm requires that all the data are available in + one buffer). In this case, transform might keep the data in the + input buffer till the next call to + <link linkend="xmlSecTransformExecuteMethod">execute</link> + method. The "last" parameter of the + <link linkend="xmlSecTransformExecuteMethod">execute</link> + indicates that transform MUST process all the data in the input buffer + and return as much as possible in the output buffer. The + <link linkend="xmlSecTransformExecuteMethod">execute</link> method + might be called multiple times with non-zero "last" parameter until + the transforms returns nothing + in the output buffer. In addition, the transform implementation is + responsible for managing the transform <structfield>status</structfield> + variable. + <table> + <title>Typical transform status managing.</title> + <tgroup cols="2"><tbody> + <row><entry>xmlSecTransformStatusNone</entry> + <entry>Transform initializes itself (for example, cipher transform + generates or reads IV) and sets <structfield>status</structfield> + variable to xmlSecTransformStatusWorking.</entry></row> + <row><entry>xmlSecTransformStatusWorking</entry> + <entry>Transform process the next (if "last" parameter is zero) or + last block of data (if "last" parameter is non-zero). + When transform returns all the data, it sets the + <structfield>status</structfield> variable to + xmlSecTransformStatusFinished.</entry></row> + <row><entry>xmlSecTransformStatusFinished</entry> + <entry>Transform returns no data to indicate that it finished + processing.</entry></row> + </tbody></tgroup></table> + </para> + <para>In adition to <link linkend="xmlSecTransformExecuteMethod">execute</link> + methods, signature, hmac or digest transforms + MUST implement <link linkend="xmlSecTransformVerifyMethod">verify</link> method. + The <link linkend="xmlSecTransformVerifyMethod">verify</link> method is called + after transform execution is finished. The + <link linkend="xmlSecTransformVerifyMethod">verify</link> method implementation + must set the "status" member to <link linkend="xmlSecTransformStatusOk">xmlSecTransformStatusOk</link> + if signature, hmac or digest is successfuly verified or to + <link linkend="xmlSecTransformStatusFail">xmlSecTransformStatusFail</link> + otherwise. + </para> + <para>The transforms that require a key (signature or encryption + transforms, for example) MUST imlpement + <link linkend="xmlSecTransformSetKeyRequirementsMethod">setKeyReq</link> + (prepares the <link linkend="xmlSecKeyReq">key requirements</link> + for key search) and + <link linkend="xmlSecTransformSetKeyMethod">setKey</link> + (sets the key in the transform) methods. + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-keys"> + <title>Keys data and keys data stores.</title> + <para> + There are two key data types: key value data (for example, AES, DES, DSA, + HMAC or RSA key data) and others (for example, key name, X509 or PGP data). + The key data implementation should implement at least one of + <link linkend="xmlSecKeyDataXmlReadMethod">xmlRead</link> + or <link linkend="xmlSecKeyDataBinReadMethod">binRead</link> methods. + </para> + <para>TODO</para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-simple-keys-mngr"> + <title>Default keys manager.</title> + <para>Any "xmlsec-<crypto>" library implementation must provide + a default keys store. The XML Security Library has a built-in flat + list based <link linkend="xmlSecSimpleKeysStoreId">simple keys + store</link> which could be used if cryptographic library does not + have one itself. + </para> + </sect1> + <sect1 id="xmlsec-notes-new-crypto-sharing-results"> + <title>Sharing the results.</title> + <para>If you implemented support for new cryptographic library + (or extended an existing one) and both you and your company/university/... + are willing to share the code I would be glad to add your work + to XML Security Library. Many people will thank you for this + and will use your library. Of course, you'll get all the credits + for your work. + </para> + <para>The best way to submit your enchancements is to provide a diff + with the current CVS version. In order to do this, + <itemizedlist> + <listitem><para>Checkout the sources from <ulink URL="http://developer.gnome.org/tools/cvs.html">GNOME CVS</ulink> + (module name is "xmlsec"). + </para></listitem> + <listitem><para>Add all the new files with "cvs add" command (this will not + create files in CVS but mark them as "added" localy). You'll not be able + to create new folders without a valid GNOME CVS account, let me know + what you need and I'll be happy to help. + </para></listitem> + <listitem><para>Get a diff of all existing and new files using + "cvs -z3 diff -u -N" command. + </para></listitem> + <listitem><para>Send the resulting diff file to the xmlsec mailing list + with some information about yourself so I can update the authors + and coping information. + </para></listitem> + </itemizedlist> + I will try to review and check in your patch as soon as possible. + </para> + </sect1> +</chapter> + + diff --git a/docs/api/chapters/sign-and-encrypt.sgml b/docs/api/chapters/sign-and-encrypt.sgml new file mode 100644 index 00000000..58ff04ac --- /dev/null +++ b/docs/api/chapters/sign-and-encrypt.sgml @@ -0,0 +1,286 @@ +<chapter id="xmlsec-notes-sign-encrypt"> + <title>Signing and encrypting documents.</title> + <sect1 id="xmlsec-notes-sign-encrypt-overview"> + <title>Overview.</title> + <para>XML Security Library performs signature or encryption by processing + input xml or binary data and a template that specifies a signature or + encryption skeleton: the transforms, algorithms, the key selection + process. A template has the same structure as the desired result but + some of the nodes are empty. XML Security Library gets the key for + signature/encryption from keys managers using the information from + the template, does necessary computations and puts the results in + the template. Signature or encryption context controls the whole + process and stores the required temporary data. + <figure> + <title>The signature or encryption processing model.</title> + <graphic fileref="images/sign-enc-model.png" align="center"></graphic> + </figure> + </para> + </sect1> + + <sect1 id="xmlsec-notes-sign" > + <title>Signing a document.</title> + <para>The typical siganture process includes following steps: + <itemizedlist> + <listitem><para> + Prepare data for signature. + </para></listitem> + <listitem><para> + Create or load signature template and select start + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-Signature"><dsig:Signature/></ulink> + node. + </para></listitem> + <listitem><para> + Create signature context <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + using <link linkend="xmlSecDSigCtxCreate">xmlSecDSigCtxCreate</link> or + <link linkend="xmlSecDSigCtxInitialize">xmlSecDSigCtxInitialize</link> + functions. + </para></listitem> + <listitem><para> + Load signature key in <link linkend="xmlSecKeysMngr">keys manager</link> + or generate a session key and set it in the signature context + (<structfield>signKey</structfield> member of + <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> structure). + </para></listitem> + <listitem><para> + Sign data by calling <link linkend="xmlSecDSigCtxSign">xmlSecDSigCtxSign</link> + function. + </para></listitem> + <listitem><para> + Check returned value and consume signed data. + </para></listitem> + <listitem><para> + Destroy signature context <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + using <link linkend="xmlSecDSigCtxDestroy">xmlSecDSigCtxDestroy</link> or + <link linkend="xmlSecDSigCtxFinalize">xmlSecDSigCtxFinalize</link> + functions. + </para></listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Signing a template.</title> + <programlisting><![CDATA[ +/** + * sign_file: + * @tmpl_file: the signature template file name. + * @key_file: the PEM private key file name. + * + * Signs the #tmpl_file using private key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* tmpl_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-sign1">Full program listing</link></simpara> + <simpara><link linkend="xmlsec-example-sign1-tmpl">Simple signature template file</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-encrypt"> + <title>Encrypting data.</title> + <para>The typical encryption process includes following steps: + <itemizedlist> + <listitem><para> + Prepare data for encryption. + </para></listitem> + <listitem><para> + Create or load encryption template and select start + <enc:EncryptedData/> node. + </para></listitem> + <listitem><para> + Create encryption context <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> + using <link linkend="xmlSecEncCtxCreate">xmlSecEncCtxCreate</link> or + <link linkend="xmlSecEncCtxInitialize">xmlSecEncCtxInitialize</link> + functions. + </para></listitem> + <listitem><para> + Load encryption key in <link linkend="xmlSecKeysMngr">keys manager</link> + or generate a session key and set it in the encryption context + (<structfield>encKey</structfield> member of + <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> structure). + </para></listitem> + <listitem><para> + Encrypt data by calling one of the following functions: + <itemizedlist> + <listitem><para> + <link linkend="xmlSecEncCtxBinaryEncrypt">xmlSecEncCtxBinaryEncrypt</link> + </para></listitem> + <listitem><para> + <link linkend="xmlSecEncCtxXmlEncrypt">xmlSecEncCtxXmlEncrypt</link> + </para></listitem> + <listitem><para> + <link linkend="xmlSecEncCtxUriEncrypt">xmlSecEncCtxUriEncrypt</link> + </para></listitem> + </itemizedlist> + </para></listitem> + <listitem><para> + Check returned value and if necessary consume encrypted data. + </para></listitem> + <listitem><para> + Destroy encryption context <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> + using <link linkend="xmlSecEncCtxDestroy">xmlSecEncCtxDestroy</link> or + <link linkend="xmlSecEncCtxFinalize">xmlSecEncCtxFinalize</link> + functions. + </para></listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Encrypting binary data with a template.</title> + <programlisting><![CDATA[ +/** + * encrypt_file: + * @tmpl_file: the encryption template file name. + * @key_file: the Triple DES key file. + * @data: the binary data to encrypt. + * @dataSize: the binary data size. + * + * Encrypts binary #data using template from #tmpl_file and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* tmpl_file, const char* key_file, const unsigned char* data, size_t dataSize) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + assert(data); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxBinaryEncrypt(encCtx, node, data, dataSize) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-encrypt1">Full program listing</link></simpara> + <simpara><link linkend="xmlsec-example-encrypt1-tmpl">Simple encryption template file</link></simpara> + </example> + </para> + </sect1> +</chapter> + diff --git a/docs/api/chapters/using-contexts.sgml b/docs/api/chapters/using-contexts.sgml new file mode 100644 index 00000000..0dc1c263 --- /dev/null +++ b/docs/api/chapters/using-contexts.sgml @@ -0,0 +1,138 @@ +<chapter id="xmlsec-notes-contexts"> + <title>Using context objects.</title> + <para>The great flexibility of XML Digital Signature and XML Encryption + specification is one of the most interesting and in the same time, + most dangerouse feature for an application developer. + For example, XPath and XSLT transform can make it very difficult + to find out what exactly was signed by just looking at the + transforms and the input data. Many protocols based on + XML Digital Signature and XML Encryption restrict allowed + key data types, allowed transforms or possible input data. + For example, signature in a simple SAML Response should have only + one <dsig:Reference/> element with an empty or NULL + URI attribute and only one enveloped transform. + XML Security Library uses "context" objects to let application + enable or disable particular features, return the result + data and the information collected during the processing. + Also all the context objects defined in XML Security library have + a special <structfield>userData</structfield> member which could + be used by application to pass application specific data around. + XML Security Library never use this field. + The application creates a new + <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + or <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> object for each + operation, sets necessary options and consumes result returned + in the context after signature, verification, encryption or decryption. + </para> + <para> + <example> + <title>SAML signature validation.</title> + <programlisting><![CDATA[ +/** + * verify_file: + * @mngr: the pointer to keys manager. + * @xml_file: the signed XML file name. + * + * Verifies XML signature in #xml_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context */ + dsigCtx = xmlSecDSigCtxCreate(mngr); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* limit the Reference URI attributes to empty or NULL */ + dsigCtx->enabledReferenceUris = xmlSecTransformUriTypeEmpty; + + /* limit allowed transforms for siganture and reference processing */ + if((xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformRsaSha1Id) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed siganture transforms\n"); + goto done; + } + if((xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformEnvelopedId) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed reference transforms\n"); + goto done; + } + + /* in addition, limit possible key data to valid X509 certificates only */ + if(xmlSecPtrListAdd(&(dsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecKeyDataX509Id) < 0) { + fprintf(stderr,"Error: failed to limit allowed key data\n"); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* check that we have only one Reference */ + if((dsigCtx->status == xmlSecDSigStatusSucceeded) && + (xmlSecPtrListGetSize(&(dsigCtx->signedInfoReferences)) != 1)) { + + fprintf(stderr,"Error: only one reference is allowed\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + + ]]></programlisting> + </example> + </para> +</chapter> + diff --git a/docs/api/chapters/using-keys.sgml b/docs/api/chapters/using-keys.sgml new file mode 100644 index 00000000..c2c90f50 --- /dev/null +++ b/docs/api/chapters/using-keys.sgml @@ -0,0 +1,26 @@ +<chapter id="xmlsec-notes-keys"> + <title>Keys.</title> + <para>A key in XML Security Library is a representation of the + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo"><dsig:KeyInfo/></ulink> + element and consist of several key data objects. + The "value" key data usually contains raw key material (or handlers to + key material) required to execute particular crypto transform. Other + key data objects may contain any additional information about the key. + All the key data objects in the key are associated with the same key + material. For example, if a DSA key material has both an X509 + certificate and a PGP data associated with it then such a key can + have a DSA key "value" and two key data objects for X509 certificate + and PGP key data. + </para> + <figure> + <title>The key structure.</title> + <graphic fileref="images/key.png" align="center"></graphic> + </figure> + <para>XML Security Library has several "invisible" key data classes. + These classes never show up in the keys data list of a key but are used for + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo"><dsig:KeyInfo/></ulink> + children processing (<ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyName"><dsig:KeyName/></ulink>, + <enc:EncryptedKey/>, ...). As with transforms, application might + add any new key data objects or replace the default ones. + </para> +</chapter> diff --git a/docs/api/chapters/using-keysmngr.sgml b/docs/api/chapters/using-keysmngr.sgml new file mode 100644 index 00000000..1c25b3da --- /dev/null +++ b/docs/api/chapters/using-keysmngr.sgml @@ -0,0 +1,592 @@ +<chapter id="xmlsec-notes-keysmngr"> + <title>Keys manager.</title> + <sect1 id="xmlsec-notes-keysmngr-overview"> + <title>Overview.</title> + <para>Processing some of the key data objects require additional + information which is global across the application (or in the + particular area of the application). For example, X509 certificates + processing require a common list of trusted certificates to be + available. XML Security Library keeps all the common information + for key data processing in a a collection of key data stores called + "keys manager". + </para> + <figure> + <title>The keys manager structure.</title> + <graphic fileref="images/keysmngr.png" align="center"></graphic> + </figure> + <para>Keys manager has a special "keys store" which lists the keys + known to the application. This "keys store" is used by XML Security + Library to lookup keys by name, type and crypto algorithm (for example, + during + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyName"><dsig:KeyName/></ulink> + processing). The XML Security Library + provides default simple "flat list" based implementation of a default keys + store. The application can replace it with any other keys store + (for example, based on an SQL database). + </para> + <para>Keys manager is the only object in XML Security Library which + is supposed to be shared by many different operations. Usually keys + manager is initialized once at the application startup and later is + used by XML Security library routines in "read-only" mode. If + application or crypto function need to modify any of the key data + stores inside keys manager then proper synchronization must be + implemented. In the same time, application can create a new keys + manager each time it needs to perform XML signature, verification, + encryption or decryption. + </para> + </sect1> + + <sect1 id="xmlsec-notes-simple-keys-store"> + <title>Simple keys store.</title> + <para> + XML Security Library has a built-in simple keys store + implemented using a keys list. You can use it in your application + if you have a small number of keys. However, this might be not a + best option from performance point of view if you have a lot of keys. + In this case, you probably should implement your own keys store + using an SQL database or some other keys storage. + </para> + <para> + <example> + <title>Initializing keys manager and loading keys from PEM files.</title> + <programlisting><![CDATA[ +/** + * load_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates default keys manager and load PEM keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load key */ + key = xmlSecCryptoAppKeyLoad(files[i], xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load pem key from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-verify2">Full program listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-keys-manager-sign-enc"> + <title>Using keys manager for signatures/encryption.</title> + <para>Instead of specifiying signature or encryption key in the + corresponding context object (<structfield>signKey</structfield> + member of <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + structure or <structfield>encKey</structfield> member of + <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> structure), + the application can use keys manager to select the + signature or encryption key. This is especialy useful + when you are encrypting or signing something with a session key + which is by itself should be encrypted. The key for the + session key encryption in the + <ulink URL="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey"><EncryptedKey/></ulink> + node could be selected using + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyName"><dsig:KeyName/></ulink> + node in the template. + </para> + <para> + <example> + <title>Encrypting file using a session key and a permanent key from keys manager.</title> + <programlisting><![CDATA[ +/** + * load_rsa_keys: + * @key_file: the key filename. + * + * Creates default keys manager and load RSA key from #key_file in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_rsa_keys(char* key_file) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + + assert(key_file); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* load private RSA key */ + key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load rsa key from file \"%s\"\n", key_file); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + return(mngr); +} + +/** + * encrypt_file: + * @mngr: the pointer to keys manager. + * @xml_file: the encryption template file name. + * @key_name: the RSA key name. + * + * Encrypts #xml_file using a dynamicaly created template, a session DES key + * and an RSA key from keys manager. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlNodePtr encKeyNode = NULL; + xmlNodePtr keyInfoNode2 = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + assert(key_name); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* add <enc:EncryptedKey/> to store the encrypted session key */ + encKeyNode = xmlSecTmplKeyInfoAddEncryptedKey(keyInfoNode, + xmlSecTransformRsaOaepId, + NULL, NULL, NULL); + if(encKeyNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* we want to put encrypted key in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encKeyNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to <enc:EncryptedKey/> */ + keyInfoNode2 = xmlSecTmplEncDataEnsureKeyInfo(encKeyNode, NULL); + if(keyInfoNode2 == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* set key name so we can lookup key when needed */ + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode2, key_name) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context */ + encCtx = xmlSecEncCtxCreate(mngr); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* generate a Triple DES key */ + encCtx->encKey = xmlSecKeyGenerate(xmlSecKeyDataDesId, 192, xmlSecKeyDataTypeSession); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to generate session des key\n"); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + + ]]></programlisting> + <simpara><link linkend="xmlsec-example-encrypt3">Full program listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-keys-mngr-verify-decrypt"> + <title>Using keys manager for verification/decryption.</title> + <para>If more than one key could be used for signature or encryption, + then using <structfield>signKey</structfield> member of + <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> structure or + <structfield>encKey</structfield> member of + <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> structure + is not possible. Instead, the application should load known keys in + the keys manager and use <dsig:KeyName/> element to specify + the key name. + </para> + <para> + <example> + <title>Initializing keys manager and loading DES keys from binary files.</title> + <programlisting><![CDATA[ +/** + * load_des_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates default keys manager and load DES keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_des_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load DES key */ + key = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, files[i]); + if(key == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-decrypt2">Full program listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-custom-keys-store"> + <title>Implementing a custom keys store.</title> + <para>In many cases, a default built-in list based keys store + is not good enough. For example, XML Security Library (and + the built-in default keys store) have no synchronization and + you'll need to implement a custom keys store if you want to + add or remove keys while other threads use the store.</para> + <para> + <example> + <title>Creating a custom keys manager.</title> + <programlisting><![CDATA[ +/** + * create_files_keys_mngr: + * + * Creates a files based keys manager: we assume that key name is + * the key file name, + * + * Returns pointer to newly created keys manager or NULL if an error occurs. + */ +xmlSecKeysMngrPtr +create_files_keys_mngr(void) { + xmlSecKeyStorePtr keysStore; + xmlSecKeysMngrPtr mngr; + + /* create files based keys store */ + keysStore = xmlSecKeyStoreCreate(files_keys_store_get_klass()); + if(keysStore == NULL) { + fprintf(stderr, "Error: failed to create keys store.\n"); + return(NULL); + } + + /* create keys manager */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + return(NULL); + } + + /* add store to keys manager, from now on keys manager destroys the store if needed */ + if(xmlSecKeysMngrAdoptKeysStore(mngr, keysStore) < 0) { + fprintf(stderr, "Error: failed to add keys store to keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* initialize crypto library specific data in keys manager */ + if(xmlSecCryptoKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize crypto data in keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set the get key callback */ + mngr->getKey = xmlSecKeysMngrGetKey; + return(mngr); +} + +/**************************************************************************** + * + * Files Keys Store: we assume that key's name (content of the + * <dsig:KeyName/> element is a name of the file with a key. + * Attention: this probably not a good solution for high traffic systems. + * + ***************************************************************************/ +static xmlSecKeyPtr files_keys_store_find_key (xmlSecKeyStorePtr store, + const xmlChar* name, + xmlSecKeyInfoCtxPtr keyInfoCtx); +static xmlSecKeyStoreKlass files_keys_store_klass = { + sizeof(xmlSecKeyStoreKlass), + sizeof(xmlSecKeyStore), + BAD_CAST "files-based-keys-store", /* const xmlChar* name; */ + NULL, /* xmlSecKeyStoreInitializeMethod initialize; */ + NULL, /* xmlSecKeyStoreFinalizeMethod finalize; */ + files_keys_store_find_key, /* xmlSecKeyStoreFindKeyMethod findKey; */ + + /* reserved for the future */ + NULL, /* void* reserved0; */ + NULL, /* void* reserved1; */ +}; + +/** + * files_keys_store_get_klass: + * + * The files based keys store klass: we assume that key name is the + * key file name, + * + * Returns files based keys store klass. + */ +xmlSecKeyStoreId +files_keys_store_get_klass(void) { + return(&files_keys_store_klass); +} + +/** + * files_keys_store_find_key: + * @store: the pointer to default keys store. + * @name: the desired key name. + * @keyInfoCtx: the pointer to <dsig:KeyInfo/> node processing context. + * + * Lookups key in the @store. + * + * Returns pointer to key or NULL if key not found or an error occurs. + */ +static xmlSecKeyPtr +files_keys_store_find_key(xmlSecKeyStorePtr store, const xmlChar* name, xmlSecKeyInfoCtxPtr keyInfoCtx) { + xmlSecKeyPtr key; + const xmlChar* p; + + assert(store); + assert(keyInfoCtx); + + /* it's possible to do not have the key name or desired key type + * but we could do nothing in this case */ + if((name == NULL) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataIdUnknown)){ + return(NULL); + } + + /* we don't want to open files in a folder other than "current"; + * to prevent it limit the characters in the key name to alpha/digit, + * '.', '-' or '_'. + */ + for(p = name; (*p) != '\0'; ++p) { + if(!isalnum((*p)) && ((*p) != '.') && ((*p) != '-') && ((*p) != '_')) { + return(NULL); + } + } + + if((keyInfoCtx->keyReq.keyId == xmlSecKeyDataDsaId) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataRsaId)) { + /* load key from a pem file, if key is not found then it's an error (is it?) */ + key = xmlSecCryptoAppKeyLoad(name, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load pem key from \"%s\"\n", name); + return(NULL); + } + } else { + /* otherwise it's a binary key, if key is not found then it's an error (is it?) */ + key = xmlSecKeyReadBinaryFile(keyInfoCtx->keyReq.keyId, name); + if(key == NULL) { + fprintf(stderr,"Error: failed to load key from binary file \"%s\"\n", name); + return(NULL); + } + } + + /* set key name */ + if(xmlSecKeySetName(key, name) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", name); + xmlSecKeyDestroy(key); + return(NULL); + } + + return(key); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-decrypt3">Full program listing</link></simpara> + </example> + </para> + </sect1> +</chapter> diff --git a/docs/api/chapters/using-transforms.sgml b/docs/api/chapters/using-transforms.sgml new file mode 100644 index 00000000..874f41ca --- /dev/null +++ b/docs/api/chapters/using-transforms.sgml @@ -0,0 +1,67 @@ +<chapter id="xmlsec-notes-transforms"> + <title>Transforms and transforms chain.</title> + <para>XML Digital Signature and XML Encryption standards are + very flexible and provide an XML developer many different ways to + sign or encrypt any part (or even parts) of an XML document. + The key for such great flexibility is the "transforms" model. + Transform is defined as a method of pre-processing binary or XML data + before calculating digest or signature. XML Security Library extends + this definition and names "transform" any operation performed on + the data: reading data from an URI, xml parsing, xml transformation, + calculation digest, encrypting or decrypting. Each XML Security Library + transform provides at least one of the following callbacks: + <itemizedlist> + <listitem><para> + <link linkend="xmlSecTransformPushBinMethod">push binary data</link>; + </para></listitem> + <listitem><para> + <link linkend="xmlSecTransformPushXmlMethod">push xml data</link>; + </para></listitem> + <listitem><para> + <link linkend="xmlSecTransformPopBinMethod">pop binary data</link>; + </para></listitem> + <listitem><para> + <link linkend="xmlSecTransformPopXmlMethod">pop xml data</link>. + </para></listitem> + </itemizedlist> + </para> + <para>One additional <link linkend="xmlSecTransformExecuteMethod">execute</link> + callback was added to simplify the development and reduce code size. + This callback is used by default + implementations of the four external callbacks from the list above. + For example, most of the crypto transforms could be implemented by + just implementing one "execute" callback and using default push/pop + binary data callbacks. However, in some cases using push/pop callbacks + directly is more efficient. + </para> + <figure> + <title>The XML Security Library transform.</title> + <graphic fileref="images/transform.png" align="center"></graphic> + </figure> + <para>XML Security Library constructs transforms chain according to the + signature/encryption template or signed/encrypted document. + If necessary, XML Security Library inserts XML parser or defaul + canonicalization to ensure that the output data type (binary or XML) + of previous transform matches the input of the next transform. + </para> + <para>The data are processed by pushing through or poping from the chain + depending on the transforms in the chain. For example, then binary + data chunk is pushed through a binary-to-binary transform, it + processes this chunk and pushes the result to the next transform + in the chain. + </para> + <figure> + <title>Transforms chain created for <dsig:Reference/> element processing.</title> + <graphic fileref="images/transforms-chain.png" align="center"></graphic> + </figure> + + <para> + <example> + <title>Walking through transforms chain.</title> + <programlisting><![CDATA[ +TODO + ]]></programlisting> + </example> + </para> +</chapter> + diff --git a/docs/api/chapters/using-x509-certs.sgml b/docs/api/chapters/using-x509-certs.sgml new file mode 100644 index 00000000..8ff029d9 --- /dev/null +++ b/docs/api/chapters/using-x509-certs.sgml @@ -0,0 +1,197 @@ +<chapter id="xmlsec-notes-x509"> + <title>Using X509 Certificates.</title> + <sect1 id="xmlsec-notes-x509-overview"> + <title>Overview.</title> + <para>X509 certificate is one of many possible keys data object that can be + associated with a key. Application may read and write X509 data + from/to XML file. The X509 certificates management policies significantly + vary from one crypto library to another. The examples in this chapter + were tested with OpenSSL and they might be broken if anither crypto + engine is used. Check API reference documentation for more specific + information about your crypto engine. + </para> + </sect1> + + <sect1 id="xmlsec-notes-sign-x509" > + <title>Signing data with X509 certificate.</title> + <para>To sign a file using X509 certificate, + an application need to associate the certificate (or certificates) + with the private key using one of the following functions: + <itemizedlist> + <listitem><para> + <link linkend="xmlSecOpenSSLAppKeyCertLoad">xmlSecOpenSSLAppKeyCertLoad</link> - loads + certificate from a file and adds to the key; + </para></listitem> + + <listitem><para> + <link linkend="xmlSecOpenSSLAppPkcs12Load">xmlSecOpenSSLAppPkcs12Load</link> - + loads private key and all the certificates associated with it from a PKCS12 file; + </para></listitem> + + <listitem><para> + <link linkend="xmlSecKeyAdoptData">xmlSecKeyAdoptData</link> - low level + function to add key data (including X509 key data) to the key. + </para></listitem> + </itemizedlist> + <example> + <title>Loading private key and X509 certificate.</title> + <programlisting><![CDATA[ + /* load private key, assuming that there is not password */ + key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* load certificate and add to the key */ + if(xmlSecCryptoAppKeyCertLoad(key, cert_file, xmlSecKeyDataFormatPem) < 0) { + fprintf(stderr,"Error: failed to load pem certificate \"%s\"\n", cert_file); + goto done; + } + ]]></programlisting> + <simpara><link linkend="xmlsec-example-sign3">Full program listing</link></simpara> + </example> + </para> + <para>Next step is to prepare signature template with <dsig:X509Data/> + child of the <dsig:KeyInfo/> element. When XML Security Library finds + this node in the template, it automaticaly creates <dsig:X509Certificate/> + children of the <dsig:X509Data/> element and writes to result XML document + all the certificates associated with the signature key. + <example> + <title>Dynamicaly creating a signature template for signing document using X509 certificate.</title> + <programlisting><![CDATA[ + /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:X509Data/> */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddX509Data(keyInfoNode) == NULL) { + fprintf(stderr, "Error: failed to add X509Data node\n"); + goto done; + } + ]]></programlisting> + <simpara><link linkend="xmlsec-example-sign3">Full program listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-verify-x509" > + <title>Verifing document signed with X509 certificates.</title> + <para> + If the document is signed with an X509 certificate then the signature + verification consist of two steps: + <itemizedlist> + <listitem><para>Creating and verifing X509 certificates chain. + </para></listitem> + <listitem><para>Verifing signature itself using key exrtacted from + a certificate verified on previous step. + </para></listitem> + </itemizedlist> + Certificates chain is constructed from certificates in a way that + each certificate in the chain is signed with previous one: + <figure> + <title>Certificates chain.</title> + <programlisting> +Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself) + </programlisting> + </figure> + At the end of the chain there is a "Root Certificate" which + is signed by itself. There is no way to verify the validity of the + root certificate and application have to "trust" it + (another name for root certificates is "trusted" certificates). + </para> + + <para> + Application can use <link linkend="xmlSecCryptoAppKeysMngrCertLoad">xmlSecCryptoAppKeysMngrCertLoad</link> + function to load both "trusted" and "un-trusted" + certificates. However, the selection of "trusted" + certificates is very sensitive process and this function might be + not implemented for some crypto engines. In this case, the + "trusted" certificates list is loaded during initialization + or specified in crypto engine configuration files. + Check XML Security Library API reference for more details. + <example> + <title>Loading trusted X509 certificate.</title> + <programlisting><![CDATA[ +/** + * load_trusted_certs: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load trusted certificates from PEM #files. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_trusted_certs(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load trusted cert */ + if(xmlSecCryptoAppKeysMngrCertLoad(mngr, files[i], xmlSecKeyDataFormatPem, xmlSecKeyDataTypeTrusted) < 0) { + fprintf(stderr,"Error: failed to load pem certificate from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-verify3">Full program listing</link></simpara> + </example> + </para> + </sect1> +</chapter> + diff --git a/docs/api/chapters/verify-and-decrypt.sgml b/docs/api/chapters/verify-and-decrypt.sgml new file mode 100644 index 00000000..699d19b6 --- /dev/null +++ b/docs/api/chapters/verify-and-decrypt.sgml @@ -0,0 +1,265 @@ +<chapter id="xmlsec-notes-verify-decrypt"> + <title>Verifing and decrypting documents.</title> + <sect1 id="xmlsec-notes-verify-decrypt-overview"> + <title>Overview.</title> + <para>Since the template is just an XML file, it might be created in advance + and saved in a file. It's also possible for application to create + templates without using XML Security Library functions. Also in some + cases template should be inserted in the signed or encrypted data + (for example, if you want to create an enveloped or enveloping + signature).</para> + <para>Signature verification and data decryption do not require template + because all the necessary information is provided in the signed or + encrypted document. + <figure> + <title>The verification or decryption processing model.</title> + <graphic fileref="images/verif-dec-model.png" align="center"></graphic> + </figure> + </para> + </sect1> + + <sect1 id="xmlsec-notes-verify" > + <title>Verifying a signed document</title> + <para>The typical siganture verification process includes following steps: + <itemizedlist> + <listitem><para> + Load keys, X509 certificates, etc. in the <link linkend="xmlSecKeysMngr">keys manager</link> . + </para></listitem> + <listitem><para> + Create signature context <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + using <link linkend="xmlSecDSigCtxCreate">xmlSecDSigCtxCreate</link> or + <link linkend="xmlSecDSigCtxInitialize">xmlSecDSigCtxInitialize</link> + functions. + </para></listitem> + <listitem><para> + Select start verification + <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-Signature"><dsig:Signature/></ulink> + node in the signed XML document. + </para></listitem> + <listitem><para> + Verify signature by calling <link linkend="xmlSecDSigCtxVerify">xmlSecDSigCtxVerify</link> + function. + </para></listitem> + <listitem><para> + Check returned value and verification status (<structfield>status</structfield> + member of <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> structure). + If necessary, consume returned data from the <link linkend="xmlSecDSigCtx">context</link>. + </para></listitem> + <listitem><para> + Destroy signature context <link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link> + using <link linkend="xmlSecDSigCtxDestroy">xmlSecDSigCtxDestroy</link> or + <link linkend="xmlSecDSigCtxFinalize">xmlSecDSigCtxFinalize</link> + functions. + </para></listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Verifying a document.</title> + <programlisting><![CDATA[ +/** + * verify_file: + * @xml_file: the signed XML file name. + * @key_file: the PEM public key file name. + * + * Verifies XML signature in #xml_file using public key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load public key */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load public pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-verify1">Full Program Listing</link></simpara> + </example> + </para> + </sect1> + + <sect1 id="xmlsec-notes-decrypt" > + <title>Decrypting an encrypted document</title> + <para>The typical decryption process includes following steps: + <itemizedlist> + <listitem><para> + Load keys, X509 certificates, etc. in the <link linkend="xmlSecKeysMngr">keys manager</link> . + </para></listitem> + <listitem><para> + Create encryption context <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> + using <link linkend="xmlSecEncCtxCreate">xmlSecEncCtxCreate</link> or + <link linkend="xmlSecEncCtxInitialize">xmlSecEncCtxInitialize</link> + functions. + </para></listitem> + <listitem><para> + Select start decryption <enc:EncryptedData> node. + </para></listitem> + <listitem><para> + Decrypt by calling <link linkend="xmlSecEncCtxDecrypt">xmlSecencCtxDecrypt</link> + function. + </para></listitem> + <listitem><para> + Check returned value and if necessary consume encrypted data. + </para></listitem> + <listitem><para> + Destroy encryption context <link linkend="xmlSecEncCtx">xmlSecEncCtx</link> + using <link linkend="xmlSecEncCtxDestroy">xmlSecEncCtxDestroy</link> or + <link linkend="xmlSecEncCtxFinalize">xmlSecEncCtxFinalize</link> + functions. + </para></listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Decrypting a document.</title> + <programlisting><![CDATA[ +int +decrypt_file(const char* enc_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(enc_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(enc_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", enc_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", enc_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* decrypt the data */ + if((xmlSecEncCtxDecrypt(encCtx, node) < 0) || (encCtx->result == NULL)) { + fprintf(stderr,"Error: decryption failed\n"); + goto done; + } + + /* print decrypted data to stdout */ + if(encCtx->resultReplaced != 0) { + fprintf(stdout, "Decrypted XML data:\n"); + xmlDocDump(stdout, doc); + } else { + fprintf(stdout, "Decrypted binary data (%d bytes):\n", xmlSecBufferGetSize(encCtx->result)); + if(xmlSecBufferGetData(encCtx->result) != NULL) { + fwrite(xmlSecBufferGetData(encCtx->result), + 1, + xmlSecBufferGetSize(encCtx->result), + stdout); + } + } + fprintf(stdout, "\n"); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + ]]></programlisting> + <simpara><link linkend="xmlsec-example-decrypt1">Full Program Listing</link></simpara> + </example> + </para> + </sect1> +</chapter> diff --git a/docs/api/home.png b/docs/api/home.png Binary files differnew file mode 100644 index 00000000..17003611 --- /dev/null +++ b/docs/api/home.png diff --git a/docs/api/images/diagrams.sxd b/docs/api/images/diagrams.sxd Binary files differnew file mode 100644 index 00000000..53bbeb5e --- /dev/null +++ b/docs/api/images/diagrams.sxd diff --git a/docs/api/images/encryption-structure.png b/docs/api/images/encryption-structure.png Binary files differnew file mode 100644 index 00000000..16c78afa --- /dev/null +++ b/docs/api/images/encryption-structure.png diff --git a/docs/api/images/key.png b/docs/api/images/key.png Binary files differnew file mode 100644 index 00000000..7ffd50b3 --- /dev/null +++ b/docs/api/images/key.png diff --git a/docs/api/images/keysmngr.png b/docs/api/images/keysmngr.png Binary files differnew file mode 100644 index 00000000..cd3c32f5 --- /dev/null +++ b/docs/api/images/keysmngr.png diff --git a/docs/api/images/sign-enc-model.png b/docs/api/images/sign-enc-model.png Binary files differnew file mode 100644 index 00000000..ac1e3da7 --- /dev/null +++ b/docs/api/images/sign-enc-model.png diff --git a/docs/api/images/signature-structure.png b/docs/api/images/signature-structure.png Binary files differnew file mode 100644 index 00000000..dd705ba8 --- /dev/null +++ b/docs/api/images/signature-structure.png diff --git a/docs/api/images/structure.png b/docs/api/images/structure.png Binary files differnew file mode 100644 index 00000000..63ac0203 --- /dev/null +++ b/docs/api/images/structure.png diff --git a/docs/api/images/transform.png b/docs/api/images/transform.png Binary files differnew file mode 100644 index 00000000..d2e9574d --- /dev/null +++ b/docs/api/images/transform.png diff --git a/docs/api/images/transforms-chain.png b/docs/api/images/transforms-chain.png Binary files differnew file mode 100644 index 00000000..e8eb219c --- /dev/null +++ b/docs/api/images/transforms-chain.png diff --git a/docs/api/images/verif-dec-model.png b/docs/api/images/verif-dec-model.png Binary files differnew file mode 100644 index 00000000..7acc90eb --- /dev/null +++ b/docs/api/images/verif-dec-model.png diff --git a/docs/api/index.html b/docs/api/index.html new file mode 100644 index 00000000..cc534d90 --- /dev/null +++ b/docs/api/index.html @@ -0,0 +1,307 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library Reference Manual</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="NEXT" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<div class="BOOK"> +<div class="TITLEPAGE"> +<table class="navigation" width="100%" cellpadding="2" cellspacing="0"><tr><th align="center" valign="MIDDLE"><p class="TITLE">XML Security Library Reference Manual<a name="AEN2"></a></p></th></tr></table> +<h3 class="AUTHOR"> +<a name="AEN5"></a>Aleksey Sanin</h3> +<div class="AFFILIATION"><div class="ADDRESS"><p class="ADDRESS"> <code class="EMAIL"><<a href="mailto:aleksey@aleksey.com">aleksey@aleksey.com</a>></code><br> + </p></div></div> +<p class="COPYRIGHT">Copyright © 2002-2003 Aleksey Sanin</p> +<div><div class="ABSTRACT"> +<p></p> +<a name="AEN18"></a><p>This manual documents the interfaces of the xmlsec + library and has some short notes to help get you up to speed + with using the library.</p> +<p></p> +</div></div> +<div class="LEGALNOTICE"> +<p></p> +<a name="AEN14"></a><p>Permission is granted to make and distribute verbatim + copies of this manual provided the copyright notice and this + permission notice are preserved on all copies.</p> +<p>Permission is granted to copy and distribute modified + versions of this manual under the conditions for verbatim + copying, provided also that the entire resulting derived work is + distributed under the terms of a permission notice identical to + this one.</p> +<p>Permission is granted to copy and distribute translations + of this manual into another language, under the above conditions + for modified versions.</p> +<p></p> +</div> +</div> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt>I. <a href="xmlsec-notes.html">XML Security Library Tutorial</a> +</dt> +<dd><dl> +<dt><a href="xmlsec-notes-overview.html">Overview.</a></dt> +<dt><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></dt> +<dt><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-compiling.html#XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-include-files.html">Include files.</a></dt> +<dt><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></dt> +<dt><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></dt> +<dt><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></dt> +<dt><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-sign-encrypt.html#XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-sign.html">Signing a document.</a></dt> +<dt><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-templates.html#XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></dt> +<dt><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-verify-decrypt.html#XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-verify.html">Verifying a signed document</a></dt> +<dt><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-keys.html">Keys.</a></dt> +<dt><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-keysmngr.html#XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></dt> +<dt><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></dt> +<dt><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></dt> +<dt><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-x509.html#XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></dt> +<dt><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></dt> +</dl></dd> +<dt><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></dt> +<dt><a href="xmlsec-notes-contexts.html">Using context objects.</a></dt> +<dt><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></dt> +<dd><dl> +<dt><a href="xmlsec-notes-new-crypto.html#XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></dt> +</dl></dd> +<dt><a href="xmlsec-examples.html">Examples.</a></dt> +<dd><dl> +<dt><a href="xmlsec-examples.html#XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></dt> +<dt><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></dt> +<dt><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></dt> +<dt><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></dt> +<dt><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></dt> +<dt><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></dt> +<dt><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></dt> +<dt><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></dt> +<dt><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></dt> +<dt><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></dt> +<dt><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></dt> +<dt><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></dt> +<dt><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></dt> +<dt><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></dt> +</dl></dd> +<dt><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></dt> +<dt><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></dt> +</dl></dd> +<dt>II. <a href="xmlsec-reference.html">XML Security Library API Reference.</a> +</dt> +<dd><dl> +<dt><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-app.html">app</a> -- Crypto-engine independent application support function.</dt> +<dt> +<a href="xmlsec-base64.html">base64</a> -- Base64 encoding/decoding functions.</dt> +<dt> +<a href="xmlsec-bn.html">bn</a> -- Big numbers support functions.</dt> +<dt> +<a href="xmlsec-buffer.html">buffer</a> -- Binary buffer implementation.</dt> +<dt> +<a href="xmlsec-dl.html">dl</a> -- Dynamic crypto-engine library loading support.</dt> +<dt> +<a href="xmlsec-errors.html">errors</a> -- Error/log messages support.</dt> +<dt> +<a href="xmlsec-io.html">io</a> -- Input/output support.</dt> +<dt> +<a href="xmlsec-keyinfo.html">keyinfo</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</dt> +<dt> +<a href="xmlsec-keysdata.html">keysdata</a> -- Crypto key data object definition.</dt> +<dt> +<a href="xmlsec-keys.html">keys</a> -- Crypto key object definition.</dt> +<dt> +<a href="xmlsec-keysmngr.html">keysmngr</a> -- Keys manager object support.</dt> +<dt> +<a href="xmlsec-list.html">list</a> -- Generic list structure implementation.</dt> +<dt> +<a href="xmlsec-membuf.html">membuf</a> -- Memory buffer transform implementation.</dt> +<dt> +<a href="xmlsec-nodeset.html">nodeset</a> -- Nodeset object implementation.</dt> +<dt> +<a href="xmlsec-parser.html">parser</a> -- Parser transform implementation.</dt> +<dt> +<a href="xmlsec-templates.html">templates</a> -- Dynamic templates creation functions.</dt> +<dt> +<a href="xmlsec-transforms.html">transforms</a> -- Transform object definition.</dt> +<dt> +<a href="xmlsec-version.html">version</a> -- Version macros.</dt> +<dt> +<a href="xmlsec-xmldsig.html">xmldsig</a> -- XML Digital Signature support.</dt> +<dt> +<a href="xmlsec-xmlenc.html">xmlenc</a> -- XML Encryption support.</dt> +<dt> +<a href="xmlsec-xmlsec.html">xmlsec</a> -- Utility functions.</dt> +<dt> +<a href="xmlsec-xmltree.html">xmltree</a> -- XML tree operations.</dt> +<dt> +<a href="xmlsec-x509.html">x509</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</dt> +</dl></dd> +<dt><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-openssl-app.html">app</a> -- Application functions implementation for OpenSSL.</dt> +<dt> +<a href="xmlsec-openssl-bn.html">bn</a> -- Big numbers helper functions.</dt> +<dt> +<a href="xmlsec-openssl-crypto.html">crypto</a> -- Crypto transforms implementation for OpenSSL.</dt> +<dt> +<a href="xmlsec-openssl-evp.html">evp</a> -- EVP keys data implementation.</dt> +<dt> +<a href="xmlsec-openssl-x509.html">x509</a> -- X509 certificates support implementation for OpenSSL.</dt> +</dl></dd> +<dt><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-gnutls-app.html">app</a> -- Application functions implementation for GnuTLS.</dt> +<dt> +<a href="xmlsec-gnutls-crypto.html">crypto</a> -- Crypto transforms implementation for GnuTLS.</dt> +</dl></dd> +<dt><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-gcrypt-app.html">app</a> -- Application functions implementation for GnuTLS.</dt> +<dt> +<a href="xmlsec-gcrypt-crypto.html">crypto</a> -- Crypto transforms implementation for GCrypt.</dt> +</dl></dd> +<dt><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-nss-app.html">app</a> -- Application functions implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-bignum.html">bignum</a> -- Big numbers helper functions.</dt> +<dt> +<a href="xmlsec-nss-crypto.html">crypto</a> -- Crypto transforms implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-keysstore.html">keysstore</a> -- Keys store implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-pkikeys.html">pkikeys</a> -- PKI keys data implementation.</dt> +<dt> +<a href="xmlsec-nss-x509.html">x509</a> -- X509 certificates support implementation for NSS.</dt> +</dl></dd> +<dt><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></dt> +<dd><dl> +<dt> +<a href="xmlsec-mscrypto-app.html">app</a> -- Application functions implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-certkeys.html">certkeys</a> -- MS Crypto certificates helper functions.</dt> +<dt> +<a href="xmlsec-mscrypto-crypto.html">crypto</a> -- Crypto transforms implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-keysstore.html">keysstore</a> -- Keys store implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-x509.html">x509</a> -- X509 certificates support implementation for MS Crypto.</dt> +</dl></dd> +<dt><a href="xmlsec-index.html">XML Security Library Reference Index</a></dt> +</dl></dd> +</dl></div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"></td> +<td align="right"><a accesskey="n" href="xmlsec-notes.html"><b>XML Security Library Tutorial >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/index.sgml b/docs/api/index.sgml new file mode 100644 index 00000000..eb112aa4 --- /dev/null +++ b/docs/api/index.sgml @@ -0,0 +1,43 @@ +<ANCHOR id ="XMLSEC-APP" href="xmlsec-app.html"> +<ANCHOR id ="XMLSEC-BASE64" href="xmlsec-base64.html"> +<ANCHOR id ="XMLSEC-BN" href="xmlsec-bn.html"> +<ANCHOR id ="XMLSEC-BUFFER" href="xmlsec-buffer.html"> +<ANCHOR id ="XMLSEC-DL" href="xmlsec-dl.html"> +<ANCHOR id ="XMLSEC-ERRORS" href="xmlsec-errors.html"> +<ANCHOR id ="XMLSEC-IO" href="xmlsec-io.html"> +<ANCHOR id ="XMLSEC-KEYINFO" href="xmlsec-keyinfo.html"> +<ANCHOR id ="XMLSEC-KEYSDATA" href="xmlsec-keysdata.html"> +<ANCHOR id ="XMLSEC-KEYS" href="xmlsec-keys.html"> +<ANCHOR id ="XMLSEC-KEYSMNGR" href="xmlsec-keysmngr.html"> +<ANCHOR id ="XMLSEC-LIST" href="xmlsec-list.html"> +<ANCHOR id ="XMLSEC-MEMBUF" href="xmlsec-membuf.html"> +<ANCHOR id ="XMLSEC-NODESET" href="xmlsec-nodeset.html"> +<ANCHOR id ="XMLSEC-PARSER" href="xmlsec-parser.html"> +<ANCHOR id ="XMLSEC-TEMPLATES" href="xmlsec-templates.html"> +<ANCHOR id ="XMLSEC-TRANSFORMS" href="xmlsec-transforms.html"> +<ANCHOR id ="XMLSEC-VERSION" href="xmlsec-version.html"> +<ANCHOR id ="XMLSEC-XMLDSIG" href="xmlsec-xmldsig.html"> +<ANCHOR id ="XMLSEC-XMLENC" href="xmlsec-xmlenc.html"> +<ANCHOR id ="XMLSEC-XMLSEC" href="xmlsec-xmlsec.html"> +<ANCHOR id ="XMLSEC-XMLTREE" href="xmlsec-xmltree.html"> +<ANCHOR id ="XMLSEC-X509" href="xmlsec-x509.html"> +<ANCHOR id ="XMLSEC-OPENSSL-APP" href="xmlsec-openssl-app.html"> +<ANCHOR id ="XMLSEC-OPENSSL-BN" href="xmlsec-openssl-bn.html"> +<ANCHOR id ="XMLSEC-OPENSSL-CRYPTO" href="xmlsec-openssl-crypto.html"> +<ANCHOR id ="XMLSEC-OPENSSL-EVP" href="xmlsec-openssl-evp.html"> +<ANCHOR id ="XMLSEC-OPENSSL-X509" href="xmlsec-openssl-x509.html"> +<ANCHOR id ="XMLSEC-GNUTLS-APP" href="xmlsec-gnutls-app.html"> +<ANCHOR id ="XMLSEC-GNUTLS-CRYPTO" href="xmlsec-gnutls-crypto.html"> +<ANCHOR id ="XMLSEC-GCRYPT-APP" href="xmlsec-gcrypt-app.html"> +<ANCHOR id ="XMLSEC-GCRYPT-CRYPTO" href="xmlsec-gcrypt-crypto.html"> +<ANCHOR id ="XMLSEC-NSS-APP" href="xmlsec-nss-app.html"> +<ANCHOR id ="XMLSEC-NSS-BIGNUM" href="xmlsec-nss-bignum.html"> +<ANCHOR id ="XMLSEC-NSS-CRYPTO" href="xmlsec-nss-crypto.html"> +<ANCHOR id ="XMLSEC-NSS-KEYSSTORE" href="xmlsec-nss-keysstore.html"> +<ANCHOR id ="XMLSEC-NSS-PKIKEYS" href="xmlsec-nss-pkikeys.html"> +<ANCHOR id ="XMLSEC-NSS-X509" href="xmlsec-nss-x509.html"> +<ANCHOR id ="XMLSEC-MSCRYPTO-APP" href="xmlsec-mscrypto-app.html"> +<ANCHOR id ="XMLSEC-MSCRYPTO-CERTKEYS" href="xmlsec-mscrypto-certkeys.html"> +<ANCHOR id ="XMLSEC-MSCRYPTO-CRYPTO" href="xmlsec-mscrypto-crypto.html"> +<ANCHOR id ="XMLSEC-MSCRYPTO-KEYSSTORE" href="xmlsec-mscrypto-keysstore.html"> +<ANCHOR id ="XMLSEC-MSCRYPTO-X509" href="xmlsec-mscrypto-x509.html"> diff --git a/docs/api/left.png b/docs/api/left.png Binary files differnew file mode 100644 index 00000000..2d05b3d5 --- /dev/null +++ b/docs/api/left.png diff --git a/docs/api/right.png b/docs/api/right.png Binary files differnew file mode 100644 index 00000000..92832e3a --- /dev/null +++ b/docs/api/right.png diff --git a/docs/api/up.png b/docs/api/up.png Binary files differnew file mode 100644 index 00000000..85b3e2a2 --- /dev/null +++ b/docs/api/up.png diff --git a/docs/api/xmlsec-app.html b/docs/api/xmlsec-app.html new file mode 100644 index 00000000..b6fa538d --- /dev/null +++ b/docs/api/xmlsec-app.html @@ -0,0 +1,1525 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="NEXT" title="base64" href="xmlsec-base64.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-base64.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN836"></a><h2>Name</h2>app -- Crypto-engine independent application support function.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOKEYSMNGRINIT">xmlSecCryptoKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATAAESID">xmlSecKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATAAESGETKLASS">xmlSecKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATADESID">xmlSecKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATADESGETKLASS">xmlSecKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATADSAID">xmlSecKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATADSAGETKLASS">xmlSecKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATAGOST2001ID">xmlSecKeyDataGost2001Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001GETKLASS">xmlSecKeyDataGost2001GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATAHMACID">xmlSecKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATAHMACGETKLASS">xmlSecKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATARSAID">xmlSecKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATARSAGETKLASS">xmlSecKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATAX509ID">xmlSecKeyDataX509Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATAX509GETKLASS">xmlSecKeyDataX509GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTID">xmlSecKeyDataRawX509CertId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTGETKLASS">xmlSecKeyDataRawX509CertGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECX509STOREID">xmlSecX509StoreId</a> +<gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECX509STOREGETKLASS">xmlSecX509StoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCID">xmlSecTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCGETKLASS">xmlSecTransformAes128CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCID">xmlSecTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCGETKLASS">xmlSecTransformAes192CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCID">xmlSecTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCGETKLASS">xmlSecTransformAes256CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128ID">xmlSecTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128GETKLASS">xmlSecTransformKWAes128GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192ID">xmlSecTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192GETKLASS">xmlSecTransformKWAes192GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256ID">xmlSecTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256GETKLASS">xmlSecTransformKWAes256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCID">xmlSecTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCGETKLASS">xmlSecTransformDes3CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3ID">xmlSecTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3GETKLASS">xmlSecTransformKWDes3GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1ID">xmlSecTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1GETKLASS">xmlSecTransformDsaSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMGOST2001GOSTR3411-94ID">xmlSecTransformGost2001GostR3411_94Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMGOST2001GOSTR3411-94GETKLASS">xmlSecTransformGost2001GostR3411_94GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5ID">xmlSecTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5GETKLASS">xmlSecTransformHmacMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160ID">xmlSecTransformHmacRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160GETKLASS">xmlSecTransformHmacRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1ID">xmlSecTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1GETKLASS">xmlSecTransformHmacSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224ID">xmlSecTransformHmacSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224GETKLASS">xmlSecTransformHmacSha224GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256ID">xmlSecTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256GETKLASS">xmlSecTransformHmacSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384ID">xmlSecTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384GETKLASS">xmlSecTransformHmacSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512ID">xmlSecTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512GETKLASS">xmlSecTransformHmacSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMMD5ID">xmlSecTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMMD5GETKLASS">xmlSecTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160ID">xmlSecTransformRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160GETKLASS">xmlSecTransformRipemd160GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5ID">xmlSecTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5GETKLASS">xmlSecTransformRsaMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160ID">xmlSecTransformRsaRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160GETKLASS">xmlSecTransformRsaRipemd160GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1ID">xmlSecTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1GETKLASS">xmlSecTransformRsaSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224ID">xmlSecTransformRsaSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224GETKLASS">xmlSecTransformRsaSha224GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256ID">xmlSecTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256GETKLASS">xmlSecTransformRsaSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384ID">xmlSecTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384GETKLASS">xmlSecTransformRsaSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512ID">xmlSecTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512GETKLASS">xmlSecTransformRsaSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1ID">xmlSecTransformRsaPkcs1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1GETKLASS">xmlSecTransformRsaPkcs1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPID">xmlSecTransformRsaOaepId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPGETKLASS">xmlSecTransformRsaOaepGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-94ID">xmlSecTransformGostR3411_94Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-94GETKLASS">xmlSecTransformGostR3411_94GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMSHA1ID">xmlSecTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1GETKLASS">xmlSecTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMSHA224ID">xmlSecTransformSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224GETKLASS">xmlSecTransformSha224GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMSHA256ID">xmlSecTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256GETKLASS">xmlSecTransformSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMSHA384ID">xmlSecTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384GETKLASS">xmlSecTransformSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-app.html#XMLSECTRANSFORMSHA512ID">xmlSecTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512GETKLASS">xmlSecTransformSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPINIT">xmlSecCryptoAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPSHUTDOWN">xmlSecCryptoAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecCryptoAppDefaultKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecCryptoAppDefaultKeysMngrLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecCryptoAppDefaultKeysMngrSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecCryptoAppKeysMngrCertLoadMemory</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOAD">xmlSecCryptoAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOADMEMORY">xmlSecCryptoAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOAD">xmlSecCryptoAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOADMEMORY">xmlSecCryptoAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOAD">xmlSecCryptoAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOADMEMORY">xmlSecCryptoAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-app.html#XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecCryptoAppGetDefaultPwdCallback</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto-engine application support function used by xmlsec command line utility.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOINIT"></a><h3>xmlSecCryptoInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1316"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOSHUTDOWN"></a><h3>xmlSecCryptoShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1332"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOKEYSMNGRINIT"></a><h3>xmlSecCryptoKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds crypto specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN1349"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN1354"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAAESID"></a><h3>xmlSecKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataAesId xmlSecKeyDataAesGetKlass()</pre> +<p>The AES key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAAESGETKLASS"></a><h3>xmlSecKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1376"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the AES key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADESID"></a><h3>xmlSecKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataDesId xmlSecKeyDataDesGetKlass()</pre> +<p>The DES key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADESGETKLASS"></a><h3>xmlSecKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1398"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the DES key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADSAID"></a><h3>xmlSecKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataDsaId xmlSecKeyDataDsaGetKlass()</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADSAGETKLASS"></a><h3>xmlSecKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1420"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the DSA key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGOST2001ID"></a><h3>xmlSecKeyDataGost2001Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataGost2001Id xmlSecKeyDataGost2001GetKlass()</pre> +<p>The GOST2001 key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGOST2001GETKLASS"></a><h3>xmlSecKeyDataGost2001GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataGost2001GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GOST2001 key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1442"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> GOST2001 key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the GOST2001 key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAHMACID"></a><h3>xmlSecKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataHmacId xmlSecKeyDataHmacGetKlass()</pre> +<p>The DHMAC key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAHMACGETKLASS"></a><h3>xmlSecKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1464"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the HMAC key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARSAID"></a><h3>xmlSecKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataRsaId xmlSecKeyDataRsaGetKlass()</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARSAGETKLASS"></a><h3>xmlSecKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1486"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the RSA key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAX509ID"></a><h3>xmlSecKeyDataX509Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataX509Id xmlSecKeyDataX509GetKlass()</pre> +<p>The X509 data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAX509GETKLASS"></a><h3>xmlSecKeyDataX509GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The X509 key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1508"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> X509 key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the X509 key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARAWX509CERTID"></a><h3>xmlSecKeyDataRawX509CertId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataRawX509CertId xmlSecKeyDataRawX509CertGetKlass()</pre> +<p>The raw X509 certificate klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecKeyDataRawX509CertGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataRawX509CertGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The raw X509 cert key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1530"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> raw x509 cert key data klass or NULL if an error occurs +(xmlsec-crypto library is not loaded or the raw X509 cert key data +klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECX509STOREID"></a><h3>xmlSecX509StoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecX509StoreId xmlSecX509StoreGetKlass()</pre> +<p>The X509 store klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECX509STOREGETKLASS"></a><h3>xmlSecX509StoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink> xmlSecX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The X509 certificates key data store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1552"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to X509 certificates key data store klass or NULL if +an error occurs (xmlsec-crypto library is not loaded or the raw X509 +cert key data klass is not implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES128CBCID"></a><h3>xmlSecTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformAes128CbcId xmlSecTransformAes128CbcGetKlass()</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformAes128CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1574"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES192CBCID"></a><h3>xmlSecTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformAes192CbcId xmlSecTransformAes192CbcGetKlass()</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformAes192CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1596"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES256CBCID"></a><h3>xmlSecTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformAes256CbcId xmlSecTransformAes256CbcGetKlass()</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformAes256CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1618"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES128ID"></a><h3>xmlSecTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes128Id xmlSecTransformKWAes128GetKlass()</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1640"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 kew wrapper transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES192ID"></a><h3>xmlSecTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes192Id xmlSecTransformKWAes192GetKlass()</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1662"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 kew wrapper transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES256ID"></a><h3>xmlSecTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes256Id xmlSecTransformKWAes256GetKlass()</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1684"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 kew wrapper transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDES3CBCID"></a><h3>xmlSecTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDes3CbcId xmlSecTransformDes3CbcGetKlass()</pre> +<p>The Triple DES encryption transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1706"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWDES3ID"></a><h3>xmlSecTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKWDes3Id xmlSecTransformKWDes3GetKlass()</pre> +<p>The DES3 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1728"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDSASHA1ID"></a><h3>xmlSecTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDsaSha1Id xmlSecTransformDsaSha1GetKlass()</pre> +<p>The DSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1750"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGOST2001GOSTR3411-94ID"></a><h3>xmlSecTransformGost2001GostR3411_94Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformGost2001GostR3411_94Id xmlSecTransformGost2001GostR3411_94GetKlass()</pre> +<p>The GOST2001-GOSTR3411_94 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGOST2001GOSTR3411-94GETKLASS"></a><h3>xmlSecTransformGost2001GostR3411_94GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformGost2001GostR3411_94GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GOST2001-GOSTR3411_94 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1772"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> GOST2001-GOSTR3411_94 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACMD5ID"></a><h3>xmlSecTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacMd5Id xmlSecTransformHmacMd5GetKlass()</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1794"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecTransformHmacRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacRipemd160Id xmlSecTransformHmacRipemd160GetKlass()</pre> +<p>The HMAC with RipeMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecTransformHmacRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-RIPEMD160 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1816"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-RIPEMD160 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA1ID"></a><h3>xmlSecTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha1Id xmlSecTransformHmacSha1GetKlass()</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1838"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA224ID"></a><h3>xmlSecTransformHmacSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha224Id xmlSecTransformHmacSha224GetKlass()</pre> +<p>The HMAC with SHA224 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA224GETKLASS"></a><h3>xmlSecTransformHmacSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA224 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1860"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA224 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA256ID"></a><h3>xmlSecTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha256Id xmlSecTransformHmacSha256GetKlass()</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1882"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA384ID"></a><h3>xmlSecTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha384Id xmlSecTransformHmacSha384GetKlass()</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1904"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA512ID"></a><h3>xmlSecTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha512Id xmlSecTransformHmacSha512GetKlass()</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformHmacSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1926"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMD5ID"></a><h3>xmlSecTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformMd5Id xmlSecTransformMd5GetKlass()</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMD5GETKLASS"></a><h3>xmlSecTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>MD5 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1948"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MD5 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRIPEMD160ID"></a><h3>xmlSecTransformRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRipemd160Id xmlSecTransformRipemd160GetKlass()</pre> +<p>The RIPEMD160 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecTransformRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRipemd160GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>RIPEMD-160 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1970"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to RIPEMD-160 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAMD5ID"></a><h3>xmlSecTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaMd5Id xmlSecTransformRsaMd5GetKlass()</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN1992"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecTransformRsaRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaRipemd160Id xmlSecTransformRsaRipemd160GetKlass()</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecTransformRsaRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaRipemd160GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2014"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-RIPEMD160 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA1ID"></a><h3>xmlSecTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha1Id xmlSecTransformRsaSha1GetKlass()</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2036"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA224ID"></a><h3>xmlSecTransformRsaSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha224Id xmlSecTransformRsaSha224GetKlass()</pre> +<p>The RSA-SHA224 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA224GETKLASS"></a><h3>xmlSecTransformRsaSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA224 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2058"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA224 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA256ID"></a><h3>xmlSecTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha256Id xmlSecTransformRsaSha256GetKlass()</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA384ID"></a><h3>xmlSecTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha384Id xmlSecTransformRsaSha384GetKlass()</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2102"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA512ID"></a><h3>xmlSecTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha512Id xmlSecTransformRsaSha512GetKlass()</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2124"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAPKCS1ID"></a><h3>xmlSecTransformRsaPkcs1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaPkcs1Id xmlSecTransformRsaPkcs1GetKlass()</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecTransformRsaPkcs1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaPkcs1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-PKCS1 key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2146"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-PKCS1 key transport transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAOAEPID"></a><h3>xmlSecTransformRsaOaepId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRsaOaepId xmlSecTransformRsaOaepGetKlass()</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecTransformRsaOaepGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRsaOaepGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-OAEP key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2168"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-OAEP key transport transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGOSTR3411-94ID"></a><h3>xmlSecTransformGostR3411_94Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3411_94Id xmlSecTransformGostR3411_94GetKlass()</pre> +<p>The GOSTR3411_94 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGOSTR3411-94GETKLASS"></a><h3>xmlSecTransformGostR3411_94GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformGostR3411_94GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>GOSTR3411_94 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2190"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GOSTR3411_94 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA1ID"></a><h3>xmlSecTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformSha1Id xmlSecTransformSha1GetKlass()</pre> +<p>The SHA1 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA1GETKLASS"></a><h3>xmlSecTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2212"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA224ID"></a><h3>xmlSecTransformSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformSha224Id xmlSecTransformSha224GetKlass()</pre> +<p>The SHA224 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA224GETKLASS"></a><h3>xmlSecTransformSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA224 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2234"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA224 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA256ID"></a><h3>xmlSecTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformSha256Id xmlSecTransformSha256GetKlass()</pre> +<p>The SHA256 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA256GETKLASS"></a><h3>xmlSecTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2256"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA256 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA384ID"></a><h3>xmlSecTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformSha384Id xmlSecTransformSha384GetKlass()</pre> +<p>The SHA384 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA384GETKLASS"></a><h3>xmlSecTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2278"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA384 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA512ID"></a><h3>xmlSecTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformSha512Id xmlSecTransformSha512GetKlass()</pre> +<p>The SHA512 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSHA512GETKLASS"></a><h3>xmlSecTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2300"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA512 digest transform klass or NULL if an error +occurs (the xmlsec-crypto library is not loaded or this transform is not +implemented).</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPINIT"></a><h3>xmlSecCryptoAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2318"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to crypto library configuration.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2323"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPSHUTDOWN"></a><h3>xmlSecCryptoAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2340"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecCryptoAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a> +and a default crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2360"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2365"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecCryptoAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppDefaultKeysMngrAdoptKey + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecCryptoAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2389"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2394"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2399"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecCryptoAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecCryptoAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2423"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2428"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2433"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecCryptoAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2457"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2462"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2467"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2472"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecCryptoAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2500"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2505"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2510"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2515"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2521"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecCryptoAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppKeysMngrCertLoadMemory + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from binary buffer <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2552"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2557"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2562"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2567"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2572"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2577"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYLOAD"></a><h3>xmlSecCryptoAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecCryptoAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2606"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2611"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2616"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2621"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2626"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2631"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYLOADMEMORY"></a><h3>xmlSecCryptoAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecCryptoAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the memory buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2663"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2668"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of binary key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2673"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2678"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2683"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2688"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2693"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPPKCS12LOAD"></a><h3>xmlSecCryptoAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecCryptoAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file. +For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2719"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2724"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2729"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2734"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2739"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPPKCS12LOADMEMORY"></a><h3>xmlSecCryptoAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecCryptoAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 data in memory buffer. +For uniformity, call xmlSecCryptoAppKeyLoadMemory instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2768"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2773"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2778"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2783"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2788"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2793"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYCERTLOAD"></a><h3>xmlSecCryptoAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2817"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2822"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2827"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2832"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPKEYCERTLOADMEMORY"></a><h3>xmlSecCryptoAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from memory buffer and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2858"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2863"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2868"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2873"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN2878"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecCryptoAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecCryptoAppGetDefaultPwdCallback + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN2894"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-ref.html"><b><<< XML Security Core Library API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-base64.html"><b>base64 >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-base64.html b/docs/api/xmlsec-base64.html new file mode 100644 index 00000000..c755f3c3 --- /dev/null +++ b/docs/api/xmlsec-base64.html @@ -0,0 +1,357 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>base64</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-app.html"> +<link rel="NEXT" title="bn" href="xmlsec-bn.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-bn.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-BASE64"></a>base64</h1> +<div class="REFNAMEDIV"> +<a name="AEN2904"></a><h2>Name</h2>base64 -- Base64 encoding/decoding functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-BASE64.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-base64.html#XMLSEC-BASE64-LINESIZE:CAPS">XMLSEC_BASE64_LINESIZE</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64GETDEFAULTLINESIZE">xmlSecBase64GetDefaultLineSize</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64SETDEFAULTLINESIZE">xmlSecBase64SetDefaultLineSize</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>); +<gtkdoclink href="XMLSECBASE64CTX"><span class="RETURNVALUE">xmlSecBase64CtxPtr</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXCREATE">xmlSecBase64CtxCreate</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> encode</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXDESTROY">xmlSecBase64CtxDestroy</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXINITIALIZE">xmlSecBase64CtxInitialize</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> encode</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXFINALIZE">xmlSecBase64CtxFinalize</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXUPDATE">xmlSecBase64CtxUpdate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *in</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> inSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64CTXFINAL">xmlSecBase64CtxFinal</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-base64.html#XMLSECBASE64ENCODE">xmlSecBase64Encode</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-base64.html#XMLSECBASE64DECODE">xmlSecBase64Decode</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BASE64.DESCRIPTION"></a><h2>Description</h2> +<p>Base64 encoding/decoding functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BASE64.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-BASE64-LINESIZE:CAPS"></a><h3>XMLSEC_BASE64_LINESIZE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_BASE64_LINESIZE 64</pre> +<p>The default maximum base64 encoded line size.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64GETDEFAULTLINESIZE"></a><h3>xmlSecBase64GetDefaultLineSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBase64GetDefaultLineSize (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the current default line size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3031"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the current default line size.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64SETDEFAULTLINESIZE"></a><h3>xmlSecBase64SetDefaultLineSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBase64SetDefaultLineSize (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>);</pre> +<p>Sets the current default line size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3048"><span style="white-space: nowrap"><code class="PARAMETER">columns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>number of columns</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXCREATE"></a><h3>xmlSecBase64CtxCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBASE64CTX"><span class="RETURNVALUE">xmlSecBase64CtxPtr</span></gtkdoclink> xmlSecBase64CtxCreate (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> encode</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>);</pre> +<p>Allocates and initializes new base64 context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3068"><span style="white-space: nowrap"><code class="PARAMETER">encode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the encode/decode flag (1 - encode, 0 - decode)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3073"><span style="white-space: nowrap"><code class="PARAMETER">columns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the max line length.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3078"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly created <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXDESTROY"></a><h3>xmlSecBase64CtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBase64CtxDestroy (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>);</pre> +<p>Destroys base64 context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3097"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXINITIALIZE"></a><h3>xmlSecBase64CtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBase64CtxInitialize (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> encode</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>);</pre> +<p>Initializes new base64 context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3122"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3129"><span style="white-space: nowrap"><code class="PARAMETER">encode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the encode/decode flag (1 - encode, 0 - decode)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3134"><span style="white-space: nowrap"><code class="PARAMETER">columns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the max line length.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3139"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXFINALIZE"></a><h3>xmlSecBase64CtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBase64CtxFinalize (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>);</pre> +<p>Frees all the resources allocated by <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3157"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure,</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXUPDATE"></a><h3>xmlSecBase64CtxUpdate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBase64CtxUpdate (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *in</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> inSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>);</pre> +<p>Encodes or decodes the next piece of data from input buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3188"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3195"><span style="white-space: nowrap"><code class="PARAMETER">in</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3200"><span style="white-space: nowrap"><code class="PARAMETER">inSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer size</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3205"><span style="white-space: nowrap"><code class="PARAMETER">out</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3210"><span style="white-space: nowrap"><code class="PARAMETER">outSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer size</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3215"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the number of bytes written to output buffer or +-1 if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64CTXFINAL"></a><h3>xmlSecBase64CtxFinal ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBase64CtxFinal (<code class="PARAMETER"><gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64CtxPtr</span></gtkdoclink> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>);</pre> +<p>Encodes or decodes the last piece of data stored in the context +and finalizes the result.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3238"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <gtkdoclink href="XMLSECBASE64CTX"><span class="TYPE">xmlSecBase64Ctx</span></gtkdoclink> structure</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3245"><span style="white-space: nowrap"><code class="PARAMETER">out</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3250"><span style="white-space: nowrap"><code class="PARAMETER">outSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer size</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3255"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the number of bytes written to output buffer or +-1 if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64ENCODE"></a><h3>xmlSecBase64Encode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecBase64Encode (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>);</pre> +<p>Encodes the data from input buffer and allocates the string for the result. +The caller is responsible for freeing returned buffer using +<gtkdoclink href="XMLFREE"><code class="FUNCTION">xmlFree()</code></gtkdoclink> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3280"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3285"><span style="white-space: nowrap"><code class="PARAMETER">len</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3290"><span style="white-space: nowrap"><code class="PARAMETER">columns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output max line length (if 0 then no line breaks + would be inserted)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3295"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> newly allocated string with base64 encoded data +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBASE64DECODE"></a><h3>xmlSecBase64Decode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBase64Decode (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre> +<p>Decodes input base64 encoded string and puts result into +the output buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3318"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer with base64 encoded string</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3323"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3328"><span style="white-space: nowrap"><code class="PARAMETER">len</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer size</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3333"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the number of bytes written to the output buffer or +a negative value if an error occurs</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-bn.html"><b>bn >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-bn.html b/docs/api/xmlsec-bn.html new file mode 100644 index 00000000..9eabf583 --- /dev/null +++ b/docs/api/xmlsec-bn.html @@ -0,0 +1,705 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>bn</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="base64" href="xmlsec-base64.html"> +<link rel="NEXT" title="buffer" href="xmlsec-buffer.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-base64.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-buffer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-BN"></a>bn</h1> +<div class="REFNAMEDIV"> +<a name="AEN3343"></a><h2>Name</h2>bn -- Big numbers support functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-BN.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">enum <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a>; +<gtkdoclink href="XMLSECBN"><span class="RETURNVALUE">xmlSecBnPtr</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNCREATE">xmlSecBnCreate</a> (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNDESTROY">xmlSecBnDestroy</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNINITIALIZE">xmlSecBnInitialize</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNFINALIZE">xmlSecBnFinalize</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a>* <a href="xmlsec-bn.html#XMLSECBNGETDATA">xmlSecBnGetData</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNSETDATA">xmlSecBnSetData</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-bn.html#XMLSECBNGETSIZE">xmlSecBnGetSize</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNZERO">xmlSecBnZero</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNFROMSTRING">xmlSecBnFromString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-bn.html#XMLSECBNTOSTRING">xmlSecBnToString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNFROMHEXSTRING">xmlSecBnFromHexString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-bn.html#XMLSECBNTOHEXSTRING">xmlSecBnToHexString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNFROMDECSTRING">xmlSecBnFromDecString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-bn.html#XMLSECBNTODECSTRING">xmlSecBnToDecString</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNMUL">xmlSecBnMul</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> multiplier</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNDIV">xmlSecBnDiv</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> divider</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *mod</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNADD">xmlSecBnAdd</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> delta</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNREVERSE">xmlSecBnReverse</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNCOMPARE">xmlSecBnCompare</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNCOMPAREREVERSE">xmlSecBnCompareReverse</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNGETNODEVALUE">xmlSecBnGetNodeValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNSETNODEVALUE">xmlSecBnSetNodeValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-bn.html#XMLSECBNBLOBSETNODEVALUE">xmlSecBnBlobSetNodeValue</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BN.DESCRIPTION"></a><h2>Description</h2> +<p>Big numbers support functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BN.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECBNFORMAT"></a><h3>enum xmlSecBnFormat</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecBnBase64, + xmlSecBnHex, + xmlSecBnDec +} xmlSecBnFormat;</pre> +<p>The big numbers formats.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECBNBASE64"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecBnBase64</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the base64 decoded binary blob.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECBNHEX"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecBnHex</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the hex number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECBNDEC"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecBnDec</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decimal number.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNCREATE"></a><h3>xmlSecBnCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBN"><span class="RETURNVALUE">xmlSecBnPtr</span></gtkdoclink> xmlSecBnCreate (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Creates a new BN object. Caller is responsible for destroying it +by calling <code class="PARAMETER">xmlSecBnDestroy</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3612"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the initial allocated BN size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3617"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the newly BN or a NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNDESTROY"></a><h3>xmlSecBnDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBnDestroy (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Destroys <code class="PARAMETER">bn</code> object created with <code class="PARAMETER">xmlSecBnCreate</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3636"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNINITIALIZE"></a><h3>xmlSecBnInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnInitialize (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Initializes a BN object. Caller is responsible for destroying it +by calling <code class="PARAMETER">xmlSecBnFinalize</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3657"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3662"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the initial allocated BN size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3667"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNFINALIZE"></a><h3>xmlSecBnFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBnFinalize (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Destroys <code class="PARAMETER">bn</code> object created with <code class="PARAMETER">xmlSecBnInitialize</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3686"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNGETDATA"></a><h3>xmlSecBnGetData ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a>* xmlSecBnGetData (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Gets pointer to the binary <code class="PARAMETER">bn</code> representation.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3704"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3709"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to binary BN data or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNSETDATA"></a><h3>xmlSecBnSetData ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnSetData (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Sets the value of <code class="PARAMETER">bn</code> to <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3734"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3739"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new BN binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3744"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of new BN data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3749"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNGETSIZE"></a><h3>xmlSecBnGetSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecBnGetSize (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Gets the size of binary data in <code class="PARAMETER">bn</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3767"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3772"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the size of binary data.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNZERO"></a><h3>xmlSecBnZero ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBnZero (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Sets the value of <code class="PARAMETER">bn</code> to zero.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN3790"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNFROMSTRING"></a><h3>xmlSecBnFromString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnFromString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>);</pre> +<p>Reads <code class="PARAMETER">bn</code> from string <code class="PARAMETER">str</code> assuming it has base <code class="PARAMETER">base</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3816"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3821"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string with BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3826"><span style="white-space: nowrap"><code class="PARAMETER">base</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the base for <code class="PARAMETER">str</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3832"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNTOSTRING"></a><h3>xmlSecBnToString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecBnToString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>);</pre> +<p>Writes <code class="PARAMETER">bn</code> to string with base <code class="PARAMETER">base</code>. Caller is responsible for +freeing returned string with <code class="PARAMETER">xmlFree</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3855"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3860"><span style="white-space: nowrap"><code class="PARAMETER">base</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the base for returned string.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3865"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the string represenataion if BN or a NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNFROMHEXSTRING"></a><h3>xmlSecBnFromHexString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnFromHexString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Reads <code class="PARAMETER">bn</code> from hex string <code class="PARAMETER">str</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3887"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3892"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string with BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3897"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNTOHEXSTRING"></a><h3>xmlSecBnToHexString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecBnToHexString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Writes <code class="PARAMETER">bn</code> to hex string. Caller is responsible for +freeing returned string with <code class="PARAMETER">xmlFree</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3916"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3921"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the string represenataion if BN or a NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNFROMDECSTRING"></a><h3>xmlSecBnFromDecString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnFromDecString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Reads <code class="PARAMETER">bn</code> from decimal string <code class="PARAMETER">str</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3943"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3948"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string with BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3953"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNTODECSTRING"></a><h3>xmlSecBnToDecString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecBnToDecString (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Writes <code class="PARAMETER">bn</code> to decimal string. Caller is responsible for +freeing returned string with <code class="PARAMETER">xmlFree</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3972"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3977"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the string represenataion if BN or a NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNMUL"></a><h3>xmlSecBnMul ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnMul (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> multiplier</code>);</pre> +<p>Multiplies <code class="PARAMETER">bn</code> with <code class="PARAMETER">multiplier</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN3999"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4004"><span style="white-space: nowrap"><code class="PARAMETER">multiplier</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the multiplier.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4009"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNDIV"></a><h3>xmlSecBnDiv ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnDiv (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> divider</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *mod</code>);</pre> +<p>Divides <code class="PARAMETER">bn</code> by <code class="PARAMETER">divider</code> and places modulus into <code class="PARAMETER">mod</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4035"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4040"><span style="white-space: nowrap"><code class="PARAMETER">divider</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the divider</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4045"><span style="white-space: nowrap"><code class="PARAMETER">mod</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer for modulus result.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4050"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNADD"></a><h3>xmlSecBnAdd ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnAdd (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> delta</code>);</pre> +<p>Adds <code class="PARAMETER">delta</code> to <code class="PARAMETER">bn</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4072"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4077"><span style="white-space: nowrap"><code class="PARAMETER">delta</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the delta.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4082"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNREVERSE"></a><h3>xmlSecBnReverse ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnReverse (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>);</pre> +<p>Reverses bytes order in <code class="PARAMETER">bn</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4100"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4105"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNCOMPARE"></a><h3>xmlSecBnCompare ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnCompare (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Compares the <code class="PARAMETER">bn</code> with <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4130"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4135"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data to compare BN to.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4140"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <code class="PARAMETER">data</code> size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4146"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 if data is equal, negative value if <code class="PARAMETER">bn</code> is less or positive value if <code class="PARAMETER">bn</code> +is greater than <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNCOMPAREREVERSE"></a><h3>xmlSecBnCompareReverse ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnCompareReverse (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Compares the <code class="PARAMETER">bn</code> with reverse <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4174"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4179"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data to compare BN to.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4184"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <code class="PARAMETER">data</code> size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4190"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 if data is equal, negative value if <code class="PARAMETER">bn</code> is less or positive value if <code class="PARAMETER">bn</code> +is greater than <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNGETNODEVALUE"></a><h3>xmlSecBnGetNodeValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnGetNodeValue (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>);</pre> +<p>Converts the node content from <code class="PARAMETER">format</code> to <code class="PARAMETER">bn</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4221"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4226"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poitner to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4231"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BN format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4236"><span style="white-space: nowrap"><code class="PARAMETER">reverse</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>if set then reverse read buffer after reading.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4241"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative values if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNSETNODEVALUE"></a><h3>xmlSecBnSetNodeValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnSetNodeValue (<code class="PARAMETER"><gtkdoclink href="XMLSECBN"><span class="TYPE">xmlSecBnPtr</span></gtkdoclink> bn</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +<p>Converts the <code class="PARAMETER">bn</code> and sets it to node content.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4271"><span style="white-space: nowrap"><code class="PARAMETER">bn</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4276"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poitner to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4281"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BN format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4286"><span style="white-space: nowrap"><code class="PARAMETER">reverse</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates whether to reverse the buffer before writing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4291"><span style="white-space: nowrap"><code class="PARAMETER">addLineBreaks</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag; it is equal to 1 then linebreaks will be added before and after new buffer content.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4296"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative values if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBNBLOBSETNODEVALUE"></a><h3>xmlSecBnBlobSetNodeValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBnBlobSetNodeValue (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reverse</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +<p>Converts the <code class="PARAMETER">blob</code> and sets it to node content.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4329"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BN blob.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4334"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of BN blob.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4339"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poitner to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4344"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BN format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4349"><span style="white-space: nowrap"><code class="PARAMETER">reverse</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates whether to reverse the buffer before writing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4354"><span style="white-space: nowrap"><code class="PARAMETER">addLineBreaks</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>if the flag is equal to 1 then + linebreaks will be added before and after + new buffer content.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4359"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative values if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-base64.html"><b><<< base64</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-buffer.html"><b>buffer >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-buffer.html b/docs/api/xmlsec-buffer.html new file mode 100644 index 00000000..72d3d6b3 --- /dev/null +++ b/docs/api/xmlsec-buffer.html @@ -0,0 +1,603 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>buffer</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="bn" href="xmlsec-bn.html"> +<link rel="NEXT" title="dl" href="xmlsec-dl.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-bn.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-dl.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-BUFFER"></a>buffer</h1> +<div class="REFNAMEDIV"> +<a name="AEN4369"></a><h2>Name</h2>buffer -- Binary buffer implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-BUFFER.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">enum <a href="xmlsec-buffer.html#XMLSECALLOCMODE">xmlSecAllocMode</a>; +struct <a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a>; +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERSETDEFAULTALLOCMODE">xmlSecBufferSetDefaultAllocMode</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>); +<a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> <a href="xmlsec-buffer.html#XMLSECBUFFERCREATE">xmlSecBufferCreate</a> (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY">xmlSecBufferDestroy</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE">xmlSecBufferInitialize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE">xmlSecBufferFinalize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a>* <a href="xmlsec-buffer.html#XMLSECBUFFERGETDATA">xmlSecBufferGetData</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERSETDATA">xmlSecBufferSetData</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-buffer.html#XMLSECBUFFERGETSIZE">xmlSecBufferGetSize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERSETSIZE">xmlSecBufferSetSize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-buffer.html#XMLSECBUFFERGETMAXSIZE">xmlSecBufferGetMaxSize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERSETMAXSIZE">xmlSecBufferSetMaxSize</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFEREMPTY">xmlSecBufferEmpty</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERAPPEND">xmlSecBufferAppend</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERPREPEND">xmlSecBufferPrepend</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVEHEAD">xmlSecBufferRemoveHead</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVETAIL">xmlSecBufferRemoveTail</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERREADFILE">xmlSecBufferReadFile</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTREAD">xmlSecBufferBase64NodeContentRead</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTWRITE">xmlSecBufferBase64NodeContentWrite</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>); +<gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink><a href="xmlsec-buffer.html#XMLSECBUFFERCREATEOUTPUTBUFFER">xmlSecBufferCreateOutputBuffer</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BUFFER.DESCRIPTION"></a><h2>Description</h2> +<p>Binary buffer implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-BUFFER.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECALLOCMODE"></a><h3>enum xmlSecAllocMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecAllocModeExact = 0, + xmlSecAllocModeDouble +} xmlSecAllocMode;</pre> +<p>The memory allocation mode (used by <code class="PARAMETER">xmlSecBuffer</code> and <code class="PARAMETER">xmlSecList</code>).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECALLOCMODEEXACT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecAllocModeExact</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the memory allocation mode that minimizes total + allocated memory size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECALLOCMODEDOUBLE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecAllocModeDouble</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the memory allocation mode that tries to minimize + the number of malloc calls.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFER"></a><h3>struct xmlSecBuffer</h3> +<pre class="PROGRAMLISTING">struct xmlSecBuffer { + xmlSecByte* data; + xmlSecSize size; + xmlSecSize maxSize; + xmlSecAllocMode allocMode; +};</pre> +<p>Binary data buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4576"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *<code class="STRUCTFIELD">data</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4583"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">size</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4590"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">maxSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max data size (allocated buffer size).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4597"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> <code class="STRUCTFIELD">allocMode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer memory allocation mode.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERSETDEFAULTALLOCMODE"></a><h3>xmlSecBufferSetDefaultAllocMode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBufferSetDefaultAllocMode (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>);</pre> +<p>Sets new global default allocation mode and minimal intial size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4619"><span style="white-space: nowrap"><code class="PARAMETER">defAllocMode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new default buffer allocation mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4624"><span style="white-space: nowrap"><code class="PARAMETER">defInitialSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new default buffer minimal intial size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERCREATE"></a><h3>xmlSecBufferCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> xmlSecBufferCreate (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Allocates and initalizes new memory buffer with given size. +Caller is responsible for calling <a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY"><span class="TYPE">xmlSecBufferDestroy</span></a> function +to free the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4643"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the intial size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4648"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERDESTROY"></a><h3>xmlSecBufferDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBufferDestroy (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Desrtoys buffer object created with <a href="xmlsec-buffer.html#XMLSECBUFFERCREATE"><span class="TYPE">xmlSecBufferCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN4667"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERINITIALIZE"></a><h3>xmlSecBufferInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferInitialize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Initializes buffer object <code class="PARAMETER">buf</code>. Caller is responsible for calling +<a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE"><span class="TYPE">xmlSecBufferFinalize</span></a> function to free allocated resources.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4690"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4695"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the initial buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4700"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERFINALIZE"></a><h3>xmlSecBufferFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBufferFinalize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Frees allocated resource for a buffer intialized with <a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE"><span class="TYPE">xmlSecBufferInitialize</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN4719"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERGETDATA"></a><h3>xmlSecBufferGetData ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a>* xmlSecBufferGetData (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Gets pointer to buffer's data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4736"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4741"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to buffer's data.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERSETDATA"></a><h3>xmlSecBufferSetData ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferSetData (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Sets the value of the buffer to <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4765"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4770"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4775"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4780"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERGETSIZE"></a><h3>xmlSecBufferGetSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecBufferGetSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Gets the current buffer data size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4797"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4802"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the current data size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERSETSIZE"></a><h3>xmlSecBufferSetSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferSetSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Sets new buffer data size. If necessary, buffer grows to +have at least <code class="PARAMETER">size</code> bytes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4823"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4828"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4833"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERGETMAXSIZE"></a><h3>xmlSecBufferGetMaxSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecBufferGetMaxSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Gets the maximum (allocated) buffer size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4850"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4855"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the maximum (allocated) buffer size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERSETMAXSIZE"></a><h3>xmlSecBufferSetMaxSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferSetMaxSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Sets new buffer maximum size. If necessary, buffer grows to +have at least <code class="PARAMETER">size</code> bytes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4876"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4881"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new maximum size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4886"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFEREMPTY"></a><h3>xmlSecBufferEmpty ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecBufferEmpty (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Empties the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN4903"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERAPPEND"></a><h3>xmlSecBufferAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferAppend (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Appends the <code class="PARAMETER">data</code> after the current data stored in the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4927"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4932"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4937"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERPREPEND"></a><h3>xmlSecBufferPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferPrepend (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Prepends the <code class="PARAMETER">data</code> before the current data stored in the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4966"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4971"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4976"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN4981"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERREMOVEHEAD"></a><h3>xmlSecBufferRemoveHead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferRemoveHead (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Removes <code class="PARAMETER">size</code> bytes from the beginning of the current buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5002"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5007"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the number of bytes to be removed.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5012"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERREMOVETAIL"></a><h3>xmlSecBufferRemoveTail ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferRemoveTail (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Removes <code class="PARAMETER">size</code> bytes from the end of current buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5033"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5038"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the number of bytes to be removed.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5043"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERREADFILE"></a><h3>xmlSecBufferReadFile ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferReadFile (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>);</pre> +<p>Reads the content of the file <code class="PARAMETER">filename</code> in the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5064"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5069"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5074"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERBASE64NODECONTENTREAD"></a><h3>xmlSecBufferBase64NodeContentRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferBase64NodeContentRead (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Reads the content of the <code class="PARAMETER">node</code>, base64 decodes it and stores the +result in the buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5095"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5100"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5105"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERBASE64NODECONTENTWRITE"></a><h3>xmlSecBufferBase64NodeContentWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecBufferBase64NodeContentWrite (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> columns</code>);</pre> +<p>Sets the content of the <code class="PARAMETER">node</code> to the base64 encoded buffer data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5129"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5134"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to a node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5139"><span style="white-space: nowrap"><code class="PARAMETER">columns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the max line size fro base64 encoded data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5144"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBUFFERCREATEOUTPUTBUFFER"></a><h3>xmlSecBufferCreateOutputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink> xmlSecBufferCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre> +<p>Creates new LibXML output buffer to store data in the <code class="PARAMETER">buf</code>. Caller is +responsible for destroying <code class="PARAMETER">buf</code> when processing is done.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5163"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5168"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated output buffer or NULL if an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-bn.html"><b><<< bn</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-dl.html"><b>dl >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-custom-keys-manager.html b/docs/api/xmlsec-custom-keys-manager.html new file mode 100644 index 00000000..f58125b9 --- /dev/null +++ b/docs/api/xmlsec-custom-keys-manager.html @@ -0,0 +1,475 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Writing a custom keys manager.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Decrypting data with keys manager." href="xmlsec-decrypt-with-keys-mngr.html"> +<link rel="NEXT" title="APPENDIX A. XML Security Library Signature Klasses." href="xmlsec-signature-klasses.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-decrypt-with-keys-mngr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-signature-klasses.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-CUSTOM-KEYS-MANAGER">Writing a custom keys manager.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT3">decrypt3.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN814"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Decrypting an encrypted file using a custom keys manager. + * + * Decrypts encrypted XML file using a custom files based keys manager. + * We assume that key's name in <dsig:KeyName/> element is just + * key's file name in the current folder. + * + * Usage: + * ./decrypt3 <xml-enc> + * + * Example: + * ./decrypt3 encrypt1-res.xml + * ./decrypt3 encrypt2-res.xml + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/crypto.h> + +xmlSecKeyStoreId files_keys_store_get_klass(void); +xmlSecKeysMngrPtr create_files_keys_mngr(void); +int decrypt_file(xmlSecKeysMngrPtr mngr, const char* enc_file); + +int +main(int argc, char **argv) { + xmlSecKeysMngrPtr mngr; +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 2) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <enc-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load keys */ + mngr = create_files_keys_mngr(); + if(mngr == NULL) { + return(-1); + } + + if(decrypt_file(mngr, argv[1]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * decrypt_file: + * @mngr: the pointer to keys manager. + * @enc_file: the encrypted XML file name. + * + * Decrypts the XML file #enc_file using DES key from #key_file and + * prints results to stdout. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +decrypt_file(xmlSecKeysMngrPtr mngr, const char* enc_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(mngr); + assert(enc_file); + + /* load template */ + doc = xmlParseFile(enc_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", enc_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", enc_file); + goto done; + } + + /* create encryption context */ + encCtx = xmlSecEncCtxCreate(mngr); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* decrypt the data */ + if((xmlSecEncCtxDecrypt(encCtx, node) < 0) || (encCtx->result == NULL)) { + fprintf(stderr,"Error: decryption failed\n"); + goto done; + } + + /* print decrypted data to stdout */ + if(encCtx->resultReplaced != 0) { + fprintf(stdout, "Decrypted XML data:\n"); + xmlDocDump(stdout, doc); + } else { + fprintf(stdout, "Decrypted binary data (%d bytes):\n", xmlSecBufferGetSize(encCtx->result)); + if(xmlSecBufferGetData(encCtx->result) != NULL) { + fwrite(xmlSecBufferGetData(encCtx->result), + 1, + xmlSecBufferGetSize(encCtx->result), + stdout); + } + } + fprintf(stdout, "\n"); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + +/** + * create_files_keys_mngr: + * + * Creates a files based keys manager: we assume that key name is + * the key file name, + * + * Returns pointer to newly created keys manager or NULL if an error occurs. + */ +xmlSecKeysMngrPtr +create_files_keys_mngr(void) { + xmlSecKeyStorePtr keysStore; + xmlSecKeysMngrPtr mngr; + + /* create files based keys store */ + keysStore = xmlSecKeyStoreCreate(files_keys_store_get_klass()); + if(keysStore == NULL) { + fprintf(stderr, "Error: failed to create keys store.\n"); + return(NULL); + } + + /* create keys manager */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + return(NULL); + } + + /* add store to keys manager, from now on keys manager destroys the store if needed */ + if(xmlSecKeysMngrAdoptKeysStore(mngr, keysStore) < 0) { + fprintf(stderr, "Error: failed to add keys store to keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* initialize crypto library specific data in keys manager */ + if(xmlSecCryptoKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize crypto data in keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set the get key callback */ + mngr->getKey = xmlSecKeysMngrGetKey; + return(mngr); +} + +/**************************************************************************** + * + * Files Keys Store: we assume that key's name (content of the + * <dsig:KeyName/> element is a name of the file with a key (in the + * current folder). + * Attention: this probably not a good solution for high traffic systems. + * + ***************************************************************************/ +static xmlSecKeyPtr files_keys_store_find_key (xmlSecKeyStorePtr store, + const xmlChar* name, + xmlSecKeyInfoCtxPtr keyInfoCtx); +static xmlSecKeyStoreKlass files_keys_store_klass = { + sizeof(xmlSecKeyStoreKlass), + sizeof(xmlSecKeyStore), + BAD_CAST "files-based-keys-store", /* const xmlChar* name; */ + NULL, /* xmlSecKeyStoreInitializeMethod initialize; */ + NULL, /* xmlSecKeyStoreFinalizeMethod finalize; */ + files_keys_store_find_key, /* xmlSecKeyStoreFindKeyMethod findKey; */ + + /* reserved for the future */ + NULL, /* void* reserved0; */ + NULL, /* void* reserved1; */ +}; + +/** + * files_keys_store_get_klass: + * + * The files based keys store klass: we assume that key name is the + * key file name, + * + * Returns files based keys store klass. + */ +xmlSecKeyStoreId +files_keys_store_get_klass(void) { + return(&files_keys_store_klass); +} + +/** + * files_keys_store_find_key: + * @store: the pointer to simple keys store. + * @name: the desired key name. + * @keyInfoCtx: the pointer to <dsig:KeyInfo/> node processing context. + * + * Lookups key in the @store. The caller is responsible for destroying + * returned key with #xmlSecKeyDestroy function. + * + * Returns pointer to key or NULL if key not found or an error occurs. + */ +static xmlSecKeyPtr +files_keys_store_find_key(xmlSecKeyStorePtr store, const xmlChar* name, xmlSecKeyInfoCtxPtr keyInfoCtx) { + xmlSecKeyPtr key; + const xmlChar* p; + + assert(store); + assert(keyInfoCtx); + + /* it's possible to do not have the key name or desired key type + * but we could do nothing in this case */ + if((name == NULL) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataIdUnknown)){ + return(NULL); + } + + /* we don't want to open files in a folder other than "current"; + * to prevent it limit the characters in the key name to alpha/digit, + * '.', '-' or '_'. + */ + for(p = name; (*p) != '\0'; ++p) { + if(!isalnum((*p)) && ((*p) != '.') && ((*p) != '-') && ((*p) != '_')) { + return(NULL); + } + } + + if((keyInfoCtx->keyReq.keyId == xmlSecKeyDataDsaId) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataRsaId)) { + /* load key from a pem file, if key is not found then it's an error (is it?) */ + key = xmlSecCryptoAppKeyLoad(name, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load public pem key from \"%s\"\n", name); + return(NULL); + } + } else { + /* otherwise it's a binary key, if key is not found then it's an error (is it?) */ + key = xmlSecKeyReadBinaryFile(keyInfoCtx->keyReq.keyId, name); + if(key == NULL) { + fprintf(stderr,"Error: failed to load key from binary file \"%s\"\n", name); + return(NULL); + } + } + + /* set key name */ + if(xmlSecKeySetName(key, name) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", name); + xmlSecKeyDestroy(key); + return(NULL); + } + + return(key); +}
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-decrypt-with-keys-mngr.html"><b><<< Decrypting data with keys manager.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-signature-klasses.html"><b>APPENDIX A. XML Security Library Signature Klasses. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-decrypt-with-keys-mngr.html b/docs/api/xmlsec-decrypt-with-keys-mngr.html new file mode 100644 index 00000000..d980ff51 --- /dev/null +++ b/docs/api/xmlsec-decrypt-with-keys-mngr.html @@ -0,0 +1,396 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Decrypting data with keys manager.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Decrypting data with a single key." href="xmlsec-decrypt-with-signle-key.html"> +<link rel="NEXT" title="Writing a custom keys manager." href="xmlsec-custom-keys-manager.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-decrypt-with-signle-key.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-custom-keys-manager.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-DECRYPT-WITH-KEYS-MNGR">Decrypting data with keys manager.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT2">decrypt2.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN807"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Decrypting an encrypted file using keys manager. + * + * Decrypts encrypted XML file using keys manager and a list of + * DES key from a binary file + * + * Usage: + * ./decrypt2 <xml-enc> <des-key-file1> [<des-key-file2> [...]] + * + * Example: + * ./decrypt2 encrypt1-res.xml deskey.bin + * ./decrypt2 encrypt2-res.xml deskey.bin + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/crypto.h> + +xmlSecKeysMngrPtr load_des_keys(char** files, int files_size); +int decrypt_file(xmlSecKeysMngrPtr mngr, const char* enc_file); + +int +main(int argc, char **argv) { + xmlSecKeysMngrPtr mngr; +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <enc-file> <key-file1> [<key-file2> [...]]\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load keys */ + mngr = load_des_keys(&(argv[2]), argc - 2); + if(mngr == NULL) { + return(-1); + } + + if(decrypt_file(mngr, argv[1]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * load_des_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load DES keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_des_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load DES key */ + key = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, files[i]); + if(key == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + +/** + * decrypt_file: + * @mngr: the pointer to keys manager. + * @enc_file: the encrypted XML file name. + * + * Decrypts the XML file #enc_file using DES key from #key_file and + * prints results to stdout. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +decrypt_file(xmlSecKeysMngrPtr mngr, const char* enc_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(mngr); + assert(enc_file); + + /* load template */ + doc = xmlParseFile(enc_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", enc_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", enc_file); + goto done; + } + + /* create encryption context */ + encCtx = xmlSecEncCtxCreate(mngr); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* decrypt the data */ + if((xmlSecEncCtxDecrypt(encCtx, node) < 0) || (encCtx->result == NULL)) { + fprintf(stderr,"Error: decryption failed\n"); + goto done; + } + + /* print decrypted data to stdout */ + if(encCtx->resultReplaced != 0) { + fprintf(stdout, "Decrypted XML data:\n"); + xmlDocDump(stdout, doc); + } else { + fprintf(stdout, "Decrypted binary data (%d bytes):\n", xmlSecBufferGetSize(encCtx->result)); + if(xmlSecBufferGetData(encCtx->result) != NULL) { + fwrite(xmlSecBufferGetData(encCtx->result), + 1, + xmlSecBufferGetSize(encCtx->result), + stdout); + } + } + fprintf(stdout, "\n"); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-decrypt-with-signle-key.html"><b><<< Decrypting data with a single key.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-custom-keys-manager.html"><b>Writing a custom keys manager. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-decrypt-with-signle-key.html b/docs/api/xmlsec-decrypt-with-signle-key.html new file mode 100644 index 00000000..1a5e348f --- /dev/null +++ b/docs/api/xmlsec-decrypt-with-signle-key.html @@ -0,0 +1,326 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Decrypting data with a single key.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Encrypting data with a session key." href="xmlsec-encrypt-with-session-key.html"> +<link rel="NEXT" title="Decrypting data with keys manager." href="xmlsec-decrypt-with-keys-mngr.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-encrypt-with-session-key.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-decrypt-with-keys-mngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-DECRYPT-WITH-SIGNLE-KEY">Decrypting data with a single key.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT1">decrypt1.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN800"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Decrypting an encrypted file using a single key. + * + * Decrypts encrypted XML file using a single DES key from a binary file + * + * Usage: + * ./decrypt1 <xml-enc> <des-key-file> + * + * Example: + * ./decrypt1 encrypt1-res.xml deskey.bin + * ./decrypt1 encrypt2-res.xml deskey.bin + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/crypto.h> + +int decrypt_file(const char* enc_file, const char* key_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <enc-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(decrypt_file(argv[1], argv[2]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * decrypt_file: + * @enc_file: the encrypted XML file name. + * @key_file: the Triple DES key file. + * + * Decrypts the XML file #enc_file using DES key from #key_file and + * prints results to stdout. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +decrypt_file(const char* enc_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(enc_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(enc_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", enc_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", enc_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* decrypt the data */ + if((xmlSecEncCtxDecrypt(encCtx, node) < 0) || (encCtx->result == NULL)) { + fprintf(stderr,"Error: decryption failed\n"); + goto done; + } + + /* print decrypted data to stdout */ + if(encCtx->resultReplaced != 0) { + fprintf(stdout, "Decrypted XML data:\n"); + xmlDocDump(stdout, doc); + } else { + fprintf(stdout, "Decrypted binary data (%d bytes):\n", xmlSecBufferGetSize(encCtx->result)); + if(xmlSecBufferGetData(encCtx->result) != NULL) { + fwrite(xmlSecBufferGetData(encCtx->result), + 1, + xmlSecBufferGetSize(encCtx->result), + stdout); + } + } + fprintf(stdout, "\n"); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-encrypt-with-session-key.html"><b><<< Encrypting data with a session key.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-decrypt-with-keys-mngr.html"><b>Decrypting data with keys manager. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-dl.html b/docs/api/xmlsec-dl.html new file mode 100644 index 00000000..9c343a19 --- /dev/null +++ b/docs/api/xmlsec-dl.html @@ -0,0 +1,245 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>dl</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="buffer" href="xmlsec-buffer.html"> +<link rel="NEXT" title="errors" href="xmlsec-errors.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-buffer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-errors.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-DL"></a>dl</h1> +<div class="REFNAMEDIV"> +<a name="AEN5178"></a><h2>Name</h2>dl -- Dynamic crypto-engine library loading support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-DL.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> functions</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLINIT">xmlSecCryptoDLInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLSHUTDOWN">xmlSecCryptoDLShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>); +<gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS">xmlSecCryptoDLGetLibraryFunctions</a> + (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY">xmlSecCryptoDLUnloadLibrary</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLSETFUNCTIONS">xmlSecCryptoDLSetFunctions</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> functions</code>); +<gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-dl.html#XMLSECCRYPTODLGETFUNCTIONS">xmlSecCryptoDLGetFunctions</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-DL.DESCRIPTION"></a><h2>Description</h2> +<p>Dynamic crypto-engine library loading support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-DL.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS"></a><h3>xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms + (<code class="PARAMETER"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> functions</code>);</pre> +<p>Registers the key data and transforms klasses from <code class="PARAMETER">functions</code> table in xmlsec.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5247"><span style="white-space: nowrap"><code class="PARAMETER">functions</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the functions table.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5252"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLINIT"></a><h3>xmlSecCryptoDLInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes dynamic loading engine. This is an internal function +and should not be called by application directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN5268"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLSHUTDOWN"></a><h3>xmlSecCryptoDLShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Shutdowns dynamic loading engine. This is an internal function +and should not be called by application directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN5284"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLLOADLIBRARY"></a><h3>xmlSecCryptoDLLoadLibrary ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLLoadLibrary (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>);</pre> +<p>Loads the xmlsec-<crypto> library. This function is NOT thread safe, +application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>, <a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>, +and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5307"><span style="white-space: nowrap"><code class="PARAMETER">crypto</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired crypto library name ("openssl", "nss", ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5312"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLGETLIBRARYFUNCTIONS"></a><h3>xmlSecCryptoDLGetLibraryFunctions ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoDLGetLibraryFunctions + (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>);</pre> +<p>Loads the xmlsec-<crypto> library and gets global crypto functions/transforms/keys data/keys store +table. This function is NOT thread safe, application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>, +<a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>, and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5335"><span style="white-space: nowrap"><code class="PARAMETER">crypto</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired crypto library name ("openssl", "nss", ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5340"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the table or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLUNLOADLIBRARY"></a><h3>xmlSecCryptoDLUnloadLibrary ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLUnloadLibrary (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *crypto</code>);</pre> +<p>Unloads the xmlsec-<crypto> library. All pointers to this library +functions tables became invalid. This function is NOT thread safe, +application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>, <a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>, +and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5363"><span style="white-space: nowrap"><code class="PARAMETER">crypto</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired crypto library name ("openssl", "nss", ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5368"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLSETFUNCTIONS"></a><h3>xmlSecCryptoDLSetFunctions ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCryptoDLSetFunctions (<code class="PARAMETER"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> functions</code>);</pre> +<p>Sets global crypto functions/transforms/keys data/keys store table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5385"><span style="white-space: nowrap"><code class="PARAMETER">functions</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new table</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5390"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCRYPTODLGETFUNCTIONS"></a><h3>xmlSecCryptoDLGetFunctions ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoDLGetFunctions (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets global crypto functions/transforms/keys data/keys store table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN5406"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the table.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-buffer.html"><b><<< buffer</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-errors.html"><b>errors >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-encrypt-dynamic-template.html b/docs/api/xmlsec-encrypt-dynamic-template.html new file mode 100644 index 00000000..b9e26797 --- /dev/null +++ b/docs/api/xmlsec-encrypt-dynamic-template.html @@ -0,0 +1,386 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Encrypting data with a dynamicaly created template.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Encrypting data with a template file." href="xmlsec-encrypt-template-file.html"> +<link rel="NEXT" title="Encrypting data with a session key." href="xmlsec-encrypt-with-session-key.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-encrypt-template-file.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-encrypt-with-session-key.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-DYNAMIC-TEMPLATE">Encrypting data with a dynamicaly created template.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2">encrypt2.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN766"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Encrypting XML file with a dynamicaly created template. + * + * Encrypts XML file using a dynamicaly created template file and a DES key + * from a binary file + * + * Usage: + * ./encrypt2 <xml-doc> <des-key-file> + * + * Example: + * ./encrypt2 encrypt2-doc.xml deskey.bin > encrypt2-res.xml + * + * The result could be decrypted with decrypt1 example: + * ./decrypt1 encrypt2-res.xml deskey.bin + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + +int encrypt_file(const char* xml_file, const char* key_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(encrypt_file(argv[1], argv[2]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * encrypt_file: + * @xml_file: the encryption template file name. + * @key_file: the Triple DES key file. + * + * Encrypts #xml_file using a dynamicaly created template and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key, assuming that there is not password */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2-DOC">encrypt2-doc.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN771"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Original XML doc file before encryption (encrypt2 example). +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +</Envelope></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2-RES">encrypt2-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN776"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Encrypted XML file (encrypt2 example). +--> +<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element"> +<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> +<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> +<KeyName>deskey.bin</KeyName> +</KeyInfo> +<CipherData> +<CipherValue>WXlDyktaADlUe+PywKwS3KdKlahCteEKxi/hRlHcXNQlGwNGrYKy8aQ6dLtX1bKg +IgL/XoAQN3B27zD91b1ZLGh6QQ9CjnVD98+hYJ9TPp4piPnII4vGUA==</CipherValue> +</CipherData> +</EncryptedData></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-encrypt-template-file.html"><b><<< Encrypting data with a template file.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-encrypt-with-session-key.html"><b>Encrypting data with a session key. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-encrypt-template-file.html b/docs/api/xmlsec-encrypt-template-file.html new file mode 100644 index 00000000..1bb8ab40 --- /dev/null +++ b/docs/api/xmlsec-encrypt-template-file.html @@ -0,0 +1,364 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Encrypting data with a template file.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Verifying a signature with additional restrictions." href="xmlsec-verify-with-restrictions.html"> +<link rel="NEXT" title="Encrypting data with a dynamicaly created template." href="xmlsec-encrypt-dynamic-template.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-verify-with-restrictions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-encrypt-dynamic-template.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-TEMPLATE-FILE">Encrypting data with a template file.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1">encrypt1.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN749"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Encrypting data using a template file. + * + * Encrypts binary data using a template file and a DES key from a binary file + * + * Usage: + * ./encrypt1 <xml-tmpl> <des-key-file> + * + * Example: + * ./encrypt1 encrypt1-tmpl.xml deskey.bin > encrypt1-res.xml + * + * The result could be decrypted with decrypt1 example: + * ./decrypt1 encrypt1-res.xml deskey.bin + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/crypto.h> + +int encrypt_file(const char* tmpl_file, const char* key_file, + const unsigned char* data, size_t dataSize); +int +main(int argc, char **argv) { + static const char secret_data[] = "Big secret"; +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <tmpl-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(encrypt_file(argv[1], argv[2], secret_data, strlen(secret_data)) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * encrypt_file: + * @tmpl_file: the encryption template file name. + * @key_file: the Triple DES key file. + * @data: the binary data to encrypt. + * @dataSize: the binary data size. + * + * Encrypts binary #data using template from #tmpl_file and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* tmpl_file, const char* key_file, + const unsigned char* data, size_t dataSize) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + assert(data); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key, assuming that there is not password */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxBinaryEncrypt(encCtx, node, data, dataSize) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1-TMPL">encrypt1-tmpl.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN754"></a><pre class="PROGRAMLISTING"><?xml version="1.0"?> +<!-- +XML Security Library example: Simple encryption template file for encrypt1 example. +--> +<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#"> + <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> + <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> + <KeyName/> + </KeyInfo> + <CipherData> + <CipherValue></CipherValue> + </CipherData> +</EncryptedData></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1-RES">encrypt1-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN759"></a><pre class="PROGRAMLISTING"><?xml version="1.0"?> +<!-- +XML Security Library example: Encrypted binary data (encrypt1 example). +--> +<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#"> + <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> + <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> + <KeyName>deskey.bin</KeyName> + </KeyInfo> + <CipherData> + <CipherValue>t6JVBMihIgRyiK8AS8AX5NcXTfkdXPTK</CipherValue> + </CipherData> +</EncryptedData></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-verify-with-restrictions.html"><b><<< Verifying a signature with additional restrictions.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-encrypt-dynamic-template.html"><b>Encrypting data with a dynamicaly created template. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-encrypt-with-session-key.html b/docs/api/xmlsec-encrypt-with-session-key.html new file mode 100644 index 00000000..7b9ed51b --- /dev/null +++ b/docs/api/xmlsec-encrypt-with-session-key.html @@ -0,0 +1,495 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Encrypting data with a session key.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Encrypting data with a dynamicaly created template." href="xmlsec-encrypt-dynamic-template.html"> +<link rel="NEXT" title="Decrypting data with a single key." href="xmlsec-decrypt-with-signle-key.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-encrypt-dynamic-template.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-decrypt-with-signle-key.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-WITH-SESSION-KEY">Encrypting data with a session key.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3">encrypt3.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN783"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Encrypting XML file with a session key and dynamicaly created template. + * + * Encrypts XML file using a dynamicaly created template file and a session + * DES key (encrypted with an RSA key). + * + * Usage: + * ./encrypt3 <xml-doc> <rsa-pem-key-file> + * + * Example: + * ./encrypt3 encrypt3-doc.xml rsakey.pem > encrypt3-res.xml + * + * The result could be decrypted with decrypt3 example: + * ./decrypt3 encrypt3-res.xml + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + +xmlSecKeysMngrPtr load_rsa_keys(char* key_file); +int encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name); + +int +main(int argc, char **argv) { + xmlSecKeysMngrPtr mngr; +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load keys */ + mngr = load_rsa_keys(argv[2]); + if(mngr == NULL) { + return(-1); + } + + /* we use key filename as key name here */ + if(encrypt_file(mngr, argv[1], argv[2]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * load_rsa_keys: + * @key_file: the key filename. + * + * Creates simple keys manager and load RSA key from #key_file in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_rsa_keys(char* key_file) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + + assert(key_file); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* load private RSA key */ + key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load rsa key from file \"%s\"\n", key_file); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + return(mngr); +} + +/** + * encrypt_file: + * @mngr: the pointer to keys manager. + * @xml_file: the encryption template file name. + * @key_name: the RSA key name. + * + * Encrypts #xml_file using a dynamicaly created template, a session DES key + * and an RSA key from keys manager. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlNodePtr encKeyNode = NULL; + xmlNodePtr keyInfoNode2 = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + assert(key_name); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* add <enc:EncryptedKey/> to store the encrypted session key */ + encKeyNode = xmlSecTmplKeyInfoAddEncryptedKey(keyInfoNode, + xmlSecTransformRsaPkcs1Id, + NULL, NULL, NULL); + if(encKeyNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* we want to put encrypted key in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encKeyNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to <enc:EncryptedKey/> */ + keyInfoNode2 = xmlSecTmplEncDataEnsureKeyInfo(encKeyNode, NULL); + if(keyInfoNode2 == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* set key name so we can lookup key when needed */ + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode2, key_name) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context */ + encCtx = xmlSecEncCtxCreate(mngr); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* generate a Triple DES key */ + encCtx->encKey = xmlSecKeyGenerate(xmlSecKeyDataDesId, 192, xmlSecKeyDataTypeSession); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to generate session des key\n"); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3-DOC">encrypt3-doc.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN788"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Original XML doc file before encryption (encrypt3 example). +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +</Envelope></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3-RES">encrypt3-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN793"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: XML doc file encrypted with a session DES key (encrypt3 example). +--> +<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element"> +<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> +<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> +<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> +<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/> +<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> +<KeyName>rsakey.pem</KeyName> +</KeyInfo> +<CipherData> +<CipherValue>IPiEu9Nv+EsGyvVeXO9nl5iZhhi+uzQH1I3/DTs3+eamBvioyaawRIlvTql7LYL5 +Mi91Qs8ozfW/fWZ8zB8AE2PosaX37SqiuEta68+65/Ed4v1rkGN0Awux8+gJqJmp +c2kJhzAoQIAIGAW4nTGP9tl9QUHfwKh2KPA104vezk70ijvF7TrbTmhdfmULAuWK +Tbsg8sXAPhGmPh5KckM2Xe387iPh4ue2+2TGdWqwXygVdvIUIbcIMq6F+/mWlcmf +Gs5FVI7CTjaLmeyO4ho+FGmicmqH2hEkZW0a2ktDh4BU/MxYF6L7oayrVWDGp2IH +dzQAwUT2qJcFjElO8xUz3g==</CipherValue> +</CipherData> +</EncryptedKey> +</KeyInfo> +<CipherData> +<CipherValue>xrfPSA+BEI+8ca23RN34gtee5lOMx8Cn+ZGWyxitiktdZ1+XREH+57li63VutCwp +s6ifbZgXIBsFdxPpMBUFlyTWAAO+NLooIwGoczXi14z62lHr7Ck6FA==</CipherValue> +</CipherData> +</EncryptedData></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-encrypt-dynamic-template.html"><b><<< Encrypting data with a dynamicaly created template.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-decrypt-with-signle-key.html"><b>Decrypting data with a single key. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-encryption-klasses.html b/docs/api/xmlsec-encryption-klasses.html new file mode 100644 index 00000000..561a37fa --- /dev/null +++ b/docs/api/xmlsec-encryption-klasses.html @@ -0,0 +1,101 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>APPENDIX B. XML Security Library Encryption Klasses.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="APPENDIX A. XML Security Library Signature Klasses." href="xmlsec-signature-klasses.html"> +<link rel="NEXT" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-signature-klasses.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-reference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-ENCRYPTION-KLASSES"></a>APPENDIX B. XML Security Library Encryption Klasses.</h1> +<div class="FIGURE"> +<a name="AEN823"></a><p><b>Figure 1. XML Security Library Encryption Klasses.</b></p> +<p><img src="images/encryption-structure.png" align="CENTER"></p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-signature-klasses.html"><b><<< APPENDIX A. XML Security Library Signature Klasses.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-reference.html"><b>XML Security Library API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-errors.html b/docs/api/xmlsec-errors.html new file mode 100644 index 00000000..03c97764 --- /dev/null +++ b/docs/api/xmlsec-errors.html @@ -0,0 +1,744 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>errors</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="dl" href="xmlsec-dl.html"> +<link rel="NEXT" title="io" href="xmlsec-io.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-dl.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-io.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-ERRORS"></a>errors</h1> +<div class="REFNAMEDIV"> +<a name="AEN5416"></a><h2>Name</h2>errors -- Error/log messages support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-ERRORS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XMLSEC-FAILED:CAPS">XMLSEC_ERRORS_R_XMLSEC_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MALLOC-FAILED:CAPS">XMLSEC_ERRORS_R_MALLOC_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-STRDUP-FAILED:CAPS">XMLSEC_ERRORS_R_STRDUP_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CRYPTO-FAILED:CAPS">XMLSEC_ERRORS_R_CRYPTO_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XML-FAILED:CAPS">XMLSEC_ERRORS_R_XML_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XSLT-FAILED:CAPS">XMLSEC_ERRORS_R_XSLT_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-IO-FAILED:CAPS">XMLSEC_ERRORS_R_IO_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DISABLED:CAPS">XMLSEC_ERRORS_R_DISABLED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NOT-IMPLEMENTED:CAPS">XMLSEC_ERRORS_R_NOT_IMPLEMENTED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-SIZE:CAPS">XMLSEC_ERRORS_R_INVALID_SIZE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-DATA:CAPS">XMLSEC_ERRORS_R_INVALID_DATA</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-RESULT:CAPS">XMLSEC_ERRORS_R_INVALID_RESULT</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TYPE:CAPS">XMLSEC_ERRORS_R_INVALID_TYPE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-OPERATION:CAPS">XMLSEC_ERRORS_R_INVALID_OPERATION</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-STATUS:CAPS">XMLSEC_ERRORS_R_INVALID_STATUS</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-FORMAT:CAPS">XMLSEC_ERRORS_R_INVALID_FORMAT</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DATA-NOT-MATCH:CAPS">XMLSEC_ERRORS_R_DATA_NOT_MATCH</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE:CAPS">XMLSEC_ERRORS_R_INVALID_NODE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-CONTENT:CAPS">XMLSEC_ERRORS_R_INVALID_NODE_CONTENT</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE:CAPS">XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE:CAPS">XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT:CAPS">XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-UNEXPECTED-NODE:CAPS">XMLSEC_ERRORS_R_UNEXPECTED_NODE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_NODE_NOT_FOUND</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM:CAPS">XMLSEC_ERRORS_R_INVALID_TRANSFORM</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY:CAPS">XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-URI-TYPE:CAPS">XMLSEC_ERRORS_R_INVALID_URI_TYPE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED:CAPS">XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-DISABLED:CAPS">XMLSEC_ERRORS_R_TRANSFORM_DISABLED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA:CAPS">XMLSEC_ERRORS_R_INVALID_KEY_DATA</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST:CAPS">XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE:CAPS">XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_KEY_NOT_FOUND</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEYDATA-DISABLED:CAPS">XMLSEC_ERRORS_R_KEYDATA_DISABLED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL:CAPS">XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH:CAPS">XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL:CAPS">XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-VERIFY-FAILED:CAPS">XMLSEC_ERRORS_R_CERT_VERIFY_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_CERT_NOT_FOUND</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-REVOKED:CAPS">XMLSEC_ERRORS_R_CERT_REVOKED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-ISSUER-FAILED:CAPS">XMLSEC_ERRORS_R_CERT_ISSUER_FAILED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-YET-VALID:CAPS">XMLSEC_ERRORS_R_CERT_NOT_YET_VALID</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-HAS-EXPIRED:CAPS">XMLSEC_ERRORS_R_CERT_HAS_EXPIRED</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-NO-REFERENCES:CAPS">XMLSEC_ERRORS_R_DSIG_NO_REFERENCES</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE:CAPS">XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-R-ASSERTION:CAPS">XMLSEC_ERRORS_R_ASSERTION</a> +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-MAX-NUMBER:CAPS">XMLSEC_ERRORS_MAX_NUMBER</a> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-errors.html#XMLSECERRORSCALLBACK">*xmlSecErrorsCallback</a>) (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSINIT">xmlSecErrorsInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSSHUTDOWN">xmlSecErrorsShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK">xmlSecErrorsSetCallback</a> (<code class="PARAMETER"><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK"><span class="TYPE">xmlSecErrorsCallback</span></a> callback</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK">xmlSecErrorsDefaultCallback</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT">xmlSecErrorsDefaultCallbackEnableOutput</a> + (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> enabled</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERRORSGETCODE">xmlSecErrorsGetCode</a> (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +const <gtkdoclink href="CHAR"><span class="RETURNVALUE">char</span></gtkdoclink>* <a href="xmlsec-errors.html#XMLSECERRORSGETMSG">xmlSecErrorsGetMsg</a> (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-HERE:CAPS">XMLSEC_ERRORS_HERE</a> +#define <a href="xmlsec-errors.html#XMLSECERRORSSAFESTRING">xmlSecErrorsSafeString</a> (str) +#define <a href="xmlsec-errors.html#XMLSEC-ERRORS-NO-MESSAGE:CAPS">XMLSEC_ERRORS_NO_MESSAGE</a> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-errors.html#XMLSECERROR">xmlSecError</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>, + <code class="PARAMETER">...</code>); +#define <a href="xmlsec-errors.html#XMLSECASSERT">xmlSecAssert</a> (p) +#define <a href="xmlsec-errors.html#XMLSECASSERT2">xmlSecAssert2</a> (p, + ret)</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-ERRORS.DESCRIPTION"></a><h2>Description</h2> +<p>Error/log messages support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-ERRORS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-XMLSEC-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XMLSEC_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XMLSEC_FAILED 1</pre> +<p>An XMLSec function failed (error subject is the failed function).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-MALLOC-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_MALLOC_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MALLOC_FAILED 2</pre> +<p>Failed to allocate memory error.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-STRDUP-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_STRDUP_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_STRDUP_FAILED 3</pre> +<p>Failed to duplicate string error.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CRYPTO-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CRYPTO_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CRYPTO_FAILED 4</pre> +<p>Crypto (OpenSSL) function failed (error subject is the failed function).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-XML-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XML_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XML_FAILED 5</pre> +<p>LibXML function failed (error subject is the failed function).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-XSLT-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XSLT_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XSLT_FAILED 6</pre> +<p>LibXSLT function failed (error subject is the failed function).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-IO-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_IO_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_IO_FAILED 7</pre> +<p>IO operation failed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_DISABLED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DISABLED 8</pre> +<p>The feature is disabled during compilation. +Check './configure --help' for details on how to +enable it.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-NOT-IMPLEMENTED:CAPS"></a><h3>XMLSEC_ERRORS_R_NOT_IMPLEMENTED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NOT_IMPLEMENTED 9</pre> +<p>Feature is not implemented.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-SIZE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_SIZE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_SIZE 11</pre> +<p>Invalid size.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-DATA:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_DATA</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_DATA 12</pre> +<p>Invalid data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-RESULT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_RESULT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_RESULT 13</pre> +<p>Invalid result.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-TYPE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TYPE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TYPE 14</pre> +<p>Invalid type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-OPERATION:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_OPERATION</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_OPERATION 15</pre> +<p>Invalid operation.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-STATUS:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_STATUS</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_STATUS 16</pre> +<p>Invalid status.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-FORMAT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_FORMAT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_FORMAT 17</pre> +<p>Invalid format.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-DATA-NOT-MATCH:CAPS"></a><h3>XMLSEC_ERRORS_R_DATA_NOT_MATCH</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DATA_NOT_MATCH 18</pre> +<p>The data do not match our expectation.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-NODE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE 21</pre> +<p>Invalid node (error subject is the node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-NODE-CONTENT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE_CONTENT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE_CONTENT 22</pre> +<p>Invalid node content (error subject is the node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE 23</pre> +<p>Invalid node attribute (error subject is the node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE:CAPS"></a><h3>XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE 25</pre> +<p>Missing node attribute (error subject is the node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT:CAPS"></a><h3>XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT 26</pre> +<p>Node already present,</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-UNEXPECTED-NODE:CAPS"></a><h3>XMLSEC_ERRORS_R_UNEXPECTED_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_UNEXPECTED_NODE 27</pre> +<p>Unexpected node (error subject is the node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-NODE-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_NODE_NOT_FOUND</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NODE_NOT_FOUND 28</pre> +<p>Node not found (error subject is the required node name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-TRANSFORM:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TRANSFORM</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM 31</pre> +<p>This transform is invlaid here.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY 32</pre> +<p>Key is invalid for this transform.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-URI-TYPE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_URI_TYPE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_URI_TYPE 33</pre> +<p>Invalid URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED:CAPS"></a><h3>XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED 34</pre> +<p>The transform requires the input document to be the same as context.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-TRANSFORM-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_TRANSFORM_DISABLED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_TRANSFORM_DISABLED 35</pre> +<p>The transform is disabled.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-KEY-DATA:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_KEY_DATA</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA 41</pre> +<p>Key data is invalid.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND 42</pre> +<p>Data is not found (error subject is the data name).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST 43</pre> +<p>The key data is already exist.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE 44</pre> +<p>Invalid key size.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-KEY-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_NOT_FOUND</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_NOT_FOUND 45</pre> +<p>Key not found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-KEYDATA-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_KEYDATA_DISABLED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEYDATA_DISABLED 46</pre> +<p>The key data type disabled.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL 51</pre> +<p>Max allowed retrievals level reached.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH 52</pre> +<p>The retrieved key data type does not match the one specified +in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> node.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL 61</pre> +<p>Max EncryptedKey level reached.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-VERIFY-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_VERIFY_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_VERIFY_FAILED 71</pre> +<p>Certificate verification failed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_NOT_FOUND</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_NOT_FOUND 72</pre> +<p>Requested certificate is not found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-REVOKED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_REVOKED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_REVOKED 73</pre> +<p>The certificate is revoked.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-ISSUER-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_ISSUER_FAILED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_ISSUER_FAILED 74</pre> +<p>Failed to get certificate issuer.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-NOT-YET-VALID:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_NOT_YET_VALID</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_NOT_YET_VALID 75</pre> +<p>"Not valid before" verification failed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-CERT-HAS-EXPIRED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_HAS_EXPIRED</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_HAS_EXPIRED 76</pre> +<p>"Not valid after" verification failed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-DSIG-NO-REFERENCES:CAPS"></a><h3>XMLSEC_ERRORS_R_DSIG_NO_REFERENCES</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DSIG_NO_REFERENCES 81</pre> +<p>The <dsig:Reference> nodes not found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE:CAPS"></a><h3>XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE 82</pre> +<p>The <dsig:Reference> validation failed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-R-ASSERTION:CAPS"></a><h3>XMLSEC_ERRORS_R_ASSERTION</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_ASSERTION 100</pre> +<p>Invalid assertion.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-MAX-NUMBER:CAPS"></a><h3>XMLSEC_ERRORS_MAX_NUMBER</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_MAX_NUMBER 256</pre> +<p>The maximum xmlsec errors number.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSCALLBACK"></a><h3>xmlSecErrorsCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecErrorsCallback) (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +<p>The errors reporting callback function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5906"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location file name (__FILE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5911"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5916"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function name (__FUNCTION__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5921"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5926"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5931"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN5936"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the additional error message.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSINIT"></a><h3>xmlSecErrorsInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecErrorsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes the errors reporting. It is called from <a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function. +and applications must not call this function directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSSHUTDOWN"></a><h3>xmlSecErrorsShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecErrorsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Cleanups the errors reporting. It is called from <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function. +and applications must not call this function directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSSETCALLBACK"></a><h3>xmlSecErrorsSetCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecErrorsSetCallback (<code class="PARAMETER"><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK"><span class="TYPE">xmlSecErrorsCallback</span></a> callback</code>);</pre> +<p>Sets the errors callback function to <code class="PARAMETER">callback</code> that will be called +every time an error occurs.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN5978"><span style="white-space: nowrap"><code class="PARAMETER">callback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new errors callback function.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSDEFAULTCALLBACK"></a><h3>xmlSecErrorsDefaultCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecErrorsDefaultCallback (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +<p>The default error reporting callback that utilizes LibXML +error reporting <gtkdoclink href="XMLGENERICERROR"><span class="TYPE">xmlGenericError</span></gtkdoclink> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6015"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location file name (__FILE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6020"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6025"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function name (__FUNCTION__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6030"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6035"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6040"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6045"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the additional error message.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT"></a><h3>xmlSecErrorsDefaultCallbackEnableOutput ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecErrorsDefaultCallbackEnableOutput + (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> enabled</code>);</pre> +<p>Enables or disables calling LibXML2 callback from the default +errors callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6062"><span style="white-space: nowrap"><code class="PARAMETER">enabled</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSGETCODE"></a><h3>xmlSecErrorsGetCode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecErrorsGetCode (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets the known error code at position <code class="PARAMETER">pos</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6080"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6085"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the known error code or 0 if <code class="PARAMETER">pos</code> is greater than +total number of known error codes.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSGETMSG"></a><h3>xmlSecErrorsGetMsg ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="CHAR"><span class="RETURNVALUE">char</span></gtkdoclink>* xmlSecErrorsGetMsg (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets the known error message at position <code class="PARAMETER">pos</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6104"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6109"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the known error message or NULL if <code class="PARAMETER">pos</code> is greater than +total number of known error codes.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-HERE:CAPS"></a><h3>XMLSEC_ERRORS_HERE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_HERE __FILE__,__LINE__,__XMLSEC_FUNCTION__</pre> +<p>The macro that specifies the location (file, line and function) +for the <a href="xmlsec-errors.html#XMLSECERROR"><code class="FUNCTION">xmlSecError()</code></a> function.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERRORSSAFESTRING"></a><h3>xmlSecErrorsSafeString()</h3> +<pre class="PROGRAMLISTING">#define xmlSecErrorsSafeString(str)</pre> +<p>Macro. Returns <code class="PARAMETER">str</code> if it is not NULL or pointer to "NULL" otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6131"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ERRORS-NO-MESSAGE:CAPS"></a><h3>XMLSEC_ERRORS_NO_MESSAGE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_NO_MESSAGE " "</pre> +<p>Empty error message " ".</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECERROR"></a><h3>xmlSecError ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecError (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>, + <code class="PARAMETER">...</code>);</pre> +<p>Reports an error to the default (<a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK"><span class="TYPE">xmlSecErrorsDefaultCallback</span></a>) or +application specific callback installed using <a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK"><span class="TYPE">xmlSecErrorsSetCallback</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6177"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location filename (__FILE__).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6182"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6187"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function (__FUNCTIION__).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6192"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6197"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6202"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6207"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error message in printf format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6212"><span style="white-space: nowrap"><code class="PARAMETER">...</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the parameters for the <code class="PARAMETER">msg</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECASSERT"></a><h3>xmlSecAssert()</h3> +<pre class="PROGRAMLISTING">#define xmlSecAssert( p )</pre> +<p>Macro. Verifies that <code class="PARAMETER">p</code> is true and calls <gtkdoclink href="RETURN"><code class="FUNCTION">return()</code></gtkdoclink> otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6228"><span style="white-space: nowrap"><code class="PARAMETER">p</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expression.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECASSERT2"></a><h3>xmlSecAssert2()</h3> +<pre class="PROGRAMLISTING">#define xmlSecAssert2( p, ret )</pre> +<p>Macro. Verifies that <code class="PARAMETER">p</code> is true and calls return(<code class="PARAMETER">ret</code>) otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6242"><span style="white-space: nowrap"><code class="PARAMETER">p</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6247"><span style="white-space: nowrap"><code class="PARAMETER">ret</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the return value.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-dl.html"><b><<< dl</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-io.html"><b>io >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-examples-sign-dynamimc-template.html b/docs/api/xmlsec-examples-sign-dynamimc-template.html new file mode 100644 index 00000000..2d47acdb --- /dev/null +++ b/docs/api/xmlsec-examples-sign-dynamimc-template.html @@ -0,0 +1,406 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing a dynamicaly created template.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Signing a template file." href="xmlsec-examples-sign-template-file.html"> +<link rel="NEXT" title="Signing with X509 certificate." href="xmlsec-examples-sign-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-examples-sign-template-file.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-examples-sign-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-DYNAMIMC-TEMPLATE">Signing a dynamicaly created template.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2">sign2.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN667"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Signing a file with a dynamicaly created template. + * + * Signs a file using a dynamicaly created template and key from PEM file. + * The signature has one reference with one enveloped transform to sign + * the whole document except the <dsig:Signature/> node itself. + * + * Usage: + * sign2 <xml-doc> <pem-key> + * + * Example: + * ./sign2 sign2-doc.xml rsakey.pem > sign2-res.xml + * + * The result signature could be validated using verify1 example: + * ./verify1 sign2-res.xml rsapub.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + +int sign_file(const char* xml_file, const char* key_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(sign_file(argv[1], argv[2]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * sign_file: + * @xml_file: the XML file name. + * @key_file: the PEM private key file name. + * + * Signs the #xml_file using private key from #key_file and dynamicaly + * created enveloped signature template. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr signNode = NULL; + xmlNodePtr refNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load doc file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, signNode) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2-DOC">sign2-doc.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN672"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Original XML doc file for sign2 example. +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +</Envelope></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2-RES">sign2-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN677"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Signed XML doc file (sign2 example). +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> +<SignedInfo> +<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> +<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> +<Reference> +<Transforms> +<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> +</Transforms> +<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> +<DigestValue>HjY8ilZAIEM2tBbPn5mYO1ieIX4=</DigestValue> +</Reference> +</SignedInfo> +<SignatureValue>SIaj/6KY3C1SmDXU2++Gm31U1xTadFp04WhBgfsJFbxrL+q7GKSKN9kfQ+UpN9+i +D5fWmuavXEHe4Gw6RMaMEkq2URQo7F68+d5J/ajq8/l4n+xE6/reGScVwT6L4dEP +XXVJcAi2ZnQ3O7GTNvNGCPibL9mUcyCWBFZ92Uemtc/vJFCQ7ZyKMdMfACgxOwyN +T/9971oog241/2doudhonc0I/3mgPYWkZdX6yvr62mEjnG+oUZkhWYJ4ewZJ4hM4 +JjbFqZO+OEzDRSbw3DkmuBA/mtlx+3t13SESfEub5hqoMdVmtth/eTb64dsPdl9r +3k1ACVX9f8aHfQQdJOmLFQ==</SignatureValue> +<KeyInfo> +<KeyName>rsakey.pem</KeyName> +</KeyInfo> +</Signature></Envelope></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-examples-sign-template-file.html"><b><<< Signing a template file.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-examples-sign-x509.html"><b>Signing with X509 certificate. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-examples-sign-template-file.html b/docs/api/xmlsec-examples-sign-template-file.html new file mode 100644 index 00000000..a6cf34e6 --- /dev/null +++ b/docs/api/xmlsec-examples-sign-template-file.html @@ -0,0 +1,388 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing a template file.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Examples." href="xmlsec-examples.html"> +<link rel="NEXT" title="Signing a dynamicaly created template." href="xmlsec-examples-sign-dynamimc-template.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-examples.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-examples-sign-dynamimc-template.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-TEMPLATE-FILE">Signing a template file.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1">sign1.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN650"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Signing a template file. + * + * Signs a template file using a key from PEM file + * + * Usage: + * ./sign1 <xml-tmpl> <pem-key> + * + * Example: + * ./sign1 sign1-tmpl.xml rsakey.pem > sign1-res.xml + * + * The result signature could be validated using verify1 example: + * ./verify1 sign1-res.xml rsapub.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/crypto.h> + +int sign_file(const char* tmpl_file, const char* key_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <tmpl-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(sign_file(argv[1], argv[2]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * sign_file: + * @tmpl_file: the signature template file name. + * @key_file: the PEM private key file name. + * + * Signs the #tmpl_file using private key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* tmpl_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1-TMPL">sign1-tmpl.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN655"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Simple signature template file for sign1 example. +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> + <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> + <SignedInfo> + <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> + <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> + <Reference URI=""> + <Transforms> + <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> + <DigestValue></DigestValue> + </Reference> + </SignedInfo> + <SignatureValue/> + <KeyInfo> + <KeyName/> + </KeyInfo> + </Signature> +</Envelope>
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1-RES">sign1-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN660"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Signed file (sign1 example). +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> + <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> + <SignedInfo> + <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <Reference URI=""> + <Transforms> + <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <DigestValue>9H/rQr2Axe9hYTV2n/tCp+3UIQQ=</DigestValue> + </Reference> + </SignedInfo> + <SignatureValue>Mx4psIy9/UY+u8QBJRDrwQWKRaCGz0WOVftyDzAe6WHAFSjMNr7qb2ojq9kdipT8 +Oub5q2OQ7mzdSLiiejkrO1VeqM/90yEIGI4En6KEB6ArEzw+iq4N1wm6EptcyxXx +M9StAOOa9ilWYqR9Tfx3SW1urUIuKYgUitxsONiUHBVaW6HeX51bsXoTF++4ZI+D +jiPBjN4HHmr0cbJ6BXk91S27ffZIfp1Qj5nL9onFLUGbR6EFgu2luiRzQbPuM2tP +XxyI7GZ8AfHnRJK28ARvBC9oi+O1ej20S79CIV7gdBxbLbFprozBHAwOEC57YgJc +x+YEjSjcO7SBIR1FiUA7pw==</SignatureValue> + <KeyInfo> + <KeyName>rsakey.pem</KeyName> + </KeyInfo> + </Signature> +</Envelope></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-examples.html"><b><<< Examples.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-examples-sign-dynamimc-template.html"><b>Signing a dynamicaly created template. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-examples-sign-x509.html b/docs/api/xmlsec-examples-sign-x509.html new file mode 100644 index 00000000..796c5f67 --- /dev/null +++ b/docs/api/xmlsec-examples-sign-x509.html @@ -0,0 +1,447 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing with X509 certificate.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Signing a dynamicaly created template." href="xmlsec-examples-sign-dynamimc-template.html"> +<link rel="NEXT" title="Verifying a signature with a single key." href="xmlsec-verify-with-key.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-examples-sign-dynamimc-template.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-verify-with-key.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-X509">Signing with X509 certificate.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3">sign3.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN684"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Signing a file with a dynamicaly created template and an X509 certificate. + * + * Signs a file using a dynamicaly created template, key from PEM file and + * an X509 certificate. The signature has one reference with one enveloped + * transform to sign the whole document except the <dsig:Signature/> node + * itself. The key certificate is written in the <dsig:X509Data/> node. + * + * This example was developed and tested with OpenSSL crypto library. The + * certificates management policies for another crypto library may break it. + * + * Usage: + * sign3 <xml-doc> <pem-key> + * + * Example: + * ./sign3 sign3-doc.xml rsakey.pem rsacert.pem > sign3-res.xml + * + * The result signature could be validated using verify3 example: + * ./verify3 sign3-res.xml rootcert.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + +int sign_file(const char* xml_file, const char* key_file, const char* cert_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 4) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file> <cert-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(sign_file(argv[1], argv[2], argv[3]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * sign_file: + * @xml_file: the XML file name. + * @key_file: the PEM private key file name. + * @cert_file: the x509 certificate PEM file. + * + * Signs the @xml_file using private key from @key_file and dynamicaly + * created enveloped signature template. The certificate from @cert_file + * is placed in the <dsig:X509Data/> node. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* xml_file, const char* key_file, const char* cert_file) { + xmlDocPtr doc = NULL; + xmlNodePtr signNode = NULL; + xmlNodePtr refNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + assert(cert_file); + + /* load doc file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:X509Data/> */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddX509Data(keyInfoNode) == NULL) { + fprintf(stderr, "Error: failed to add X509Data node\n"); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* load certificate and add to the key */ + if(xmlSecCryptoAppKeyCertLoad(dsigCtx->signKey, cert_file, xmlSecKeyDataFormatPem) < 0) { + fprintf(stderr,"Error: failed to load pem certificate \"%s\"\n", cert_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, signNode) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +}
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3-DOC">sign3-doc.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN689"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Original XML doc file for sign3 example. +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +</Envelope></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3-RES">sign3-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN694"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: Signed XML doc file (sign3 example). +--> +<Envelope xmlns="urn:envelope"> + <Data> + Hello, World! + </Data> +<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> +<SignedInfo> +<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> +<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> +<Reference> +<Transforms> +<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> +</Transforms> +<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> +<DigestValue>HjY8ilZAIEM2tBbPn5mYO1ieIX4=</DigestValue> +</Reference> +</SignedInfo> +<SignatureValue>SIaj/6KY3C1SmDXU2++Gm31U1xTadFp04WhBgfsJFbxrL+q7GKSKN9kfQ+UpN9+i +D5fWmuavXEHe4Gw6RMaMEkq2URQo7F68+d5J/ajq8/l4n+xE6/reGScVwT6L4dEP +XXVJcAi2ZnQ3O7GTNvNGCPibL9mUcyCWBFZ92Uemtc/vJFCQ7ZyKMdMfACgxOwyN +T/9971oog241/2doudhonc0I/3mgPYWkZdX6yvr62mEjnG+oUZkhWYJ4ewZJ4hM4 +JjbFqZO+OEzDRSbw3DkmuBA/mtlx+3t13SESfEub5hqoMdVmtth/eTb64dsPdl9r +3k1ACVX9f8aHfQQdJOmLFQ==</SignatureValue> +<KeyInfo> +<X509Data> +<X509Certificate>MIIE3zCCBEigAwIBAgIBBTANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tMB4X +DTAzMDMzMTA0MDIyMloXDTEzMDMyODA0MDIyMlowgb8xCzAJBgNVBAYTAlVTMRMw +EQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQKEzRYTUwgU2VjdXJpdHkgTGlicmFy +eSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMpMSEwHwYDVQQLExhFeGFt +cGxlcyBSU0EgQ2VydGlmaWNhdGUxFjAUBgNVBAMTDUFsZWtzZXkgU2FuaW4xITAf +BgkqhkiG9w0BCQEWEnhtbHNlY0BhbGVrc2V5LmNvbTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAJe4/rQ/gzV4FokE7CthjL/EXwCBSkXm2c3p4jyXO0Wt +quaNC3dxBwFPfPl94hmq3ZFZ9PHPPbp4RpYRnLZbRjlzVSOq954AXOXpSew7nD+E +mTqQrd9+ZIbGJnLOMQh5fhMVuOW/1lYCjWAhTCcYZPv7VXD2M70vVXDVXn6ZrqTg +qkVHE6gw1aCKncwg7OSOUclUxX8+Zi10v6N6+PPslFc5tKwAdWJhVLTQ4FKG+F53 +7FBDnNK6p4xiWryy/vPMYn4jYGvHUUk3eH4lFTCr+rSuJY8i/KNIf/IKim7g/o3w +Ae3GM8xrof2mgO8GjK/2QDqOQhQgYRIf4/wFsQXVZcMCAwEAAaOCAVcwggFTMAkG +A1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRp +ZmljYXRlMB0GA1UdDgQWBBQkhCzy1FkgYosuXIaQo6owuicanDCB+AYDVR0jBIHw +MIHtgBS0ue+a5pcOaGUemM76VQ2JBttMfKGB0aSBzjCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tggEA +MA0GCSqGSIb3DQEBBAUAA4GBALU/mzIxSv8vhDuomxFcplzwdlLZbvSQrfoNkMGY +1UoS3YJrN+jZLWKSyWE3mIaPpElqXiXQGGkwD5iPQ1iJMbI7BeLvx6ZxX/f+c8Wn +ss0uc1NxfahMaBoyG15IL4+beqO182fosaKJTrJNG3mc//ANGU9OsQM9mfBEt4oL +NJ2D</X509Certificate> +</X509Data> +</KeyInfo> +</Signature></Envelope></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-examples-sign-dynamimc-template.html"><b><<< Signing a dynamicaly created template.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-verify-with-key.html"><b>Verifying a signature with a single key. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-examples.html b/docs/api/xmlsec-examples.html new file mode 100644 index 00000000..63798993 --- /dev/null +++ b/docs/api/xmlsec-examples.html @@ -0,0 +1,119 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Examples.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Sharing the results." href="xmlsec-notes-new-crypto-sharing-results.html"> +<link rel="NEXT" title="Signing a template file." href="xmlsec-examples-sign-template-file.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-sharing-results.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-examples-sign-template-file.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-EXAMPLES"></a>Examples.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-examples.html#XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></dt> +<dt><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></dt> +<dt><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></dt> +<dt><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></dt> +<dt><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></dt> +<dt><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></dt> +<dt><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></dt> +<dt><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></dt> +<dt><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></dt> +<dt><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></dt> +<dt><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></dt> +<dt><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></dt> +<dt><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></dt> +<dt><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></h1> +<p>This section contains several examples of using XML Security Library + to sign, veiryf, encrypt or decrypt XML documents.</p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-sharing-results.html"><b><<< Sharing the results.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-examples-sign-template-file.html"><b>Signing a template file. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gcrypt-app.html b/docs/api/xmlsec-gcrypt-app.html new file mode 100644 index 00000000..e2b3a1af --- /dev/null +++ b/docs/api/xmlsec-gcrypt-app.html @@ -0,0 +1,578 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html"> +<link rel="PREVIOUS" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html"> +<link rel="NEXT" title="crypto" href="xmlsec-gcrypt-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gcrypt-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gcrypt-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-GCRYPT-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN32116"></a><h2>Name</h2>app -- Application functions implementation for GnuTLS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-GCRYPT-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPINIT">xmlSecGCryptAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPSHUTDOWN">xmlSecGCryptAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT">xmlSecGCryptAppDefaultKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD">xmlSecGCryptAppDefaultKeysMngrLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE">xmlSecGCryptAppDefaultKeysMngrSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOAD">xmlSecGCryptAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY">xmlSecGCryptAppKeysMngrCertLoadMemory</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOAD">xmlSecGCryptAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOADMEMORY">xmlSecGCryptAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOAD">xmlSecGCryptAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOADMEMORY">xmlSecGCryptAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOAD">xmlSecGCryptAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOADMEMORY">xmlSecGCryptAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK">xmlSecGCryptAppGetDefaultPwdCallback</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GCRYPT-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Application functions implementation for GCrypt.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GCRYPT-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPINIT"></a><h3>xmlSecGCryptAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32324"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to GCrypt configuration (unused).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32329"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPSHUTDOWN"></a><h3>xmlSecGCryptAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32346"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecGCryptAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a> +and a default GCrypt crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32366"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32371"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecGCryptAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppDefaultKeysMngrAdoptKey + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGCryptAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32395"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32400"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32405"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecGCryptAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGCryptAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32429"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32434"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32439"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecGCryptAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32463"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32468"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32473"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32478"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecGCryptAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code> (not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32506"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32511"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32516"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32521"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32527"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecGCryptAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppKeysMngrCertLoadMemory + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from binary buffer <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code> (not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32558"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32563"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32568"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32573"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32578"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32583"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYLOAD"></a><h3>xmlSecGCryptAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGCryptAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32612"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32617"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32622"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32627"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32632"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32637"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYLOADMEMORY"></a><h3>xmlSecGCryptAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGCryptAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the memory buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32669"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32674"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of binary key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32679"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32684"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32689"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32694"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32699"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPPKCS12LOAD"></a><h3>xmlSecGCryptAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGCryptAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file +(not implemented yet). +For uniformity, call xmlSecGCryptAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32725"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32730"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32735"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32740"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32745"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPPKCS12LOADMEMORY"></a><h3>xmlSecGCryptAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGCryptAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 data in memory buffer. +For uniformity, call xmlSecGCryptAppKeyLoadMemory instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12 (not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32774"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32779"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32784"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32789"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32794"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32799"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYCERTLOAD"></a><h3>xmlSecGCryptAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key +(not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32823"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32828"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32833"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32838"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPKEYCERTLOADMEMORY"></a><h3>xmlSecGCryptAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from memory buffer and adds it to key (not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32864"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32869"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32874"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32879"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN32884"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecGCryptAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecGCryptAppGetDefaultPwdCallback + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32900"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gcrypt-ref.html"><b><<< XML Security Library for GCrypt API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gcrypt-crypto.html"><b>crypto >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gcrypt-crypto.html b/docs/api/xmlsec-gcrypt-crypto.html new file mode 100644 index 00000000..2c3aa944 --- /dev/null +++ b/docs/api/xmlsec-gcrypt-crypto.html @@ -0,0 +1,1128 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>crypto</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-gcrypt-app.html"> +<link rel="NEXT" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gcrypt-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-GCRYPT-CRYPTO"></a>crypto</h1> +<div class="REFNAMEDIV"> +<a name="AEN32910"></a><h2>Name</h2>crypto -- Crypto transforms implementation for GCrypt.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-GCRYPT-CRYPTO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECCRYPTOGETFUNCTIONS-GCRYPT">xmlSecCryptoGetFunctions_gcrypt</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTINIT">xmlSecGCryptInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTSHUTDOWN">xmlSecGCryptShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYSMNGRINIT">xmlSecGCryptKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTGENERATERANDOM">xmlSecGCryptGenerateRandom</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESID">xmlSecGCryptKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESGETKLASS">xmlSecGCryptKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESSET">xmlSecGCryptKeyDataAesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCID">xmlSecGCryptTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS">xmlSecGCryptTransformAes128CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCID">xmlSecGCryptTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS">xmlSecGCryptTransformAes192CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCID">xmlSecGCryptTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS">xmlSecGCryptTransformAes256CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128ID">xmlSecGCryptTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128GETKLASS">xmlSecGCryptTransformKWAes128GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192ID">xmlSecGCryptTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192GETKLASS">xmlSecGCryptTransformKWAes192GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256ID">xmlSecGCryptTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256GETKLASS">xmlSecGCryptTransformKWAes256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESID">xmlSecGCryptKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESGETKLASS">xmlSecGCryptKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESSET">xmlSecGCryptKeyDataDesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCID">xmlSecGCryptTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS">xmlSecGCryptTransformDes3CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3ID">xmlSecGCryptTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3GETKLASS">xmlSecGCryptTransformKWDes3GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAID">xmlSecGCryptKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETKLASS">xmlSecGCryptKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEY">xmlSecGCryptKeyDataDsaAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> dsa_key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR">xmlSecGCryptKeyDataDsaAdoptKeyPair</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> pub_key</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> priv_key</code>); +<gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPUBLICKEY">xmlSecGCryptKeyDataDsaGetPublicKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY">xmlSecGCryptKeyDataDsaGetPrivateKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1ID">xmlSecGCryptTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS">xmlSecGCryptTransformDsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACGETMINOUTPUTLENGTH">xmlSecGCryptHmacGetMinOutputLength</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACSETMINOUTPUTLENGTH">xmlSecGCryptHmacSetMinOutputLength</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACID">xmlSecGCryptKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACGETKLASS">xmlSecGCryptKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACSET">xmlSecGCryptKeyDataHmacSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5ID">xmlSecGCryptTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS">xmlSecGCryptTransformHmacMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID">xmlSecGCryptTransformHmacRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGCryptTransformHmacRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1ID">xmlSecGCryptTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS">xmlSecGCryptTransformHmacSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256ID">xmlSecGCryptTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS">xmlSecGCryptTransformHmacSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384ID">xmlSecGCryptTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS">xmlSecGCryptTransformHmacSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512ID">xmlSecGCryptTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS">xmlSecGCryptTransformHmacSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAID">xmlSecGCryptKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETKLASS">xmlSecGCryptKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEY">xmlSecGCryptKeyDataRsaAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> rsa_key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR">xmlSecGCryptKeyDataRsaAdoptKeyPair</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> pub_key</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> priv_key</code>); +<gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPUBLICKEY">xmlSecGCryptKeyDataRsaGetPublicKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY">xmlSecGCryptKeyDataRsaGetPrivateKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5ID">xmlSecGCryptTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS">xmlSecGCryptTransformRsaMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160ID">xmlSecGCryptTransformRsaRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS">xmlSecGCryptTransformRsaRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1ID">xmlSecGCryptTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS">xmlSecGCryptTransformRsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256ID">xmlSecGCryptTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS">xmlSecGCryptTransformRsaSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384ID">xmlSecGCryptTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS">xmlSecGCryptTransformRsaSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512ID">xmlSecGCryptTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS">xmlSecGCryptTransformRsaSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1ID">xmlSecGCryptTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1GETKLASS">xmlSecGCryptTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256ID">xmlSecGCryptTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256GETKLASS">xmlSecGCryptTransformSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384ID">xmlSecGCryptTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384GETKLASS">xmlSecGCryptTransformSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512ID">xmlSecGCryptTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512GETKLASS">xmlSecGCryptTransformSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5ID">xmlSecGCryptTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5GETKLASS">xmlSecGCryptTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160ID">xmlSecGCryptTransformRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS">xmlSecGCryptTransformRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GCRYPT-CRYPTO.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto transforms implementation for GCrypt.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GCRYPT-CRYPTO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOGETFUNCTIONS-GCRYPT"></a><h3>xmlSecCryptoGetFunctions_gcrypt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoGetFunctions_gcrypt + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the pointer to xmlsec-gcrypt functions table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33267"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the xmlsec-gcrypt functions table or NULL if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTINIT"></a><h3>xmlSecGCryptInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33283"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTSHUTDOWN"></a><h3>xmlSecGCryptShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33299"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYSMNGRINIT"></a><h3>xmlSecGCryptKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds GCrypt specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33316"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33321"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTGENERATERANDOM"></a><h3>xmlSecGCryptGenerateRandom ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Generates <code class="PARAMETER">size</code> random bytes and puts result in <code class="PARAMETER">buffer</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33343"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33348"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the numer of bytes to generate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33353"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAAESID"></a><h3>xmlSecGCryptKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataAesId</pre> +<p>The AES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAAESGETKLASS"></a><h3>xmlSecGCryptKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGCryptKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33375"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAAESSET"></a><h3>xmlSecGCryptKeyDataAesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of AES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33398"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to AES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33403"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33408"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33413"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES128CBCID"></a><h3>xmlSecGCryptTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes128CbcId</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformAes128CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33435"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES192CBCID"></a><h3>xmlSecGCryptTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes192CbcId</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformAes192CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33457"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES256CBCID"></a><h3>xmlSecGCryptTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes256CbcId</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformAes256CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33479"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES128ID"></a><h3>xmlSecGCryptTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes128Id</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecGCryptTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformKWAes128GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33501"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES192ID"></a><h3>xmlSecGCryptTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes192Id</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecGCryptTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformKWAes192GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33523"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES256ID"></a><h3>xmlSecGCryptTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes256Id</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecGCryptTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformKWAes256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33545"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADESID"></a><h3>xmlSecGCryptKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataDesId</pre> +<p>The DES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADESGETKLASS"></a><h3>xmlSecGCryptKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGCryptKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33567"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADESSET"></a><h3>xmlSecGCryptKeyDataDesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of DES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33590"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33595"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33600"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33605"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMDES3CBCID"></a><h3>xmlSecGCryptTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformDes3CbcId</pre> +<p>The DES3 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecGCryptTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformDes3CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33627"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWDES3ID"></a><h3>xmlSecGCryptTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWDes3Id</pre> +<p>The DES3 KW transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecGCryptTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33649"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAID"></a><h3>xmlSecGCryptKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataDsaId</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAGETKLASS"></a><h3>xmlSecGCryptKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGCryptKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33671"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to DSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAADOPTKEY"></a><h3>xmlSecGCryptKeyDataDsaAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataDsaAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> dsa_key</code>);</pre> +<p>Sets the value of DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33691"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33696"><span style="white-space: nowrap"><code class="PARAMETER">dsa_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt DSA key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33701"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR"></a><h3>xmlSecGCryptKeyDataDsaAdoptKeyPair ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataDsaAdoptKeyPair (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> pub_key</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> priv_key</code>);</pre> +<p>Sets the value of DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33724"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33729"><span style="white-space: nowrap"><code class="PARAMETER">pub_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt DSA pub key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33734"><span style="white-space: nowrap"><code class="PARAMETER">priv_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt DSA priv key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33739"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAGETPUBLICKEY"></a><h3>xmlSecGCryptKeyDataDsaGetPublicKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink> xmlSecGCryptKeyDataDsaGetPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the GCrypt DSA public key from DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33756"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33761"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GCrypt public DSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY"></a><h3>xmlSecGCryptKeyDataDsaGetPrivateKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink> xmlSecGCryptKeyDataDsaGetPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the GCrypt DSA private key from DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33778"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33783"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GCrypt private DSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMDSASHA1ID"></a><h3>xmlSecGCryptTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformDsaSha1Id</pre> +<p>The DSA SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecGCryptTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformDsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33805"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecGCryptHmacGetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the value of min HMAC length.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33821"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the min HMAC output length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecGCryptHmacSetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecGCryptHmacSetMinOutputLength (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>);</pre> +<p>Sets the min HMAC output length</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33838"><span style="white-space: nowrap"><code class="PARAMETER">min_length</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new min length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAHMACID"></a><h3>xmlSecGCryptKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataHmacId</pre> +<p>The HMAC key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAHMACGETKLASS"></a><h3>xmlSecGCryptKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGCryptKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33860"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATAHMACSET"></a><h3>xmlSecGCryptKeyDataHmacSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of HMAC key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33883"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to HMAC key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33888"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33893"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN33898"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACMD5ID"></a><h3>xmlSecGCryptTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacMd5Id</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecGCryptTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33920"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecGCryptTransformHmacRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacRipemd160Id</pre> +<p>The HMAC with RipeMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformHmacRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-RIPEMD160 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-RIPEMD160 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA1ID"></a><h3>xmlSecGCryptTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33964"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA256ID"></a><h3>xmlSecGCryptTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN33986"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA384ID"></a><h3>xmlSecGCryptTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34008"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA512ID"></a><h3>xmlSecGCryptTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformHmacSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34030"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAID"></a><h3>xmlSecGCryptKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataRsaId</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAGETKLASS"></a><h3>xmlSecGCryptKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGCryptKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GCrypt RSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34052"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GCrypt RSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAADOPTKEY"></a><h3>xmlSecGCryptKeyDataRsaAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataRsaAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> rsa_key</code>);</pre> +<p>Sets the value of RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34072"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34077"><span style="white-space: nowrap"><code class="PARAMETER">rsa_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt RSA key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34082"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR"></a><h3>xmlSecGCryptKeyDataRsaAdoptKeyPair ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGCryptKeyDataRsaAdoptKeyPair (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> pub_key</code>, + <code class="PARAMETER"><gtkdoclink href="GCRY-SEXP-T"><span class="TYPE">gcry_sexp_t</span></gtkdoclink> priv_key</code>);</pre> +<p>Sets the value of RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34105"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34110"><span style="white-space: nowrap"><code class="PARAMETER">pub_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt RSA pub key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34115"><span style="white-space: nowrap"><code class="PARAMETER">priv_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GCrypt RSA priv key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34120"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAGETPUBLICKEY"></a><h3>xmlSecGCryptKeyDataRsaGetPublicKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink> xmlSecGCryptKeyDataRsaGetPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the GCrypt RSA public key from RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34137"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34142"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GCrypt public RSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY"></a><h3>xmlSecGCryptKeyDataRsaGetPrivateKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="GCRY-SEXP-T"><span class="RETURNVALUE">gcry_sexp_t</span></gtkdoclink> xmlSecGCryptKeyDataRsaGetPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the GCrypt RSA private key from RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34159"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34164"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GCrypt private RSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSAMD5ID"></a><h3>xmlSecGCryptTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaMd5Id</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecGCryptTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34186"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecGCryptTransformRsaRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaRipemd160Id</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformRsaRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34208"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-RIPEMD160 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA1ID"></a><h3>xmlSecGCryptTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha1Id</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34230"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA256ID"></a><h3>xmlSecGCryptTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha256Id</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34252"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA384ID"></a><h3>xmlSecGCryptTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha384Id</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34274"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA512ID"></a><h3>xmlSecGCryptTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha512Id</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRsaSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34296"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA1ID"></a><h3>xmlSecGCryptTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA1GETKLASS"></a><h3>xmlSecGCryptTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34318"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA256ID"></a><h3>xmlSecGCryptTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA256GETKLASS"></a><h3>xmlSecGCryptTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34340"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA256 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA384ID"></a><h3>xmlSecGCryptTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA384GETKLASS"></a><h3>xmlSecGCryptTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34362"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA384 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA512ID"></a><h3>xmlSecGCryptTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMSHA512GETKLASS"></a><h3>xmlSecGCryptTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34384"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA512 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMMD5ID"></a><h3>xmlSecGCryptTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformMd5Id</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMMD5GETKLASS"></a><h3>xmlSecGCryptTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>MD5 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34406"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MD5 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRIPEMD160ID"></a><h3>xmlSecGCryptTransformRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRipemd160Id</pre> +<p>The RIPEMD160 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGCryptTransformRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>RIPEMD160 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34428"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to RIPEMD160 digest transform klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gcrypt-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-ref.html"><b>XML Security Library for NSS API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gcrypt-ref.html b/docs/api/xmlsec-gcrypt-ref.html new file mode 100644 index 00000000..592f12aa --- /dev/null +++ b/docs/api/xmlsec-gcrypt-ref.html @@ -0,0 +1,107 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library for GCrypt API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="crypto" href="xmlsec-gnutls-crypto.html"> +<link rel="NEXT" title="app" href="xmlsec-gcrypt-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gnutls-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gcrypt-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-GCRYPT-REF"></a>XML Security Library for GCrypt API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-gcrypt-app.html">app</a> -- Application functions implementation for GnuTLS.</dt> +<dt> +<a href="xmlsec-gcrypt-crypto.html">crypto</a> -- Crypto transforms implementation for GCrypt.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec-gcrypt. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gnutls-crypto.html"><b><<< crypto</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gcrypt-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gcrypt.sgml b/docs/api/xmlsec-gcrypt.sgml new file mode 100644 index 00000000..5c33c60d --- /dev/null +++ b/docs/api/xmlsec-gcrypt.sgml @@ -0,0 +1,15 @@ +<!doctype book PUBLIC "-//DavenPort//DTD DocBook V3.0//EN" [ +<!ENTITY xmlsec-gcrypt-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-gcrypt-crypto SYSTEM "sgml/crypto.sgml"> +]> +<book id="index"> + <bookinfo> + <title>[Insert name here] Reference Manual</title> + </bookinfo> + + <chapter> + <title>[Insert title here]</title> + &xmlsec-gcrypt-app; + &xmlsec-gcrypt-crypto; + </chapter> +</book> diff --git a/docs/api/xmlsec-gnutls-app.html b/docs/api/xmlsec-gnutls-app.html new file mode 100644 index 00000000..52255eac --- /dev/null +++ b/docs/api/xmlsec-gnutls-app.html @@ -0,0 +1,576 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html"> +<link rel="PREVIOUS" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html"> +<link rel="NEXT" title="crypto" href="xmlsec-gnutls-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gnutls-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gnutls-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-GNUTLS-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN29881"></a><h2>Name</h2>app -- Application functions implementation for GnuTLS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-GNUTLS-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPINIT">xmlSecGnuTLSAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPSHUTDOWN">xmlSecGnuTLSAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT">xmlSecGnuTLSAppDefaultKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD">xmlSecGnuTLSAppDefaultKeysMngrLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE">xmlSecGnuTLSAppDefaultKeysMngrSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOAD">xmlSecGnuTLSAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOAD">xmlSecGnuTLSAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOADMEMORY">xmlSecGnuTLSAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOAD">xmlSecGnuTLSAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOADMEMORY">xmlSecGnuTLSAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOAD">xmlSecGnuTLSAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOADMEMORY">xmlSecGnuTLSAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK">xmlSecGnuTLSAppGetDefaultPwdCallback</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GNUTLS-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Application functions implementation for GnuTLS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GNUTLS-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPINIT"></a><h3>xmlSecGnuTLSAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30089"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to GnuTLS configuration (unused).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30094"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPSHUTDOWN"></a><h3>xmlSecGnuTLSAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN30111"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a> +and a default GnuTLS crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30131"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30136"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppDefaultKeysMngrAdoptKey + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30160"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30165"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30170"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30194"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30199"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30204"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30228"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30233"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30238"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30243"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30271"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30276"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30281"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30286"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30292"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppKeysMngrCertLoadMemory + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from binary buffer <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30323"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30328"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30333"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30338"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30343"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30348"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYLOAD"></a><h3>xmlSecGnuTLSAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGnuTLSAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30377"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30382"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30387"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30392"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30397"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30402"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGnuTLSAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the memory buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30434"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30439"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of binary key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30444"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30449"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30454"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30459"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30464"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPPKCS12LOAD"></a><h3>xmlSecGnuTLSAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGnuTLSAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file. +For uniformity, call xmlSecGnuTLSAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30490"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30495"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30500"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30505"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30510"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPPKCS12LOADMEMORY"></a><h3>xmlSecGnuTLSAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecGnuTLSAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 data in memory buffer. +For uniformity, call xmlSecGnuTLSAppKeyLoadMemory instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30539"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30544"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30549"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30554"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30559"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30564"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYCERTLOAD"></a><h3>xmlSecGnuTLSAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30588"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30593"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30598"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30603"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPKEYCERTLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from memory buffer and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30629"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30634"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30639"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30644"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN30649"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecGnuTLSAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecGnuTLSAppGetDefaultPwdCallback + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN30665"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gnutls-ref.html"><b><<< XML Security Library for GnuTLS API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gnutls-crypto.html"><b>crypto >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gnutls-crypto.html b/docs/api/xmlsec-gnutls-crypto.html new file mode 100644 index 00000000..e490d605 --- /dev/null +++ b/docs/api/xmlsec-gnutls-crypto.html @@ -0,0 +1,1076 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>crypto</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-gnutls-app.html"> +<link rel="NEXT" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gnutls-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gcrypt-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-GNUTLS-CRYPTO"></a>crypto</h1> +<div class="REFNAMEDIV"> +<a name="AEN30675"></a><h2>Name</h2>crypto -- Crypto transforms implementation for GnuTLS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-GNUTLS-CRYPTO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECCRYPTOGETFUNCTIONS-GNUTLS">xmlSecCryptoGetFunctions_gnutls</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSINIT">xmlSecGnuTLSInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSSHUTDOWN">xmlSecGnuTLSShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYSMNGRINIT">xmlSecGnuTLSKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSGENERATERANDOM">xmlSecGnuTLSGenerateRandom</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESID">xmlSecGnuTLSKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESGETKLASS">xmlSecGnuTLSKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESSET">xmlSecGnuTLSKeyDataAesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCID">xmlSecGnuTLSTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS">xmlSecGnuTLSTransformAes128CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCID">xmlSecGnuTLSTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS">xmlSecGnuTLSTransformAes192CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCID">xmlSecGnuTLSTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS">xmlSecGnuTLSTransformAes256CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128ID">xmlSecGnuTLSTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128GETKLASS">xmlSecGnuTLSTransformKWAes128GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192ID">xmlSecGnuTLSTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192GETKLASS">xmlSecGnuTLSTransformKWAes192GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256ID">xmlSecGnuTLSTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256GETKLASS">xmlSecGnuTLSTransformKWAes256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESID">xmlSecGnuTLSKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESGETKLASS">xmlSecGnuTLSKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESSET">xmlSecGnuTLSKeyDataDesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCID">xmlSecGnuTLSTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS">xmlSecGnuTLSTransformDes3CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3ID">xmlSecGnuTLSTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3GETKLASS">xmlSecGnuTLSTransformKWDes3GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAID">xmlSecGnuTLSKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAGETKLASS">xmlSecGnuTLSKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-X509-PRIVKEY-T"><span class="TYPE">gnutls_x509_privkey_t</span></gtkdoclink> dsa_key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *p</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *q</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *g</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *y</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1ID">xmlSecGnuTLSTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS">xmlSecGnuTLSTransformDsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACGETMINOUTPUTLENGTH">xmlSecGnuTLSHmacGetMinOutputLength</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACSETMINOUTPUTLENGTH">xmlSecGnuTLSHmacSetMinOutputLength</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACID">xmlSecGnuTLSKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACGETKLASS">xmlSecGnuTLSKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACSET">xmlSecGnuTLSKeyDataHmacSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5ID">xmlSecGnuTLSTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS">xmlSecGnuTLSTransformHmacMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID">xmlSecGnuTLSTransformHmacRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1ID">xmlSecGnuTLSTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS">xmlSecGnuTLSTransformHmacSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256ID">xmlSecGnuTLSTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS">xmlSecGnuTLSTransformHmacSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384ID">xmlSecGnuTLSTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS">xmlSecGnuTLSTransformHmacSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512ID">xmlSecGnuTLSTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS">xmlSecGnuTLSTransformHmacSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAID">xmlSecGnuTLSKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAGETKLASS">xmlSecGnuTLSKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-X509-PRIVKEY-T"><span class="TYPE">gnutls_x509_privkey_t</span></gtkdoclink> rsa_key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *m</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *e</code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5ID">xmlSecGnuTLSTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS">xmlSecGnuTLSTransformRsaMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160ID">xmlSecGnuTLSTransformRsaRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1ID">xmlSecGnuTLSTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS">xmlSecGnuTLSTransformRsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256ID">xmlSecGnuTLSTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS">xmlSecGnuTLSTransformRsaSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384ID">xmlSecGnuTLSTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS">xmlSecGnuTLSTransformRsaSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512ID">xmlSecGnuTLSTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS">xmlSecGnuTLSTransformRsaSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1ID">xmlSecGnuTLSTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1GETKLASS">xmlSecGnuTLSTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256ID">xmlSecGnuTLSTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256GETKLASS">xmlSecGnuTLSTransformSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384ID">xmlSecGnuTLSTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384GETKLASS">xmlSecGnuTLSTransformSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512ID">xmlSecGnuTLSTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512GETKLASS">xmlSecGnuTLSTransformSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5ID">xmlSecGnuTLSTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5GETKLASS">xmlSecGnuTLSTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160ID">xmlSecGnuTLSTransformRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS">xmlSecGnuTLSTransformRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GNUTLS-CRYPTO.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto transforms implementation for GnuTLS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-GNUTLS-CRYPTO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOGETFUNCTIONS-GNUTLS"></a><h3>xmlSecCryptoGetFunctions_gnutls ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoGetFunctions_gnutls + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the pointer to xmlsec-gnutls functions table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31014"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the xmlsec-gnutls functions table or NULL if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSINIT"></a><h3>xmlSecGnuTLSInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31030"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSSHUTDOWN"></a><h3>xmlSecGnuTLSShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31046"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYSMNGRINIT"></a><h3>xmlSecGnuTLSKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds GnuTLS specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31063"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31068"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSGENERATERANDOM"></a><h3>xmlSecGnuTLSGenerateRandom ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Generates <code class="PARAMETER">size</code> random bytes and puts result in <code class="PARAMETER">buffer</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31090"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31095"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the numer of bytes to generate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31100"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAAESID"></a><h3>xmlSecGnuTLSKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataAesId</pre> +<p>The AES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAAESGETKLASS"></a><h3>xmlSecGnuTLSKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGnuTLSKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31122"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAAESSET"></a><h3>xmlSecGnuTLSKeyDataAesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of AES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31145"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to AES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31150"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31155"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31160"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES128CBCID"></a><h3>xmlSecGnuTLSTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes128CbcId</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformAes128CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31182"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES192CBCID"></a><h3>xmlSecGnuTLSTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes192CbcId</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformAes192CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31204"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES256CBCID"></a><h3>xmlSecGnuTLSTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes256CbcId</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformAes256CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31226"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES128ID"></a><h3>xmlSecGnuTLSTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes128Id</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformKWAes128GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31248"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES192ID"></a><h3>xmlSecGnuTLSTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes192Id</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformKWAes192GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31270"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES256ID"></a><h3>xmlSecGnuTLSTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes256Id</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformKWAes256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31292"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADESID"></a><h3>xmlSecGnuTLSKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataDesId</pre> +<p>The DES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADESGETKLASS"></a><h3>xmlSecGnuTLSKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGnuTLSKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31314"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADESSET"></a><h3>xmlSecGnuTLSKeyDataDesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of DES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31337"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31342"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31347"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31352"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMDES3CBCID"></a><h3>xmlSecGnuTLSTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformDes3CbcId</pre> +<p>The DES3 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformDes3CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31374"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWDES3ID"></a><h3>xmlSecGnuTLSTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWDes3Id</pre> +<p>The DES3 KW transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecGnuTLSTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31396"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADSAID"></a><h3>xmlSecGnuTLSKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataDsaId</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADSAGETKLASS"></a><h3>xmlSecGnuTLSKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGnuTLSKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31418"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to DSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPrivateKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataDsaAdoptPrivateKey + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-X509-PRIVKEY-T"><span class="TYPE">gnutls_x509_privkey_t</span></gtkdoclink> dsa_key</code>);</pre> +<p>Sets the value of DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31438"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31443"><span style="white-space: nowrap"><code class="PARAMETER">dsa_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GnuTLS DSA private key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31448"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPublicKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataDsaAdoptPublicKey + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *p</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *q</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *g</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *y</code>);</pre> +<p>Sets the value of DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31477"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31482"><span style="white-space: nowrap"><code class="PARAMETER">p</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to p component of the DSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31487"><span style="white-space: nowrap"><code class="PARAMETER">q</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to q component of the DSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31492"><span style="white-space: nowrap"><code class="PARAMETER">g</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to g component of the DSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31497"><span style="white-space: nowrap"><code class="PARAMETER">y</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to y component of the DSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31502"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMDSASHA1ID"></a><h3>xmlSecGnuTLSTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformDsaSha1Id</pre> +<p>The DSA SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformDsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31524"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecGnuTLSHmacGetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the value of min HMAC length.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31540"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the min HMAC output length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecGnuTLSHmacSetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecGnuTLSHmacSetMinOutputLength (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>);</pre> +<p>Sets the min HMAC output length</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31557"><span style="white-space: nowrap"><code class="PARAMETER">min_length</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new min length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAHMACID"></a><h3>xmlSecGnuTLSKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataHmacId</pre> +<p>The HMAC key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAHMACGETKLASS"></a><h3>xmlSecGnuTLSKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGnuTLSKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31579"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATAHMACSET"></a><h3>xmlSecGnuTLSKeyDataHmacSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of HMAC key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31602"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to HMAC key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31607"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31612"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31617"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACMD5ID"></a><h3>xmlSecGnuTLSTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacMd5Id</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31639"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecGnuTLSTransformHmacRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacRipemd160Id</pre> +<p>The HMAC with RipeMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-RIPEMD160 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31661"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-RIPEMD160 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA1ID"></a><h3>xmlSecGnuTLSTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31683"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA256ID"></a><h3>xmlSecGnuTLSTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31705"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA384ID"></a><h3>xmlSecGnuTLSTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31727"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA512ID"></a><h3>xmlSecGnuTLSTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformHmacSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31749"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATARSAID"></a><h3>xmlSecGnuTLSKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataRsaId</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATARSAGETKLASS"></a><h3>xmlSecGnuTLSKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecGnuTLSKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GnuTLS RSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31771"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GnuTLS RSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPrivateKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataRsaAdoptPrivateKey + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-X509-PRIVKEY-T"><span class="TYPE">gnutls_x509_privkey_t</span></gtkdoclink> rsa_key</code>);</pre> +<p>Sets the value of RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31791"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31796"><span style="white-space: nowrap"><code class="PARAMETER">rsa_key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to GnuTLS RSA private key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31801"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPublicKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGnuTLSKeyDataRsaAdoptPublicKey + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *m</code>, + <code class="PARAMETER"><gtkdoclink href="GNUTLS-DATUM-T"><span class="TYPE">gnutls_datum_t</span></gtkdoclink> *e</code>);</pre> +<p>Sets the value of RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31824"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31829"><span style="white-space: nowrap"><code class="PARAMETER">m</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to m component of the RSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31834"><span style="white-space: nowrap"><code class="PARAMETER">e</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to e component of the RSA public key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN31839"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSAMD5ID"></a><h3>xmlSecGnuTLSTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaMd5Id</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31861"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecGnuTLSTransformRsaRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaRipemd160Id</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31883"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-RIPEMD160 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA1ID"></a><h3>xmlSecGnuTLSTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha1Id</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31905"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA256ID"></a><h3>xmlSecGnuTLSTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha256Id</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31927"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA384ID"></a><h3>xmlSecGnuTLSTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha384Id</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31949"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA512ID"></a><h3>xmlSecGnuTLSTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha512Id</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRsaSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31971"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA1ID"></a><h3>xmlSecGnuTLSTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN31993"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA256ID"></a><h3>xmlSecGnuTLSTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32015"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA256 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA384ID"></a><h3>xmlSecGnuTLSTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32037"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA384 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA512ID"></a><h3>xmlSecGnuTLSTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMSHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32059"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA512 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMMD5ID"></a><h3>xmlSecGnuTLSTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformMd5Id</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>MD5 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32081"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MD5 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRIPEMD160ID"></a><h3>xmlSecGnuTLSTransformRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRipemd160Id</pre> +<p>The RIPEMD160 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecGnuTLSTransformRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>RIPEMD160 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN32103"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to RIPEMD160 digest transform klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gnutls-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gcrypt-ref.html"><b>XML Security Library for GCrypt API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gnutls-ref.html b/docs/api/xmlsec-gnutls-ref.html new file mode 100644 index 00000000..391447bc --- /dev/null +++ b/docs/api/xmlsec-gnutls-ref.html @@ -0,0 +1,107 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library for GnuTLS API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="x509" href="xmlsec-openssl-x509.html"> +<link rel="NEXT" title="app" href="xmlsec-gnutls-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gnutls-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-GNUTLS-REF"></a>XML Security Library for GnuTLS API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-gnutls-app.html">app</a> -- Application functions implementation for GnuTLS.</dt> +<dt> +<a href="xmlsec-gnutls-crypto.html">crypto</a> -- Crypto transforms implementation for GnuTLS.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec-gnutls. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-x509.html"><b><<< x509</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gnutls-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-gnutls.sgml b/docs/api/xmlsec-gnutls.sgml new file mode 100644 index 00000000..b5c2bf22 --- /dev/null +++ b/docs/api/xmlsec-gnutls.sgml @@ -0,0 +1,15 @@ +<!doctype book PUBLIC "-//DavenPort//DTD DocBook V3.0//EN" [ +<!ENTITY xmlsec-gnutls-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-gnutls-crypto SYSTEM "sgml/crypto.sgml"> +]> +<book id="index"> + <bookinfo> + <title>[Insert name here] Reference Manual</title> + </bookinfo> + + <chapter> + <title>[Insert title here]</title> + &xmlsec-gnutls-app; + &xmlsec-gnutls-crypto; + </chapter> +</book> diff --git a/docs/api/xmlsec-index.html b/docs/api/xmlsec-index.html new file mode 100644 index 00000000..a6e703fe --- /dev/null +++ b/docs/api/xmlsec-index.html @@ -0,0 +1,1570 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library Reference Index</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="x509" href="xmlsec-mscrypto-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-INDEX"></a>XML Security Library Reference Index</h1> +<p> </p> +<p></p> +<ul> +<li><p><font>ATTRIBUTE-UNUSED</font></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLENCCTXMODE">xmlEncCtxMode</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECADDCHILD">xmlSecAddChild</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECADDCHILDNODE">xmlSecAddChildNode</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECADDIDS">xmlSecAddIDs</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECADDNEXTSIBLING">xmlSecAddNextSibling</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECADDPREVSIBLING">xmlSecAddPrevSibling</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECALLOCMODE">xmlSecAllocMode</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECASSERT2">xmlSecAssert2</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECASSERT">xmlSecAssert</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXCREATE">xmlSecBase64CtxCreate</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXDESTROY">xmlSecBase64CtxDestroy</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXFINALIZE">xmlSecBase64CtxFinalize</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXFINAL">xmlSecBase64CtxFinal</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXINITIALIZE">xmlSecBase64CtxInitialize</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXUPDATE">xmlSecBase64CtxUpdate</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64DECODE">xmlSecBase64Decode</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64ENCODE">xmlSecBase64Encode</a></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64GETDEFAULTLINESIZE">xmlSecBase64GetDefaultLineSize</a></p></li> +<li><p><font>XMLSEC-BASE64-LINESIZE</font></p></li> +<li><p><a href="xmlsec-base64.html#XMLSECBASE64SETDEFAULTLINESIZE">xmlSecBase64SetDefaultLineSize</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECBITMASK">xmlSecBitMask</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNADD">xmlSecBnAdd</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNBLOBSETNODEVALUE">xmlSecBnBlobSetNodeValue</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNCOMPARE">xmlSecBnCompare</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNCOMPAREREVERSE">xmlSecBnCompareReverse</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNCREATE">xmlSecBnCreate</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNDESTROY">xmlSecBnDestroy</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNDIV">xmlSecBnDiv</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNFINALIZE">xmlSecBnFinalize</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNFROMDECSTRING">xmlSecBnFromDecString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNFROMHEXSTRING">xmlSecBnFromHexString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNFROMSTRING">xmlSecBnFromString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNGETDATA">xmlSecBnGetData</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNGETNODEVALUE">xmlSecBnGetNodeValue</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNGETSIZE">xmlSecBnGetSize</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNINITIALIZE">xmlSecBnInitialize</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNMUL">xmlSecBnMul</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNREVERSE">xmlSecBnReverse</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNSETDATA">xmlSecBnSetData</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNSETNODEVALUE">xmlSecBnSetNodeValue</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNTODECSTRING">xmlSecBnToDecString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNTOHEXSTRING">xmlSecBnToHexString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNTOSTRING">xmlSecBnToString</a></p></li> +<li><p><a href="xmlsec-bn.html#XMLSECBNZERO">xmlSecBnZero</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERAPPEND">xmlSecBufferAppend</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTREAD">xmlSecBufferBase64NodeContentRead</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTWRITE">xmlSecBufferBase64NodeContentWrite</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERCREATE">xmlSecBufferCreate</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERCREATEOUTPUTBUFFER">xmlSecBufferCreateOutputBuffer</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY">xmlSecBufferDestroy</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFEREMPTY">xmlSecBufferEmpty</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE">xmlSecBufferFinalize</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETDATA">xmlSecBufferGetData</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETMAXSIZE">xmlSecBufferGetMaxSize</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETSIZE">xmlSecBufferGetSize</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE">xmlSecBufferInitialize</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERPREPEND">xmlSecBufferPrepend</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREADFILE">xmlSecBufferReadFile</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVEHEAD">xmlSecBufferRemoveHead</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVETAIL">xmlSecBufferRemoveTail</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETDATA">xmlSecBufferSetData</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETDEFAULTALLOCMODE">xmlSecBufferSetDefaultAllocMode</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETMAXSIZE">xmlSecBufferSetMaxSize</a></p></li> +<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETSIZE">xmlSecBufferSetSize</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECCHECKNODENAME">xmlSecCheckNodeName</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXACT">xmlSecCheckVersionExact</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXT">xmlSecCheckVersionExt</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE">xmlSecCheckVersionMode</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSION">xmlSecCheckVersion</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECCREATETREE">xmlSecCreateTree</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecCryptoAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecCryptoAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecCryptoAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecCryptoAppGetDefaultPwdCallback</a></p></li> +<li><p><font>xmlSecCryptoAppInitMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPINIT">xmlSecCryptoAppInit</a></p></li> +<li><p><font>xmlSecCryptoAppKeyCertLoadMemoryMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOADMEMORY">xmlSecCryptoAppKeyCertLoadMemory</a></p></li> +<li><p><font>xmlSecCryptoAppKeyCertLoadMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOAD">xmlSecCryptoAppKeyCertLoad</a></p></li> +<li><p><font>xmlSecCryptoAppKeyLoadMemoryMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOADMEMORY">xmlSecCryptoAppKeyLoadMemory</a></p></li> +<li><p><font>xmlSecCryptoAppKeyLoadMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOAD">xmlSecCryptoAppKeyLoad</a></p></li> +<li><p><font>xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecCryptoAppKeysMngrCertLoadMemory</a></p></li> +<li><p><font>xmlSecCryptoAppKeysMngrCertLoadMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a></p></li> +<li><p><font>xmlSecCryptoAppPkcs12LoadMemoryMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOADMEMORY">xmlSecCryptoAppPkcs12LoadMemory</a></p></li> +<li><p><font>xmlSecCryptoAppPkcs12LoadMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOAD">xmlSecCryptoAppPkcs12Load</a></p></li> +<li><p><font>xmlSecCryptoAppShutdownMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPSHUTDOWN">xmlSecCryptoAppShutdown</a></p></li> +<li><p><font>xmlSecCryptoDLFunctions</font></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLGETFUNCTIONS">xmlSecCryptoDLGetFunctions</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS">xmlSecCryptoDLGetLibraryFunctions</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLINIT">xmlSecCryptoDLInit</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLSETFUNCTIONS">xmlSecCryptoDLSetFunctions</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLSHUTDOWN">xmlSecCryptoDLShutdown</a></p></li> +<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY">xmlSecCryptoDLUnloadLibrary</a></p></li> +<li><p><font>xmlSecCryptoGetFunctions-gcrypt</font></p></li> +<li><p><font>xmlSecCryptoGetFunctions-gnutls</font></p></li> +<li><p><font>xmlSecCryptoGetFunctions-mscrypto</font></p></li> +<li><p><font>xmlSecCryptoGetFunctions-nss</font></p></li> +<li><p><font>xmlSecCryptoGetFunctions-openssl</font></p></li> +<li><p><font>xmlSecCryptoInitMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a></p></li> +<li><p><font>xmlSecCryptoKeyDataGetKlassMethod</font></p></li> +<li><p><font>xmlSecCryptoKeyDataStoreGetKlassMethod</font></p></li> +<li><p><font>xmlSecCryptoKeysMngrInitMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOKEYSMNGRINIT">xmlSecCryptoKeysMngrInit</a></p></li> +<li><p><font>xmlSecCryptoShutdownMethod</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a></p></li> +<li><p><font>xmlSecCryptoTransformGetKlassMethod</font></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a></p></li> +<li><p><font>XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS</font></p></li> +<li><p><font>XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES</font></p></li> +<li><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNATURE</font></p></li> +<li><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES</font></p></li> +<li><p><font>XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK</font></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a></p></li> +<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXCOPYUSERPREF">xmlSecEncCtxCopyUserPref</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGDUMP">xmlSecEncCtxDebugDump</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGXMLDUMP">xmlSecEncCtxDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecEncCtxDecrypt</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPTTOBUFFER">xmlSecEncCtxDecryptToBuffer</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXRESET">xmlSecEncCtxReset</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a></p></li> +<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a></p></li> +<li><p><font>XMLSEC-ENC-RETURN-REPLACED-NODE</font></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERROR">xmlSecError</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK">xmlSecErrorsCallback</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT">xmlSecErrorsDefaultCallbackEnableOutput</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK">xmlSecErrorsDefaultCallback</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSGETCODE">xmlSecErrorsGetCode</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSGETMSG">xmlSecErrorsGetMsg</a></p></li> +<li><p><font>XMLSEC-ERRORS-HERE</font></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSINIT">xmlSecErrorsInit</a></p></li> +<li><p><font>XMLSEC-ERRORS-MAX-NUMBER</font></p></li> +<li><p><font>XMLSEC-ERRORS-NO-MESSAGE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-ASSERTION</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-HAS-EXPIRED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-ISSUER-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-NOT-FOUND</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-NOT-YET-VALID</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-REVOKED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CERT-VERIFY-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-CRYPTO-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-DATA-NOT-MATCH</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-DISABLED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-DSIG-NO-REFERENCES</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-DATA</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-FORMAT</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE-CONTENT</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-OPERATION</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-RESULT</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-SIZE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-STATUS</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-TYPE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-INVALID-URI-TYPE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-IO-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-KEYDATA-DISABLED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-KEY-NOT-FOUND</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-MALLOC-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-NODE-NOT-FOUND</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-NOT-IMPLEMENTED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-STRDUP-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-TRANSFORM-DISABLED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-UNEXPECTED-NODE</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-XML-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-XMLSEC-FAILED</font></p></li> +<li><p><font>XMLSEC-ERRORS-R-XSLT-FAILED</font></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSSAFESTRING">xmlSecErrorsSafeString</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK">xmlSecErrorsSetCallback</a></p></li> +<li><p><a href="xmlsec-errors.html#XMLSECERRORSSHUTDOWN">xmlSecErrorsShutdown</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECFINDCHILD">xmlSecFindChild</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECFINDNODE">xmlSecFindNode</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECFINDPARENT">xmlSecFindParent</a></p></li> +<li><p><font>XMLSEC-FUNC-TO-PTR</font></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT">xmlSecGCryptAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD">xmlSecGCryptAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE">xmlSecGCryptAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK">xmlSecGCryptAppGetDefaultPwdCallback</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPINIT">xmlSecGCryptAppInit</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOADMEMORY">xmlSecGCryptAppKeyCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOAD">xmlSecGCryptAppKeyCertLoad</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOADMEMORY">xmlSecGCryptAppKeyLoadMemory</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOAD">xmlSecGCryptAppKeyLoad</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY">xmlSecGCryptAppKeysMngrCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOAD">xmlSecGCryptAppKeysMngrCertLoad</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOADMEMORY">xmlSecGCryptAppPkcs12LoadMemory</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOAD">xmlSecGCryptAppPkcs12Load</a></p></li> +<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPSHUTDOWN">xmlSecGCryptAppShutdown</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTGENERATERANDOM">xmlSecGCryptGenerateRandom</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACGETMINOUTPUTLENGTH">xmlSecGCryptHmacGetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACSETMINOUTPUTLENGTH">xmlSecGCryptHmacSetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTINIT">xmlSecGCryptInit</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESGETKLASS">xmlSecGCryptKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESID">xmlSecGCryptKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESSET">xmlSecGCryptKeyDataAesSet</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESGETKLASS">xmlSecGCryptKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESID">xmlSecGCryptKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESSET">xmlSecGCryptKeyDataDesSet</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEY">xmlSecGCryptKeyDataDsaAdoptKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR">xmlSecGCryptKeyDataDsaAdoptKeyPair</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETKLASS">xmlSecGCryptKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY">xmlSecGCryptKeyDataDsaGetPrivateKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPUBLICKEY">xmlSecGCryptKeyDataDsaGetPublicKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAID">xmlSecGCryptKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACGETKLASS">xmlSecGCryptKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACID">xmlSecGCryptKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACSET">xmlSecGCryptKeyDataHmacSet</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEY">xmlSecGCryptKeyDataRsaAdoptKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR">xmlSecGCryptKeyDataRsaAdoptKeyPair</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETKLASS">xmlSecGCryptKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY">xmlSecGCryptKeyDataRsaGetPrivateKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPUBLICKEY">xmlSecGCryptKeyDataRsaGetPublicKey</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAID">xmlSecGCryptKeyDataRsaId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYSMNGRINIT">xmlSecGCryptKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTSHUTDOWN">xmlSecGCryptShutdown</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS">xmlSecGCryptTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCID">xmlSecGCryptTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS">xmlSecGCryptTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCID">xmlSecGCryptTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS">xmlSecGCryptTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCID">xmlSecGCryptTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS">xmlSecGCryptTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCID">xmlSecGCryptTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS">xmlSecGCryptTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1ID">xmlSecGCryptTransformDsaSha1Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS">xmlSecGCryptTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5ID">xmlSecGCryptTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGCryptTransformHmacRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID">xmlSecGCryptTransformHmacRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS">xmlSecGCryptTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1ID">xmlSecGCryptTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS">xmlSecGCryptTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256ID">xmlSecGCryptTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS">xmlSecGCryptTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384ID">xmlSecGCryptTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS">xmlSecGCryptTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512ID">xmlSecGCryptTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128GETKLASS">xmlSecGCryptTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128ID">xmlSecGCryptTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192GETKLASS">xmlSecGCryptTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192ID">xmlSecGCryptTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256GETKLASS">xmlSecGCryptTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256ID">xmlSecGCryptTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3GETKLASS">xmlSecGCryptTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3ID">xmlSecGCryptTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5GETKLASS">xmlSecGCryptTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5ID">xmlSecGCryptTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS">xmlSecGCryptTransformRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160ID">xmlSecGCryptTransformRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS">xmlSecGCryptTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5ID">xmlSecGCryptTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS">xmlSecGCryptTransformRsaRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160ID">xmlSecGCryptTransformRsaRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS">xmlSecGCryptTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1ID">xmlSecGCryptTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS">xmlSecGCryptTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256ID">xmlSecGCryptTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS">xmlSecGCryptTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384ID">xmlSecGCryptTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS">xmlSecGCryptTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512ID">xmlSecGCryptTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1GETKLASS">xmlSecGCryptTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1ID">xmlSecGCryptTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256GETKLASS">xmlSecGCryptTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256ID">xmlSecGCryptTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384GETKLASS">xmlSecGCryptTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384ID">xmlSecGCryptTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512GETKLASS">xmlSecGCryptTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512ID">xmlSecGCryptTransformSha512Id</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGENERATEANDADDID">xmlSecGenerateAndAddID</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGENERATEID">xmlSecGenerateID</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGETHEX">xmlSecGetHex</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK">xmlSecGetKeyCallback</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGETNEXTELEMENTNODE">xmlSecGetNextElementNode</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGETNODENSHREF">xmlSecGetNodeNsHref</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECGETQNAME">xmlSecGetQName</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT">xmlSecGnuTLSAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD">xmlSecGnuTLSAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE">xmlSecGnuTLSAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK">xmlSecGnuTLSAppGetDefaultPwdCallback</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPINIT">xmlSecGnuTLSAppInit</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOADMEMORY">xmlSecGnuTLSAppKeyCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOAD">xmlSecGnuTLSAppKeyCertLoad</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOADMEMORY">xmlSecGnuTLSAppKeyLoadMemory</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOAD">xmlSecGnuTLSAppKeyLoad</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOAD">xmlSecGnuTLSAppKeysMngrCertLoad</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOADMEMORY">xmlSecGnuTLSAppPkcs12LoadMemory</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOAD">xmlSecGnuTLSAppPkcs12Load</a></p></li> +<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPSHUTDOWN">xmlSecGnuTLSAppShutdown</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSGENERATERANDOM">xmlSecGnuTLSGenerateRandom</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACGETMINOUTPUTLENGTH">xmlSecGnuTLSHmacGetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACSETMINOUTPUTLENGTH">xmlSecGnuTLSHmacSetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSINIT">xmlSecGnuTLSInit</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESGETKLASS">xmlSecGnuTLSKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESID">xmlSecGnuTLSKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESSET">xmlSecGnuTLSKeyDataAesSet</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESGETKLASS">xmlSecGnuTLSKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESID">xmlSecGnuTLSKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESSET">xmlSecGnuTLSKeyDataDesSet</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAGETKLASS">xmlSecGnuTLSKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAID">xmlSecGnuTLSKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACGETKLASS">xmlSecGnuTLSKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACID">xmlSecGnuTLSKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACSET">xmlSecGnuTLSKeyDataHmacSet</a></p></li> +<li><p><font>xmlSecGnuTLSKeyDataRawX509CertGetKlass</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataRawX509CertId</font></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAGETKLASS">xmlSecGnuTLSKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAID">xmlSecGnuTLSKeyDataRsaId</a></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509AdoptCert</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509AdoptCrl</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509AdoptKeyCert</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetCert</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetCertsSize</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetCrl</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetCrlsSize</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetKeyCert</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509GetKlass</font></p></li> +<li><p><font>xmlSecGnuTLSKeyDataX509Id</font></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYSMNGRINIT">xmlSecGnuTLSKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSSHUTDOWN">xmlSecGnuTLSShutdown</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS">xmlSecGnuTLSTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCID">xmlSecGnuTLSTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS">xmlSecGnuTLSTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCID">xmlSecGnuTLSTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS">xmlSecGnuTLSTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCID">xmlSecGnuTLSTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS">xmlSecGnuTLSTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCID">xmlSecGnuTLSTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS">xmlSecGnuTLSTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1ID">xmlSecGnuTLSTransformDsaSha1Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS">xmlSecGnuTLSTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5ID">xmlSecGnuTLSTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID">xmlSecGnuTLSTransformHmacRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS">xmlSecGnuTLSTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1ID">xmlSecGnuTLSTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS">xmlSecGnuTLSTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256ID">xmlSecGnuTLSTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS">xmlSecGnuTLSTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384ID">xmlSecGnuTLSTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS">xmlSecGnuTLSTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512ID">xmlSecGnuTLSTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128GETKLASS">xmlSecGnuTLSTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128ID">xmlSecGnuTLSTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192GETKLASS">xmlSecGnuTLSTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192ID">xmlSecGnuTLSTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256GETKLASS">xmlSecGnuTLSTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256ID">xmlSecGnuTLSTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3GETKLASS">xmlSecGnuTLSTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3ID">xmlSecGnuTLSTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5GETKLASS">xmlSecGnuTLSTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5ID">xmlSecGnuTLSTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS">xmlSecGnuTLSTransformRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160ID">xmlSecGnuTLSTransformRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS">xmlSecGnuTLSTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5ID">xmlSecGnuTLSTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160ID">xmlSecGnuTLSTransformRsaRipemd160Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS">xmlSecGnuTLSTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1ID">xmlSecGnuTLSTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS">xmlSecGnuTLSTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256ID">xmlSecGnuTLSTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS">xmlSecGnuTLSTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384ID">xmlSecGnuTLSTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS">xmlSecGnuTLSTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512ID">xmlSecGnuTLSTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1GETKLASS">xmlSecGnuTLSTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1ID">xmlSecGnuTLSTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256GETKLASS">xmlSecGnuTLSTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256ID">xmlSecGnuTLSTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384GETKLASS">xmlSecGnuTLSTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384ID">xmlSecGnuTLSTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512GETKLASS">xmlSecGnuTLSTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512ID">xmlSecGnuTLSTransformSha512Id</a></p></li> +<li><p><font>xmlSecGnuTLSX509CertGetKey</font></p></li> +<li><p><font>xmlSecGnuTLSX509StoreAdoptCert</font></p></li> +<li><p><font>xmlSecGnuTLSX509StoreFindCert</font></p></li> +<li><p><font>xmlSecGnuTLSX509StoreGetKlass</font></p></li> +<li><p><font>xmlSecGnuTLSX509StoreId</font></p></li> +<li><p><font>xmlSecGnuTLSX509StoreVerify</font></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECIOCLEANUPCALLBACKS">xmlSecIOCleanupCallbacks</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECIOINIT">xmlSecIOInit</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECIOREGISTERCALLBACKS">xmlSecIORegisterCallbacks</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECIOREGISTERDEFAULTCALLBACKS">xmlSecIORegisterDefaultCallbacks</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECIOSHUTDOWN">xmlSecIOShutdown</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECISEMPTYNODE">xmlSecIsEmptyNode</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECISEMPTYSTRING">xmlSecIsEmptyString</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECISHEX">xmlSecIsHex</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAAESGETKLASS">xmlSecKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAAESID">xmlSecKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYSIZE">xmlSecKeyDataBinarySize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINREAD">xmlSecKeyDataBinaryValueBinRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINWRITE">xmlSecKeyDataBinaryValueBinWrite</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGDUMP">xmlSecKeyDataBinaryValueDebugDump</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP">xmlSecKeyDataBinaryValueDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDUPLICATE">xmlSecKeyDataBinaryValueDuplicate</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEFINALIZE">xmlSecKeyDataBinaryValueFinalize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETBUFFER">xmlSecKeyDataBinaryValueGetBuffer</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETSIZE">xmlSecKeyDataBinaryValueGetSize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEINITIALIZE">xmlSecKeyDataBinaryValueInitialize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUESETBUFFER">xmlSecKeyDataBinaryValueSetBuffer</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLREAD">xmlSecKeyDataBinaryValueXmlRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLWRITE">xmlSecKeyDataBinaryValueXmlWrite</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">xmlSecKeyDataBinReadMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREAD">xmlSecKeyDataBinRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD">xmlSecKeyDataBinWriteMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITE">xmlSecKeyDataBinWrite</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKID">xmlSecKeyDataCheckId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKSIZE">xmlSecKeyDataCheckSize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKUSAGE">xmlSecKeyDataCheckUsage</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACREATE">xmlSecKeyDataCreate</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD">xmlSecKeyDataDebugDumpMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMP">xmlSecKeyDataDebugDump</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGXMLDUMP">xmlSecKeyDataDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATADESGETKLASS">xmlSecKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATADESID">xmlSecKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY">xmlSecKeyDataDestroy</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATADSAGETKLASS">xmlSecKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATADSAID">xmlSecKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD">xmlSecKeyDataDuplicateMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATE">xmlSecKeyDataDuplicate</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYGETKLASS">xmlSecKeyDataEncryptedKeyGetKlass</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYID">xmlSecKeyDataEncryptedKeyId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD">xmlSecKeyDataFinalizeMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD">xmlSecKeyDataGenerateMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATE">xmlSecKeyDataGenerate</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD">xmlSecKeyDataGetIdentifierMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIER">xmlSecKeyDataGetIdentifier</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETNAME">xmlSecKeyDataGetName</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD">xmlSecKeyDataGetSizeMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZE">xmlSecKeyDataGetSize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD">xmlSecKeyDataGetTypeMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPE">xmlSecKeyDataGetType</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001GETKLASS">xmlSecKeyDataGost2001GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001ID">xmlSecKeyDataGost2001Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAHMACGETKLASS">xmlSecKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAHMACID">xmlSecKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGDUMP">xmlSecKeyDataIdListDebugDump</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGXMLDUMP">xmlSecKeyDataIdListDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYHREF">xmlSecKeyDataIdListFindByHref</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNAME">xmlSecKeyDataIdListFindByName</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNODE">xmlSecKeyDataIdListFindByNode</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFIND">xmlSecKeyDataIdListFind</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTGETKLASS">xmlSecKeyDataIdListGetKlass</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTID">xmlSecKeyDataIdListId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSGET">xmlSecKeyDataIdsGet</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSINIT">xmlSecKeyDataIdsInit</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTERDEFAULT">xmlSecKeyDataIdsRegisterDefault</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTER">xmlSecKeyDataIdsRegister</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSSHUTDOWN">xmlSecKeyDataIdsShutdown</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDUNKNOWN">xmlSecKeyDataIdUnknown</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD">xmlSecKeyDataInitMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAISVALID">xmlSecKeyDataIsValid</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASSGETNAME">xmlSecKeyDataKlassGetName</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASS">xmlSecKeyDataKlass</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTGETKLASS">xmlSecKeyDataListGetKlass</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTID">xmlSecKeyDataListId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyData</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEGETKLASS">xmlSecKeyDataNameGetKlass</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEID">xmlSecKeyDataNameId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTGETKLASS">xmlSecKeyDataRawX509CertGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTID">xmlSecKeyDataRawX509CertId</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODGETKLASS">xmlSecKeyDataRetrievalMethodGetKlass</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODID">xmlSecKeyDataRetrievalMethodId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATARSAGETKLASS">xmlSecKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATARSAID">xmlSecKeyDataRsaId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKID">xmlSecKeyDataStoreCheckId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKSIZE">xmlSecKeyDataStoreCheckSize</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE">xmlSecKeyDataStoreCreate</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY">xmlSecKeyDataStoreDestroy</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD">xmlSecKeyDataStoreFinalizeMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREGETNAME">xmlSecKeyDataStoreGetName</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREIDUNKNOWN">xmlSecKeyDataStoreIdUnknown</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD">xmlSecKeyDataStoreInitializeMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREISVALID">xmlSecKeyDataStoreIsValid</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASSGETNAME">xmlSecKeyDataStoreKlassGetName</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASS">xmlSecKeyDataStoreKlass</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE">xmlSecKeyDataStore</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTGETKLASS">xmlSecKeyDataStorePtrListGetKlass</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTID">xmlSecKeyDataStorePtrListId</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEANY">xmlSecKeyDataTypeAny</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE">xmlSecKeyDataTypeNone</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPERMANENT">xmlSecKeyDataTypePermanent</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPRIVATE">xmlSecKeyDataTypePrivate</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPUBLIC">xmlSecKeyDataTypePublic</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESESSION">xmlSecKeyDataTypeSession</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESYMMETRIC">xmlSecKeyDataTypeSymmetric</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPETRUSTED">xmlSecKeyDataTypeTrusted</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN">xmlSecKeyDataTypeUnknown</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEANY">xmlSecKeyDataUsageAny</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODE">xmlSecKeyDataUsageKeyInfoNode</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEREAD">xmlSecKeyDataUsageKeyInfoNodeRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEWRITE">xmlSecKeyDataUsageKeyInfoNodeWrite</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODE">xmlSecKeyDataUsageKeyValueNode</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEREAD">xmlSecKeyDataUsageKeyValueNodeRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEWRITE">xmlSecKeyDataUsageKeyValueNodeWrite</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE">xmlSecKeyDataUsage</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN">xmlSecKeyDataUsageRetrievalMethodNodeBin</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODE">xmlSecKeyDataUsageRetrievalMethodNode</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML">xmlSecKeyDataUsageRetrievalMethodNodeXml</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEUNKNOWN">xmlSecKeyDataUsageUnknown</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEGETKLASS">xmlSecKeyDataValueGetKlass</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEID">xmlSecKeyDataValueId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAX509GETKLASS">xmlSecKeyDataX509GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECKEYDATAX509ID">xmlSecKeyDataX509Id</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">xmlSecKeyDataXmlReadMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREAD">xmlSecKeyDataXmlRead</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD">xmlSecKeyDataXmlWriteMethod</a></p></li> +<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITE">xmlSecKeyDataXmlWrite</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCOPYUSERPREF">xmlSecKeyInfoCtxCopyUserPref</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATEENCCTX">xmlSecKeyInfoCtxCreateEncCtx</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE">xmlSecKeyInfoCtxCreate</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGDUMP">xmlSecKeyInfoCtxDebugDump</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGXMLDUMP">xmlSecKeyInfoCtxDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY">xmlSecKeyInfoCtxDestroy</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE">xmlSecKeyInfoCtxFinalize</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE">xmlSecKeyInfoCtxInitialize</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtx</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXRESET">xmlSecKeyInfoCtxReset</a></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT</font></p></li> +<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD</font></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEREAD">xmlSecKeyInfoNodeRead</a></p></li> +<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEWRITE">xmlSecKeyInfoNodeWrite</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTDATASTORE">xmlSecKeysMngrAdoptDataStore</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTKEYSSTORE">xmlSecKeysMngrAdoptKeysStore</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE">xmlSecKeysMngrCreate</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY">xmlSecKeysMngrDestroy</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRFINDKEY">xmlSecKeysMngrFindKey</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETDATASTORE">xmlSecKeysMngrGetDataStore</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEY">xmlSecKeysMngrGetKey</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEYSSTORE">xmlSecKeysMngrGetKeysStore</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngr</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKID">xmlSecKeyStoreCheckId</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKSIZE">xmlSecKeyStoreCheckSize</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE">xmlSecKeyStoreCreate</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY">xmlSecKeyStoreDestroy</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD">xmlSecKeyStoreFinalizeMethod</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD">xmlSecKeyStoreFindKeyMethod</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEY">xmlSecKeyStoreFindKey</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREGETNAME">xmlSecKeyStoreGetName</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREIDUNKNOWN">xmlSecKeyStoreIdUnknown</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD">xmlSecKeyStoreInitializeMethod</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREISVALID">xmlSecKeyStoreIsValid</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASSGETNAME">xmlSecKeyStoreKlassGetName</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASS">xmlSecKeyStoreKlass</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE">xmlSecKeyStore</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a></p></li> +<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecMSCryptoAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecMSCryptoAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecMSCryptoAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETCERTSTORENAME">xmlSecMSCryptoAppGetCertStoreName</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecMSCryptoAppGetDefaultPwdCallback</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPINIT">xmlSecMSCryptoAppInit</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY">xmlSecMSCryptoAppKeyCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOAD">xmlSecMSCryptoAppKeyCertLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOADMEMORY">xmlSecMSCryptoAppKeyLoadMemory</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOAD">xmlSecMSCryptoAppKeyLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecMSCryptoAppKeysMngrCertLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOADMEMORY">xmlSecMSCryptoAppPkcs12LoadMemory</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOAD">xmlSecMSCryptoAppPkcs12Load</a></p></li> +<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPSHUTDOWN">xmlSecMSCryptoAppShutdown</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTADOPT">xmlSecMSCryptoCertAdopt</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTDUP">xmlSecMSCryptoCertDup</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUNICODE">xmlSecMSCryptoConvertLocaleToUnicode</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUTF8">xmlSecMSCryptoConvertLocaleToUtf8</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTTSTRTOUTF8">xmlSecMSCryptoConvertTstrToUtf8</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUNICODETOUTF8">xmlSecMSCryptoConvertUnicodeToUtf8</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOLOCALE">xmlSecMSCryptoConvertUtf8ToLocale</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOTSTR">xmlSecMSCryptoConvertUtf8ToTstr</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOUNICODE">xmlSecMSCryptoConvertUtf8ToUnicode</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOERRORSDEFAULTCALLBACK">xmlSecMSCryptoErrorsDefaultCallback</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOGENERATERANDOM">xmlSecMSCryptoGenerateRandom</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH">xmlSecMSCryptoHmacGetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH">xmlSecMSCryptoHmacSetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOINIT">xmlSecMSCryptoInit</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESGETKLASS">xmlSecMSCryptoKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESID">xmlSecMSCryptoKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESSET">xmlSecMSCryptoKeyDataAesSet</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESGETKLASS">xmlSecMSCryptoKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESID">xmlSecMSCryptoKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAGETKLASS">xmlSecMSCryptoKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAID">xmlSecMSCryptoKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETCERT">xmlSecMSCryptoKeyDataGetCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY">xmlSecMSCryptoKeyDataGetDecryptKey</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETKEY">xmlSecMSCryptoKeyDataGetKey</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a></p></li> +<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS">xmlSecMSCryptoKeyDataGost2001GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001ID">xmlSecMSCryptoKeyDataGost2001Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACGETKLASS">xmlSecMSCryptoKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACID">xmlSecMSCryptoKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACSET">xmlSecMSCryptoKeyDataHmacSet</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTID">xmlSecMSCryptoKeyDataRawX509CertId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAGETKLASS">xmlSecMSCryptoKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAID">xmlSecMSCryptoKeyDataRsaId</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCERT">xmlSecMSCryptoKeyDataX509AdoptCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCRL">xmlSecMSCryptoKeyDataX509AdoptCrl</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERT">xmlSecMSCryptoKeyDataX509GetCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE">xmlSecMSCryptoKeyDataX509GetCertsSize</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRL">xmlSecMSCryptoKeyDataX509GetCrl</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE">xmlSecMSCryptoKeyDataX509GetCrlsSize</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKEYCERT">xmlSecMSCryptoKeyDataX509GetKeyCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKLASS">xmlSecMSCryptoKeyDataX509GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ID">xmlSecMSCryptoKeyDataX509Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYSMNGRINIT">xmlSecMSCryptoKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREADOPTKEY">xmlSecMSCryptoKeysStoreAdoptKey</a></p></li> +<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREGETKLASS">xmlSecMSCryptoKeysStoreGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREID">xmlSecMSCryptoKeysStoreId</a></p></li> +<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORELOAD">xmlSecMSCryptoKeysStoreLoad</a></p></li> +<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORESAVE">xmlSecMSCryptoKeysStoreSave</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOSHUTDOWN">xmlSecMSCryptoShutdown</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS">xmlSecMSCryptoTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCID">xmlSecMSCryptoTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS">xmlSecMSCryptoTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCID">xmlSecMSCryptoTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS">xmlSecMSCryptoTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCID">xmlSecMSCryptoTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS">xmlSecMSCryptoTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCID">xmlSecMSCryptoTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS">xmlSecMSCryptoTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1ID">xmlSecMSCryptoTransformDsaSha1Id</a></p></li> +<li><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass</font></p></li> +<li><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94Id</font></p></li> +<li><p><font>xmlSecMSCryptoTransformGostR3411-94GetKlass</font></p></li> +<li><p><font>xmlSecMSCryptoTransformGostR3411-94Id</font></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS">xmlSecMSCryptoTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5ID">xmlSecMSCryptoTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS">xmlSecMSCryptoTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1ID">xmlSecMSCryptoTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS">xmlSecMSCryptoTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256ID">xmlSecMSCryptoTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS">xmlSecMSCryptoTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384ID">xmlSecMSCryptoTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS">xmlSecMSCryptoTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512ID">xmlSecMSCryptoTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS">xmlSecMSCryptoTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128ID">xmlSecMSCryptoTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS">xmlSecMSCryptoTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192ID">xmlSecMSCryptoTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS">xmlSecMSCryptoTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256ID">xmlSecMSCryptoTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS">xmlSecMSCryptoTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3ID">xmlSecMSCryptoTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5GETKLASS">xmlSecMSCryptoTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5ID">xmlSecMSCryptoTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS">xmlSecMSCryptoTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5ID">xmlSecMSCryptoTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS">xmlSecMSCryptoTransformRsaOaepGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPID">xmlSecMSCryptoTransformRsaOaepId</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID">xmlSecMSCryptoTransformRsaPkcs1Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS">xmlSecMSCryptoTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1ID">xmlSecMSCryptoTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS">xmlSecMSCryptoTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256ID">xmlSecMSCryptoTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS">xmlSecMSCryptoTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384ID">xmlSecMSCryptoTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS">xmlSecMSCryptoTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512ID">xmlSecMSCryptoTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS">xmlSecMSCryptoTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1ID">xmlSecMSCryptoTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS">xmlSecMSCryptoTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256ID">xmlSecMSCryptoTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS">xmlSecMSCryptoTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384ID">xmlSecMSCryptoTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS">xmlSecMSCryptoTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512ID">xmlSecMSCryptoTransformSha512Id</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTCERT">xmlSecMSCryptoX509StoreAdoptCert</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTKEYSTORE">xmlSecMSCryptoX509StoreAdoptKeyStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptTrustedStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREGETKLASS">xmlSecMSCryptoX509StoreGetKlass</a></p></li> +<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREID">xmlSecMSCryptoX509StoreId</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECNODEENCODEANDSETCONTENT">xmlSecNodeEncodeAndSetContent</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECNODEGETNAME">xmlSecNodeGetName</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETADDLIST">xmlSecNodeSetAddList</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETADD">xmlSecNodeSetAdd</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETCONTAINS">xmlSecNodeSetContains</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETCREATE">xmlSecNodeSetCreate</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDEBUGDUMP">xmlSecNodeSetDebugDump</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY">xmlSecNodeSetDestroy</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDOCDESTROY">xmlSecNodeSetDocDestroy</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDUMPTEXTNODES">xmlSecNodeSetDumpTextNodes</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETGETCHILDREN">xmlSecNodeSetGetChildren</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSet</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">xmlSecNodeSetWalkCallback</a></p></li> +<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETWALK">xmlSecNodeSetWalk</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecNssAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT">xmlSecNssAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRLOAD">xmlSecNssAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRSAVE">xmlSecNssAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPGETDEFAULTPWDCALLBACK">xmlSecNssAppGetDefaultPwdCallback</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPINIT">xmlSecNssAppInit</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADMEMORY">xmlSecNssAppKeyCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOAD">xmlSecNssAppKeyCertLoad</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADSECITEM">xmlSecNssAppKeyCertLoadSECItem</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYFROMCERTLOADSECITEM">xmlSecNssAppKeyFromCertLoadSECItem</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADMEMORY">xmlSecNssAppKeyLoadMemory</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOAD">xmlSecNssAppKeyLoad</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADSECITEM">xmlSecNssAppKeyLoadSECItem</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY">xmlSecNssAppKeysMngrCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOAD">xmlSecNssAppKeysMngrCertLoad</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM">xmlSecNssAppKeysMngrCertLoadSECItem</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADMEMORY">xmlSecNssAppPkcs12LoadMemory</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOAD">xmlSecNssAppPkcs12Load</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADSECITEM">xmlSecNssAppPkcs12LoadSECItem</a></p></li> +<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPSHUTDOWN">xmlSecNssAppShutdown</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSERRORSDEFAULTCALLBACK">xmlSecNssErrorsDefaultCallback</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSGENERATERANDOM">xmlSecNssGenerateRandom</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSGETINTERNALKEYSLOT">xmlSecNssGetInternalKeySlot</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACGETMINOUTPUTLENGTH">xmlSecNssHmacGetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACSETMINOUTPUTLENGTH">xmlSecNssHmacSetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSINIT">xmlSecNssInit</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESGETKLASS">xmlSecNssKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESID">xmlSecNssKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESSET">xmlSecNssKeyDataAesSet</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESGETKLASS">xmlSecNssKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESID">xmlSecNssKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESSET">xmlSecNssKeyDataDesSet</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAGETKLASS">xmlSecNssKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAID">xmlSecNssKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACGETKLASS">xmlSecNssKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACID">xmlSecNssKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACSET">xmlSecNssKeyDataHmacSet</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTGETKLASS">xmlSecNssKeyDataRawX509CertGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTID">xmlSecNssKeyDataRawX509CertId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAGETKLASS">xmlSecNssKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAID">xmlSecNssKeyDataRsaId</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCERT">xmlSecNssKeyDataX509AdoptCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCRL">xmlSecNssKeyDataX509AdoptCrl</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTKEYCERT">xmlSecNssKeyDataX509AdoptKeyCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERT">xmlSecNssKeyDataX509GetCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERTSSIZE">xmlSecNssKeyDataX509GetCertsSize</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRL">xmlSecNssKeyDataX509GetCrl</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRLSSIZE">xmlSecNssKeyDataX509GetCrlsSize</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKEYCERT">xmlSecNssKeyDataX509GetKeyCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKLASS">xmlSecNssKeyDataX509GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ID">xmlSecNssKeyDataX509Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYSMNGRINIT">xmlSecNssKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREADOPTKEY">xmlSecNssKeysStoreAdoptKey</a></p></li> +<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREGETKLASS">xmlSecNssKeysStoreGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID">xmlSecNssKeysStoreId</a></p></li> +<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORELOAD">xmlSecNssKeysStoreLoad</a></p></li> +<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORESAVE">xmlSecNssKeysStoreSave</a></p></li> +<li><p><a href="xmlsec-nss-bignum.html#XMLSECNSSNODEGETBIGNUMVALUE">xmlSecNssNodeGetBigNumValue</a></p></li> +<li><p><a href="xmlsec-nss-bignum.html#XMLSECNSSNODESETBIGNUMVALUE">xmlSecNssNodeSetBigNumValue</a></p></li> +<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIADOPTKEY">xmlSecNssPKIAdoptKey</a></p></li> +<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATADUPLICATE">xmlSecNssPKIKeyDataDuplicate</a></p></li> +<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETKEYTYPE">xmlSecNssPKIKeyDataGetKeyType</a></p></li> +<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPRIVKEY">xmlSecNssPKIKeyDataGetPrivKey</a></p></li> +<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPUBKEY">xmlSecNssPKIKeyDataGetPubKey</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSSHUTDOWN">xmlSecNssShutdown</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCGETKLASS">xmlSecNssTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCID">xmlSecNssTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCGETKLASS">xmlSecNssTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCID">xmlSecNssTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCGETKLASS">xmlSecNssTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCID">xmlSecNssTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCGETKLASS">xmlSecNssTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCID">xmlSecNssTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1GETKLASS">xmlSecNssTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1ID">xmlSecNssTransformDsaSha1Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5GETKLASS">xmlSecNssTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5ID">xmlSecNssTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecNssTransformHmacRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160ID">xmlSecNssTransformHmacRipemd160Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1GETKLASS">xmlSecNssTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1ID">xmlSecNssTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256GETKLASS">xmlSecNssTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256ID">xmlSecNssTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384GETKLASS">xmlSecNssTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384ID">xmlSecNssTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512GETKLASS">xmlSecNssTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512ID">xmlSecNssTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128GETKLASS">xmlSecNssTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128ID">xmlSecNssTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192GETKLASS">xmlSecNssTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192ID">xmlSecNssTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256GETKLASS">xmlSecNssTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256ID">xmlSecNssTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3GETKLASS">xmlSecNssTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3ID">xmlSecNssTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5GETKLASS">xmlSecNssTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5ID">xmlSecNssTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5GETKLASS">xmlSecNssTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5ID">xmlSecNssTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPGETKLASS">xmlSecNssTransformRsaOaepGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPID">xmlSecNssTransformRsaOaepId</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1GETKLASS">xmlSecNssTransformRsaPkcs1GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1ID">xmlSecNssTransformRsaPkcs1Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1GETKLASS">xmlSecNssTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1ID">xmlSecNssTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256GETKLASS">xmlSecNssTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256ID">xmlSecNssTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384GETKLASS">xmlSecNssTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384ID">xmlSecNssTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512GETKLASS">xmlSecNssTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512ID">xmlSecNssTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1GETKLASS">xmlSecNssTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1ID">xmlSecNssTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256GETKLASS">xmlSecNssTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256ID">xmlSecNssTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384GETKLASS">xmlSecNssTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384ID">xmlSecNssTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512GETKLASS">xmlSecNssTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512ID">xmlSecNssTransformSha512Id</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509CERTGETKEY">xmlSecNssX509CertGetKey</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREADOPTCERT">xmlSecNssX509StoreAdoptCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREFINDCERT">xmlSecNssX509StoreFindCert</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREGETKLASS">xmlSecNssX509StoreGetKlass</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREID">xmlSecNssX509StoreId</a></p></li> +<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREVERIFY">xmlSecNssX509StoreVerify</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT">xmlSecOpenSSLAppDefaultKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD">xmlSecOpenSSLAppDefaultKeysMngrLoad</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE">xmlSecOpenSSLAppDefaultKeysMngrSave</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK">xmlSecOpenSSLAppGetDefaultPwdCallback</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPINIT">xmlSecOpenSSLAppInit</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADBIO">xmlSecOpenSSLAppKeyCertLoadBIO</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADMEMORY">xmlSecOpenSSLAppKeyCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYFROMCERTLOADBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADBIO">xmlSecOpenSSLAppKeyLoadBIO</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADMEMORY">xmlSecOpenSSLAppKeyLoadMemory</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOAD">xmlSecOpenSSLAppKeyLoad</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE">xmlSecOpenSSLAppKeysMngrAddCertsFile</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH">xmlSecOpenSSLAppKeysMngrAddCertsPath</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOAD">xmlSecOpenSSLAppKeysMngrCertLoad</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADBIO">xmlSecOpenSSLAppPkcs12LoadBIO</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADMEMORY">xmlSecOpenSSLAppPkcs12LoadMemory</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a></p></li> +<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPSHUTDOWN">xmlSecOpenSSLAppShutdown</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLERRORSDEFAULTCALLBACK">xmlSecOpenSSLErrorsDefaultCallback</a></p></li> +<li><p><font>XMLSEC-OPENSSL-ERRORS-FUNCTION</font></p></li> +<li><p><font>XMLSEC-OPENSSL-ERRORS-LIB</font></p></li> +<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYADOPT">xmlSecOpenSSLEvpKeyAdopt</a></p></li> +<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAADOPTEVP">xmlSecOpenSSLEvpKeyDataAdoptEvp</a></p></li> +<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAGETEVP">xmlSecOpenSSLEvpKeyDataGetEvp</a></p></li> +<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDUP">xmlSecOpenSSLEvpKeyDup</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGENERATERANDOM">xmlSecOpenSSLGenerateRandom</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACGETMINOUTPUTLENGTH">xmlSecOpenSSLHmacGetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACSETMINOUTPUTLENGTH">xmlSecOpenSSLHmacSetMinOutputLength</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLINIT">xmlSecOpenSSLInit</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESGETKLASS">xmlSecOpenSSLKeyDataAesGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESID">xmlSecOpenSSLKeyDataAesId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESSET">xmlSecOpenSSLKeyDataAesSet</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESGETKLASS">xmlSecOpenSSLKeyDataDesGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESID">xmlSecOpenSSLKeyDataDesId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESSET">xmlSecOpenSSLKeyDataDesSet</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTDSA">xmlSecOpenSSLKeyDataDsaAdoptDsa</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTEVP">xmlSecOpenSSLKeyDataDsaAdoptEvp</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETDSA">xmlSecOpenSSLKeyDataDsaGetDsa</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETEVP">xmlSecOpenSSLKeyDataDsaGetEvp</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETKLASS">xmlSecOpenSSLKeyDataDsaGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAID">xmlSecOpenSSLKeyDataDsaId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACGETKLASS">xmlSecOpenSSLKeyDataHmacGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACID">xmlSecOpenSSLKeyDataHmacId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACSET">xmlSecOpenSSLKeyDataHmacSet</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTID">xmlSecOpenSSLKeyDataRawX509CertId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTEVP">xmlSecOpenSSLKeyDataRsaAdoptEvp</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTRSA">xmlSecOpenSSLKeyDataRsaAdoptRsa</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETEVP">xmlSecOpenSSLKeyDataRsaGetEvp</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETKLASS">xmlSecOpenSSLKeyDataRsaGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETRSA">xmlSecOpenSSLKeyDataRsaGetRsa</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAID">xmlSecOpenSSLKeyDataRsaId</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCERT">xmlSecOpenSSLKeyDataX509AdoptCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCRL">xmlSecOpenSSLKeyDataX509AdoptCrl</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERT">xmlSecOpenSSLKeyDataX509GetCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERTSSIZE">xmlSecOpenSSLKeyDataX509GetCertsSize</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRL">xmlSecOpenSSLKeyDataX509GetCrl</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRLSSIZE">xmlSecOpenSSLKeyDataX509GetCrlsSize</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKEYCERT">xmlSecOpenSSLKeyDataX509GetKeyCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKLASS">xmlSecOpenSSLKeyDataX509GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ID">xmlSecOpenSSLKeyDataX509Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYSMNGRINIT">xmlSecOpenSSLKeysMngrInit</a></p></li> +<li><p><a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODEGETBNVALUE">xmlSecOpenSSLNodeGetBNValue</a></p></li> +<li><p><a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODESETBNVALUE">xmlSecOpenSSLNodeSetBNValue</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSHUTDOWN">xmlSecOpenSSLShutdown</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS">xmlSecOpenSSLTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCID">xmlSecOpenSSLTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS">xmlSecOpenSSLTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCID">xmlSecOpenSSLTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS">xmlSecOpenSSLTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCID">xmlSecOpenSSLTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS">xmlSecOpenSSLTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCID">xmlSecOpenSSLTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS">xmlSecOpenSSLTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1ID">xmlSecOpenSSLTransformDsaSha1Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS">xmlSecOpenSSLTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5ID">xmlSecOpenSSLTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID">xmlSecOpenSSLTransformHmacRipemd160Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS">xmlSecOpenSSLTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1ID">xmlSecOpenSSLTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS">xmlSecOpenSSLTransformHmacSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224ID">xmlSecOpenSSLTransformHmacSha224Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS">xmlSecOpenSSLTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256ID">xmlSecOpenSSLTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS">xmlSecOpenSSLTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384ID">xmlSecOpenSSLTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS">xmlSecOpenSSLTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512ID">xmlSecOpenSSLTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128GETKLASS">xmlSecOpenSSLTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128ID">xmlSecOpenSSLTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192GETKLASS">xmlSecOpenSSLTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192ID">xmlSecOpenSSLTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256GETKLASS">xmlSecOpenSSLTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256ID">xmlSecOpenSSLTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3GETKLASS">xmlSecOpenSSLTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3ID">xmlSecOpenSSLTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5GETKLASS">xmlSecOpenSSLTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5ID">xmlSecOpenSSLTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS">xmlSecOpenSSLTransformRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160ID">xmlSecOpenSSLTransformRipemd160Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS">xmlSecOpenSSLTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5ID">xmlSecOpenSSLTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS">xmlSecOpenSSLTransformRsaOaepGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPID">xmlSecOpenSSLTransformRsaOaepId</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1ID">xmlSecOpenSSLTransformRsaPkcs1Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160ID">xmlSecOpenSSLTransformRsaRipemd160Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS">xmlSecOpenSSLTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1ID">xmlSecOpenSSLTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS">xmlSecOpenSSLTransformRsaSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224ID">xmlSecOpenSSLTransformRsaSha224Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS">xmlSecOpenSSLTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256ID">xmlSecOpenSSLTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS">xmlSecOpenSSLTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384ID">xmlSecOpenSSLTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS">xmlSecOpenSSLTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512ID">xmlSecOpenSSLTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1GETKLASS">xmlSecOpenSSLTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1ID">xmlSecOpenSSLTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224GETKLASS">xmlSecOpenSSLTransformSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224ID">xmlSecOpenSSLTransformSha224Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256GETKLASS">xmlSecOpenSSLTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256ID">xmlSecOpenSSLTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384GETKLASS">xmlSecOpenSSLTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384ID">xmlSecOpenSSLTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512GETKLASS">xmlSecOpenSSLTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512ID">xmlSecOpenSSLTransformSha512Id</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509CERTGETKEY">xmlSecOpenSSLX509CertGetKey</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSFILE">xmlSecOpenSSLX509StoreAddCertsFile</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSPATH">xmlSecOpenSSLX509StoreAddCertsPath</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCERT">xmlSecOpenSSLX509StoreAdoptCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCRL">xmlSecOpenSSLX509StoreAdoptCrl</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREFINDCERT">xmlSecOpenSSLX509StoreFindCert</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREGETKLASS">xmlSecOpenSSLX509StoreGetKlass</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREID">xmlSecOpenSSLX509StoreId</a></p></li> +<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREVERIFY">xmlSecOpenSSLX509StoreVerify</a></p></li> +<li><p><a href="xmlsec-parser.html#XMLSECPARSEFILE">xmlSecParseFile</a></p></li> +<li><p><a href="xmlsec-parser.html#XMLSECPARSEMEMORYEXT">xmlSecParseMemoryExt</a></p></li> +<li><p><a href="xmlsec-parser.html#XMLSECPARSEMEMORY">xmlSecParseMemory</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECPRINTXMLSTRING">xmlSecPrintXmlString</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD">xmlSecPtrDebugDumpItemMethod</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD">xmlSecPtrDestroyItemMethod</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD">xmlSecPtrDuplicateItemMethod</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTADD">xmlSecPtrListAdd</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCHECKID">xmlSecPtrListCheckId</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCOPY">xmlSecPtrListCopy</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCREATE">xmlSecPtrListCreate</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGDUMP">xmlSecPtrListDebugDump</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGXMLDUMP">xmlSecPtrListDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDESTROY">xmlSecPtrListDestroy</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDUPLICATE">xmlSecPtrListDuplicate</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTEMPTY">xmlSecPtrListEmpty</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE">xmlSecPtrListFinalize</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETITEM">xmlSecPtrListGetItem</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETNAME">xmlSecPtrListGetName</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETSIZE">xmlSecPtrListGetSize</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTIDUNKNOWN">xmlSecPtrListIdUnknown</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE">xmlSecPtrListInitialize</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTISVALID">xmlSecPtrListIsValid</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTKLASSGETNAME">xmlSecPtrListKlassGetName</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTKLASS">xmlSecPtrListKlass</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTREMOVEANDRETURN">xmlSecPtrListRemoveAndReturn</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTREMOVE">xmlSecPtrListRemove</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTSETDEFAULTALLOCMODE">xmlSecPtrListSetDefaultAllocMode</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECPTRLISTSET">xmlSecPtrListSet</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECPTR">xmlSecPtr</a></p></li> +<li><p><font>XMLSEC-PTR-TO-FUNC-IMPL</font></p></li> +<li><p><font>XMLSEC-PTR-TO-FUNC</font></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGDUMP">xmlSecQName2BitMaskDebugDump</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGXMLDUMP">xmlSecQName2BitMaskDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASKFROMSTRING">xmlSecQName2BitMaskGetBitMaskFromString</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASK">xmlSecQName2BitMaskGetBitMask</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETINFO">xmlSecQName2BitMaskGetInfo</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK">xmlSecQName2BitMaskGetStringFromBitMask</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFOCONSTPTR">xmlSecQName2BitMaskInfoConstPtr</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFO">xmlSecQName2BitMaskInfo</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESREAD">xmlSecQName2BitMaskNodesRead</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESWRITE">xmlSecQName2BitMaskNodesWrite</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEREAD">xmlSecQName2IntegerAttributeRead</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEWRITE">xmlSecQName2IntegerAttributeWrite</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGDUMP">xmlSecQName2IntegerDebugDump</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGXMLDUMP">xmlSecQName2IntegerDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINFO">xmlSecQName2IntegerGetInfo</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGERFROMSTRING">xmlSecQName2IntegerGetIntegerFromString</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGER">xmlSecQName2IntegerGetInteger</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER">xmlSecQName2IntegerGetStringFromInteger</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFOCONSTPTR">xmlSecQName2IntegerInfoConstPtr</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFO">xmlSecQName2IntegerInfo</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEREAD">xmlSecQName2IntegerNodeRead</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEWRITE">xmlSecQName2IntegerNodeWrite</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENTANDRETURN">xmlSecReplaceContentAndReturn</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENT">xmlSecReplaceContent</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEANDRETURN">xmlSecReplaceNodeAndReturn</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFERANDRETURN">xmlSecReplaceNodeBufferAndReturn</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFER">xmlSecReplaceNodeBuffer</a></p></li> +<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODE">xmlSecReplaceNode</a></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREADOPTKEY">xmlSecSimpleKeysStoreAdoptKey</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKEYS">xmlSecSimpleKeysStoreGetKeys</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKLASS">xmlSecSimpleKeysStoreGetKlass</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">xmlSecSimpleKeysStoreId</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORELOAD">xmlSecSimpleKeysStoreLoad</a></p></li> +<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORESAVE">xmlSecSimpleKeysStoreSave</a></p></li> +<li><p><font>XMLSEC-SIZE-BAD-CAST</font></p></li> +<li><p><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a></p></li> +<li><p><font>xmlSecSoap11AddBodyEntry</font></p></li> +<li><p><font>xmlSecSoap11AddFaultEntry</font></p></li> +<li><p><font>xmlSecSoap11CheckEnvelope</font></p></li> +<li><p><font>xmlSecSoap11CreateEnvelope</font></p></li> +<li><p><font>xmlSecSoap11EnsureHeader</font></p></li> +<li><p><font>xmlSecSoap11GetBodyEntriesNumber</font></p></li> +<li><p><font>xmlSecSoap11GetBodyEntry</font></p></li> +<li><p><font>xmlSecSoap11GetBody</font></p></li> +<li><p><font>xmlSecSoap11GetFaultEntry</font></p></li> +<li><p><font>xmlSecSoap11GetHeader</font></p></li> +<li><p><font>xmlSecSoap12AddBodyEntry</font></p></li> +<li><p><font>xmlSecSoap12AddFaultDetailEntry</font></p></li> +<li><p><font>xmlSecSoap12AddFaultEntry</font></p></li> +<li><p><font>xmlSecSoap12AddFaultReasonText</font></p></li> +<li><p><font>xmlSecSoap12AddFaultSubcode</font></p></li> +<li><p><font>xmlSecSoap12CheckEnvelope</font></p></li> +<li><p><font>xmlSecSoap12CreateEnvelope</font></p></li> +<li><p><font>xmlSecSoap12EnsureHeader</font></p></li> +<li><p><font>xmlSecSoap12FaultCode</font></p></li> +<li><p><font>xmlSecSoap12GetBodyEntriesNumber</font></p></li> +<li><p><font>xmlSecSoap12GetBodyEntry</font></p></li> +<li><p><font>xmlSecSoap12GetBody</font></p></li> +<li><p><font>xmlSecSoap12GetFaultEntry</font></p></li> +<li><p><font>xmlSecSoap12GetHeader</font></p></li> +<li><p><font>XMLSEC-STACK-OF-X509-CRL</font></p></li> +<li><p><font>XMLSEC-STACK-OF-X509</font></p></li> +<li><p><a href="xmlsec-list.html#XMLSECSTRINGLISTGETKLASS">xmlSecStringListGetKlass</a></p></li> +<li><p><a href="xmlsec-list.html#XMLSECSTRINGLISTID">xmlSecStringListId</a></p></li> +<li><p><font>xmlSecStrPrintf</font></p></li> +<li><p><font>xmlSecStrVPrintf</font></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLCIPHERREFERENCEADDTRANSFORM">xmlSecTmplCipherReferenceAddTransform</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAADDENCPROPERTY">xmlSecTmplEncDataAddEncProperty</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATACREATE">xmlSecTmplEncDataCreate</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERREFERENCE">xmlSecTmplEncDataEnsureCipherReference</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERVALUE">xmlSecTmplEncDataEnsureCipherValue</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREENCPROPERTIES">xmlSecTmplEncDataEnsureEncProperties</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREKEYINFO">xmlSecTmplEncDataEnsureKeyInfo</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAGETENCMETHODNODE">xmlSecTmplEncDataGetEncMethodNode</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDENCRYPTEDKEY">xmlSecTmplKeyInfoAddEncryptedKey</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYNAME">xmlSecTmplKeyInfoAddKeyName</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYVALUE">xmlSecTmplKeyInfoAddKeyValue</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDRETRIEVALMETHOD">xmlSecTmplKeyInfoAddRetrievalMethod</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDX509DATA">xmlSecTmplKeyInfoAddX509Data</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLMANIFESTADDREFERENCE">xmlSecTmplManifestAddReference</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDMANIFEST">xmlSecTmplObjectAddManifest</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDSIGNPROPERTIES">xmlSecTmplObjectAddSignProperties</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCEADDTRANSFORM">xmlSecTmplReferenceAddTransform</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDDATAREFERENCE">xmlSecTmplReferenceListAddDataReference</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDKEYREFERENCE">xmlSecTmplReferenceListAddKeyReference</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLRETRIEVALMETHODADDTRANSFORM">xmlSecTmplRetrievalMethodAddTransform</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDOBJECT">xmlSecTmplSignatureAddObject</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDREFERENCE">xmlSecTmplSignatureAddReference</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATE">xmlSecTmplSignatureCreate</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATENSPREF">xmlSecTmplSignatureCreateNsPref</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREENSUREKEYINFO">xmlSecTmplSignatureEnsureKeyInfo</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETC14NMETHODNODE">xmlSecTmplSignatureGetC14NMethodNode</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETSIGNMETHODNODE">xmlSecTmplSignatureGetSignMethodNode</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES">xmlSecTmplTransformAddC14NInclNamespaces</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH">xmlSecTmplTransformAddHmacOutputLength</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDRSAOAEPPARAM">xmlSecTmplTransformAddRsaOaepParam</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH2">xmlSecTmplTransformAddXPath2</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH">xmlSecTmplTransformAddXPath</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPOINTER">xmlSecTmplTransformAddXPointer</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET">xmlSecTmplTransformAddXsltStylesheet</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCERTIFICATE">xmlSecTmplX509DataAddCertificate</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCRL">xmlSecTmplX509DataAddCRL</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDISSUERSERIAL">xmlSecTmplX509DataAddIssuerSerial</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSKI">xmlSecTmplX509DataAddSKI</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSUBJECTNAME">xmlSecTmplX509DataAddSubjectName</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDISSUERNAME">xmlSecTmplX509IssuerSerialAddIssuerName</a></p></li> +<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER">xmlSecTmplX509IssuerSerialAddSerialNumber</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCGETKLASS">xmlSecTransformAes128CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCID">xmlSecTransformAes128CbcId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCGETKLASS">xmlSecTransformAes192CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCID">xmlSecTransformAes192CbcId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCGETKLASS">xmlSecTransformAes256CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCID">xmlSecTransformAes256CbcId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a></p></li> +<li><p><font>XMLSEC-TRANSFORM-BINARY-CHUNK</font></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a></p></li> +<li><p><font>XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK</font></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">xmlSecTransformCtxPreExecuteCallback</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCGETKLASS">xmlSecTransformDes3CbcGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCID">xmlSecTransformDes3CbcId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1GETKLASS">xmlSecTransformDsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1ID">xmlSecTransformDsaSha1Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">xmlSecTransformExecuteMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">xmlSecTransformFinalizeMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">xmlSecTransformGetDataTypeMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a></p></li> +<li><p><font>xmlSecTransformGost2001GostR3411-94GetKlass</font></p></li> +<li><p><font>xmlSecTransformGost2001GostR3411-94Id</font></p></li> +<li><p><font>xmlSecTransformGostR3411-94GetKlass</font></p></li> +<li><p><font>xmlSecTransformGostR3411-94Id</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5GETKLASS">xmlSecTransformHmacMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5ID">xmlSecTransformHmacMd5Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160GETKLASS">xmlSecTransformHmacRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160ID">xmlSecTransformHmacRipemd160Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1GETKLASS">xmlSecTransformHmacSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1ID">xmlSecTransformHmacSha1Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224GETKLASS">xmlSecTransformHmacSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224ID">xmlSecTransformHmacSha224Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256GETKLASS">xmlSecTransformHmacSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256ID">xmlSecTransformHmacSha256Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384GETKLASS">xmlSecTransformHmacSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384ID">xmlSecTransformHmacSha384Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512GETKLASS">xmlSecTransformHmacSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512ID">xmlSecTransformHmacSha512Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">xmlSecTransformInitializeMethod</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIGETKLASS">xmlSecTransformInputURIGetKlass</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIID">xmlSecTransformInputURIId</a></p></li> +<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIOPEN">xmlSecTransformInputURIOpen</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128GETKLASS">xmlSecTransformKWAes128GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128ID">xmlSecTransformKWAes128Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192GETKLASS">xmlSecTransformKWAes192GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192ID">xmlSecTransformKWAes192Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256GETKLASS">xmlSecTransformKWAes256GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256ID">xmlSecTransformKWAes256Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3GETKLASS">xmlSecTransformKWDes3GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3ID">xmlSecTransformKWDes3Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMMD5GETKLASS">xmlSecTransformMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMMD5ID">xmlSecTransformMd5Id</a></p></li> +<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETBUFFER">xmlSecTransformMemBufGetBuffer</a></p></li> +<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETKLASS">xmlSecTransformMemBufGetKlass</a></p></li> +<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFID">xmlSecTransformMemBufId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">xmlSecTransformNodeReadMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">xmlSecTransformNodeWriteMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">xmlSecTransformPopBinMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">xmlSecTransformPopXmlMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">xmlSecTransformPushBinMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">xmlSecTransformPushXmlMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160GETKLASS">xmlSecTransformRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160ID">xmlSecTransformRipemd160Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5GETKLASS">xmlSecTransformRsaMd5GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5ID">xmlSecTransformRsaMd5Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPGETKLASS">xmlSecTransformRsaOaepGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPID">xmlSecTransformRsaOaepId</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1GETKLASS">xmlSecTransformRsaPkcs1GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1ID">xmlSecTransformRsaPkcs1Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160GETKLASS">xmlSecTransformRsaRipemd160GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160ID">xmlSecTransformRsaRipemd160Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1GETKLASS">xmlSecTransformRsaSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1ID">xmlSecTransformRsaSha1Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224GETKLASS">xmlSecTransformRsaSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224ID">xmlSecTransformRsaSha224Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256GETKLASS">xmlSecTransformRsaSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256ID">xmlSecTransformRsaSha256Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384GETKLASS">xmlSecTransformRsaSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384ID">xmlSecTransformRsaSha384Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512GETKLASS">xmlSecTransformRsaSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512ID">xmlSecTransformRsaSha512Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">xmlSecTransformSetKeyMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">xmlSecTransformSetKeyRequirementsMethod</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1GETKLASS">xmlSecTransformSha1GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1ID">xmlSecTransformSha1Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224GETKLASS">xmlSecTransformSha224GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224ID">xmlSecTransformSha224Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256GETKLASS">xmlSecTransformSha256GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256ID">xmlSecTransformSha256Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384GETKLASS">xmlSecTransformSha384GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384ID">xmlSecTransformSha384Id</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512GETKLASS">xmlSecTransformSha512GetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512ID">xmlSecTransformSha512Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">xmlSecTransformVerifyMethod</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a></p></li> +<li><p><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERGETKLASS">xmlSecTransformXmlParserGetKlass</a></p></li> +<li><p><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERID">xmlSecTransformXmlParserId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a></p></li> +<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a></p></li> +<li><p><font>XMLSEC-VERSION-INFO</font></p></li> +<li><p><font>XMLSEC-VERSION-MAJOR</font></p></li> +<li><p><font>XMLSEC-VERSION-MINOR</font></p></li> +<li><p><font>XMLSEC-VERSION</font></p></li> +<li><p><font>XMLSEC-VERSION-SUBMINOR</font></p></li> +<li><p><font>XMLSEC-X509DATA-CERTIFICATE-NODE</font></p></li> +<li><p><font>XMLSEC-X509DATA-CRL-NODE</font></p></li> +<li><p><font>XMLSEC-X509DATA-DEFAULT</font></p></li> +<li><p><a href="xmlsec-x509.html#XMLSECX509DATAGETNODECONTENT">xmlSecX509DataGetNodeContent</a></p></li> +<li><p><font>XMLSEC-X509DATA-ISSUERSERIAL-NODE</font></p></li> +<li><p><font>XMLSEC-X509DATA-SKI-NODE</font></p></li> +<li><p><font>XMLSEC-X509DATA-SUBJECTNAME-NODE</font></p></li> +<li><p><a href="xmlsec-app.html#XMLSECX509STOREGETKLASS">xmlSecX509StoreGetKlass</a></p></li> +<li><p><a href="xmlsec-app.html#XMLSECX509STOREID">xmlSecX509StoreId</a></p></li> +</ul> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-x509.html"><b><<< x509</b></a></td> +<td align="right"></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-index.sgml b/docs/api/xmlsec-index.sgml new file mode 100644 index 00000000..71071fa3 --- /dev/null +++ b/docs/api/xmlsec-index.sgml @@ -0,0 +1,1471 @@ +<listitem><para><link linkend="ATTRIBUTE-UNUSED-CAPS">ATTRIBUTE-UNUSED</link></para></listitem> +<listitem><para><link linkend="xmlEncCtxMode">xmlEncCtxMode</link></para></listitem> +<listitem><para><link linkend="xmlSecAddChild">xmlSecAddChild</link></para></listitem> +<listitem><para><link linkend="xmlSecAddChildNode">xmlSecAddChildNode</link></para></listitem> +<listitem><para><link linkend="xmlSecAddIDs">xmlSecAddIDs</link></para></listitem> +<listitem><para><link linkend="xmlSecAddNextSibling">xmlSecAddNextSibling</link></para></listitem> +<listitem><para><link linkend="xmlSecAddPrevSibling">xmlSecAddPrevSibling</link></para></listitem> +<listitem><para><link linkend="xmlSecAllocMode">xmlSecAllocMode</link></para></listitem> +<listitem><para><link linkend="xmlSecAssert2">xmlSecAssert2</link></para></listitem> +<listitem><para><link linkend="xmlSecAssert">xmlSecAssert</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxCreate">xmlSecBase64CtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxDestroy">xmlSecBase64CtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxFinalize">xmlSecBase64CtxFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxFinal">xmlSecBase64CtxFinal</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxInitialize">xmlSecBase64CtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64CtxUpdate">xmlSecBase64CtxUpdate</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64Decode">xmlSecBase64Decode</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64Encode">xmlSecBase64Encode</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64GetDefaultLineSize">xmlSecBase64GetDefaultLineSize</link></para></listitem> +<listitem><para><link linkend="XMLSEC-BASE64-LINESIZE-CAPS">XMLSEC-BASE64-LINESIZE</link></para></listitem> +<listitem><para><link linkend="xmlSecBase64SetDefaultLineSize">xmlSecBase64SetDefaultLineSize</link></para></listitem> +<listitem><para><link linkend="xmlSecBitMask">xmlSecBitMask</link></para></listitem> +<listitem><para><link linkend="xmlSecBnAdd">xmlSecBnAdd</link></para></listitem> +<listitem><para><link linkend="xmlSecBnBlobSetNodeValue">xmlSecBnBlobSetNodeValue</link></para></listitem> +<listitem><para><link linkend="xmlSecBnCompare">xmlSecBnCompare</link></para></listitem> +<listitem><para><link linkend="xmlSecBnCompareReverse">xmlSecBnCompareReverse</link></para></listitem> +<listitem><para><link linkend="xmlSecBnCreate">xmlSecBnCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecBnDestroy">xmlSecBnDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecBnDiv">xmlSecBnDiv</link></para></listitem> +<listitem><para><link linkend="xmlSecBnFinalize">xmlSecBnFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecBnFormat">xmlSecBnFormat</link></para></listitem> +<listitem><para><link linkend="xmlSecBnFromDecString">xmlSecBnFromDecString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnFromHexString">xmlSecBnFromHexString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnFromString">xmlSecBnFromString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnGetData">xmlSecBnGetData</link></para></listitem> +<listitem><para><link linkend="xmlSecBnGetNodeValue">xmlSecBnGetNodeValue</link></para></listitem> +<listitem><para><link linkend="xmlSecBnGetSize">xmlSecBnGetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecBnInitialize">xmlSecBnInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecBnMul">xmlSecBnMul</link></para></listitem> +<listitem><para><link linkend="xmlSecBnReverse">xmlSecBnReverse</link></para></listitem> +<listitem><para><link linkend="xmlSecBnSetData">xmlSecBnSetData</link></para></listitem> +<listitem><para><link linkend="xmlSecBnSetNodeValue">xmlSecBnSetNodeValue</link></para></listitem> +<listitem><para><link linkend="xmlSecBnToDecString">xmlSecBnToDecString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnToHexString">xmlSecBnToHexString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnToString">xmlSecBnToString</link></para></listitem> +<listitem><para><link linkend="xmlSecBnZero">xmlSecBnZero</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferAppend">xmlSecBufferAppend</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferBase64NodeContentRead">xmlSecBufferBase64NodeContentRead</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferBase64NodeContentWrite">xmlSecBufferBase64NodeContentWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferCreate">xmlSecBufferCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferCreateOutputBuffer">xmlSecBufferCreateOutputBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferDestroy">xmlSecBufferDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferEmpty">xmlSecBufferEmpty</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferFinalize">xmlSecBufferFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferGetData">xmlSecBufferGetData</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferGetMaxSize">xmlSecBufferGetMaxSize</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferGetSize">xmlSecBufferGetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferInitialize">xmlSecBufferInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecBuffer">xmlSecBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferPrepend">xmlSecBufferPrepend</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferReadFile">xmlSecBufferReadFile</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferRemoveHead">xmlSecBufferRemoveHead</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferRemoveTail">xmlSecBufferRemoveTail</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferSetData">xmlSecBufferSetData</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferSetDefaultAllocMode">xmlSecBufferSetDefaultAllocMode</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferSetMaxSize">xmlSecBufferSetMaxSize</link></para></listitem> +<listitem><para><link linkend="xmlSecBufferSetSize">xmlSecBufferSetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecByte">xmlSecByte</link></para></listitem> +<listitem><para><link linkend="xmlSecCheckNodeName">xmlSecCheckNodeName</link></para></listitem> +<listitem><para><link linkend="xmlSecCheckVersionExact">xmlSecCheckVersionExact</link></para></listitem> +<listitem><para><link linkend="xmlSecCheckVersionExt">xmlSecCheckVersionExt</link></para></listitem> +<listitem><para><link linkend="xmlSecCheckVersionMode">xmlSecCheckVersionMode</link></para></listitem> +<listitem><para><link linkend="xmlSecCheckVersion">xmlSecCheckVersion</link></para></listitem> +<listitem><para><link linkend="xmlSecCreateTree">xmlSecCreateTree</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppDefaultKeysMngrAdoptKey">xmlSecCryptoAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppDefaultKeysMngrInit">xmlSecCryptoAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppDefaultKeysMngrLoad">xmlSecCryptoAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppDefaultKeysMngrSave">xmlSecCryptoAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppGetDefaultPwdCallback">xmlSecCryptoAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppInitMethod">xmlSecCryptoAppInitMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppInit">xmlSecCryptoAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyCertLoadMemoryMethod">xmlSecCryptoAppKeyCertLoadMemoryMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyCertLoadMemory">xmlSecCryptoAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyCertLoadMethod">xmlSecCryptoAppKeyCertLoadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyCertLoad">xmlSecCryptoAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyLoadMemoryMethod">xmlSecCryptoAppKeyLoadMemoryMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyLoadMemory">xmlSecCryptoAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyLoadMethod">xmlSecCryptoAppKeyLoadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeyLoad">xmlSecCryptoAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod">xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeysMngrCertLoadMemory">xmlSecCryptoAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeysMngrCertLoadMethod">xmlSecCryptoAppKeysMngrCertLoadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppKeysMngrCertLoad">xmlSecCryptoAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppPkcs12LoadMemoryMethod">xmlSecCryptoAppPkcs12LoadMemoryMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppPkcs12LoadMemory">xmlSecCryptoAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppPkcs12LoadMethod">xmlSecCryptoAppPkcs12LoadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppPkcs12Load">xmlSecCryptoAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppShutdownMethod">xmlSecCryptoAppShutdownMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoAppShutdown">xmlSecCryptoAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLFunctions">xmlSecCryptoDLFunctions</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLGetFunctions">xmlSecCryptoDLGetFunctions</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLGetLibraryFunctions">xmlSecCryptoDLGetLibraryFunctions</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLInit">xmlSecCryptoDLInit</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLLoadLibrary">xmlSecCryptoDLLoadLibrary</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLSetFunctions">xmlSecCryptoDLSetFunctions</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLShutdown">xmlSecCryptoDLShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoDLUnloadLibrary">xmlSecCryptoDLUnloadLibrary</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoGetFunctions-gcrypt-CAPS">xmlSecCryptoGetFunctions-gcrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoGetFunctions-gnutls-CAPS">xmlSecCryptoGetFunctions-gnutls</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoGetFunctions-mscrypto-CAPS">xmlSecCryptoGetFunctions-mscrypto</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoGetFunctions-nss-CAPS">xmlSecCryptoGetFunctions-nss</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoGetFunctions-openssl-CAPS">xmlSecCryptoGetFunctions-openssl</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoInitMethod">xmlSecCryptoInitMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoInit">xmlSecCryptoInit</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoKeyDataStoreGetKlassMethod">xmlSecCryptoKeyDataStoreGetKlassMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoKeysMngrInitMethod">xmlSecCryptoKeysMngrInitMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoKeysMngrInit">xmlSecCryptoKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoShutdownMethod">xmlSecCryptoShutdownMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoShutdown">xmlSecCryptoShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxCreate">xmlSecDSigCtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxDebugDump">xmlSecDSigCtxDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxDebugXmlDump">xmlSecDSigCtxDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxDestroy">xmlSecDSigCtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxEnableReferenceTransform">xmlSecDSigCtxEnableReferenceTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxEnableSignatureTransform">xmlSecDSigCtxEnableSignatureTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxFinalize">xmlSecDSigCtxFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxGetPreSignBuffer">xmlSecDSigCtxGetPreSignBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxInitialize">xmlSecDSigCtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtx">xmlSecDSigCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxSign">xmlSecDSigCtxSign</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigCtxVerify">xmlSecDSigCtxVerify</link></para></listitem> +<listitem><para><link linkend="XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS-CAPS">XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS</link></para></listitem> +<listitem><para><link linkend="XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES-CAPS">XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES</link></para></listitem> +<listitem><para><link linkend="XMLSEC-DSIG-FLAGS-STORE-SIGNATURE-CAPS">XMLSEC-DSIG-FLAGS-STORE-SIGNATURE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES-CAPS">XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES</link></para></listitem> +<listitem><para><link linkend="XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK-CAPS">XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxCreate">xmlSecDSigReferenceCtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxDebugDump">xmlSecDSigReferenceCtxDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxDebugXmlDump">xmlSecDSigReferenceCtxDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxDestroy">xmlSecDSigReferenceCtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxFinalize">xmlSecDSigReferenceCtxFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxGetPreDigestBuffer">xmlSecDSigReferenceCtxGetPreDigestBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxInitialize">xmlSecDSigReferenceCtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxListGetKlass">xmlSecDSigReferenceCtxListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxListId">xmlSecDSigReferenceCtxListId</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtx">xmlSecDSigReferenceCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceCtxProcessNode">xmlSecDSigReferenceCtxProcessNode</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigReferenceOrigin">xmlSecDSigReferenceOrigin</link></para></listitem> +<listitem><para><link linkend="xmlSecDSigStatus">xmlSecDSigStatus</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxBinaryEncrypt">xmlSecEncCtxBinaryEncrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxCopyUserPref">xmlSecEncCtxCopyUserPref</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxCreate">xmlSecEncCtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxDebugDump">xmlSecEncCtxDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxDebugXmlDump">xmlSecEncCtxDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxDecrypt">xmlSecEncCtxDecrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxDecryptToBuffer">xmlSecEncCtxDecryptToBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxDestroy">xmlSecEncCtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxFinalize">xmlSecEncCtxFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxInitialize">xmlSecEncCtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtx">xmlSecEncCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxReset">xmlSecEncCtxReset</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxUriEncrypt">xmlSecEncCtxUriEncrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecEncCtxXmlEncrypt">xmlSecEncCtxXmlEncrypt</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ENC-RETURN-REPLACED-NODE-CAPS">XMLSEC-ENC-RETURN-REPLACED-NODE</link></para></listitem> +<listitem><para><link linkend="xmlSecError">xmlSecError</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsCallback">xmlSecErrorsCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsDefaultCallbackEnableOutput">xmlSecErrorsDefaultCallbackEnableOutput</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsDefaultCallback">xmlSecErrorsDefaultCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsGetCode">xmlSecErrorsGetCode</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsGetMsg">xmlSecErrorsGetMsg</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-HERE-CAPS">XMLSEC-ERRORS-HERE</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsInit">xmlSecErrorsInit</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-MAX-NUMBER-CAPS">XMLSEC-ERRORS-MAX-NUMBER</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-NO-MESSAGE-CAPS">XMLSEC-ERRORS-NO-MESSAGE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-ASSERTION-CAPS">XMLSEC-ERRORS-R-ASSERTION</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-HAS-EXPIRED-CAPS">XMLSEC-ERRORS-R-CERT-HAS-EXPIRED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-ISSUER-FAILED-CAPS">XMLSEC-ERRORS-R-CERT-ISSUER-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-NOT-FOUND-CAPS">XMLSEC-ERRORS-R-CERT-NOT-FOUND</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-NOT-YET-VALID-CAPS">XMLSEC-ERRORS-R-CERT-NOT-YET-VALID</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-REVOKED-CAPS">XMLSEC-ERRORS-R-CERT-REVOKED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CERT-VERIFY-FAILED-CAPS">XMLSEC-ERRORS-R-CERT-VERIFY-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-CRYPTO-FAILED-CAPS">XMLSEC-ERRORS-R-CRYPTO-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-DATA-NOT-MATCH-CAPS">XMLSEC-ERRORS-R-DATA-NOT-MATCH</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-DISABLED-CAPS">XMLSEC-ERRORS-R-DISABLED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE-CAPS">XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-DSIG-NO-REFERENCES-CAPS">XMLSEC-ERRORS-R-DSIG-NO-REFERENCES</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-DATA-CAPS">XMLSEC-ERRORS-R-INVALID-DATA</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-FORMAT-CAPS">XMLSEC-ERRORS-R-INVALID-FORMAT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-KEY-DATA-CAPS">XMLSEC-ERRORS-R-INVALID-KEY-DATA</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE-CAPS">XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE-CAPS">XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-NODE-CONTENT-CAPS">XMLSEC-ERRORS-R-INVALID-NODE-CONTENT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-NODE-CAPS">XMLSEC-ERRORS-R-INVALID-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-OPERATION-CAPS">XMLSEC-ERRORS-R-INVALID-OPERATION</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-RESULT-CAPS">XMLSEC-ERRORS-R-INVALID-RESULT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-SIZE-CAPS">XMLSEC-ERRORS-R-INVALID-SIZE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-STATUS-CAPS">XMLSEC-ERRORS-R-INVALID-STATUS</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY-CAPS">XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-TRANSFORM-CAPS">XMLSEC-ERRORS-R-INVALID-TRANSFORM</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-TYPE-CAPS">XMLSEC-ERRORS-R-INVALID-TYPE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-INVALID-URI-TYPE-CAPS">XMLSEC-ERRORS-R-INVALID-URI-TYPE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-IO-FAILED-CAPS">XMLSEC-ERRORS-R-IO-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST-CAPS">XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-KEYDATA-DISABLED-CAPS">XMLSEC-ERRORS-R-KEYDATA-DISABLED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND-CAPS">XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-KEY-NOT-FOUND-CAPS">XMLSEC-ERRORS-R-KEY-NOT-FOUND</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-MALLOC-FAILED-CAPS">XMLSEC-ERRORS-R-MALLOC-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL-CAPS">XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL-CAPS">XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH-CAPS">XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE-CAPS">XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT-CAPS">XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-NODE-NOT-FOUND-CAPS">XMLSEC-ERRORS-R-NODE-NOT-FOUND</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-NOT-IMPLEMENTED-CAPS">XMLSEC-ERRORS-R-NOT-IMPLEMENTED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-STRDUP-FAILED-CAPS">XMLSEC-ERRORS-R-STRDUP-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-TRANSFORM-DISABLED-CAPS">XMLSEC-ERRORS-R-TRANSFORM-DISABLED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED-CAPS">XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-UNEXPECTED-NODE-CAPS">XMLSEC-ERRORS-R-UNEXPECTED-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-XML-FAILED-CAPS">XMLSEC-ERRORS-R-XML-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-XMLSEC-FAILED-CAPS">XMLSEC-ERRORS-R-XMLSEC-FAILED</link></para></listitem> +<listitem><para><link linkend="XMLSEC-ERRORS-R-XSLT-FAILED-CAPS">XMLSEC-ERRORS-R-XSLT-FAILED</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsSafeString">xmlSecErrorsSafeString</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsSetCallback">xmlSecErrorsSetCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecErrorsShutdown">xmlSecErrorsShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecFindChild">xmlSecFindChild</link></para></listitem> +<listitem><para><link linkend="xmlSecFindNode">xmlSecFindNode</link></para></listitem> +<listitem><para><link linkend="xmlSecFindParent">xmlSecFindParent</link></para></listitem> +<listitem><para><link linkend="XMLSEC-FUNC-TO-PTR-CAPS">XMLSEC-FUNC-TO-PTR</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppDefaultKeysMngrAdoptKey">xmlSecGCryptAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppDefaultKeysMngrInit">xmlSecGCryptAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppDefaultKeysMngrLoad">xmlSecGCryptAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppDefaultKeysMngrSave">xmlSecGCryptAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppGetDefaultPwdCallback">xmlSecGCryptAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppInit">xmlSecGCryptAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeyCertLoadMemory">xmlSecGCryptAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeyCertLoad">xmlSecGCryptAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeyLoadMemory">xmlSecGCryptAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeyLoad">xmlSecGCryptAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeysMngrCertLoadMemory">xmlSecGCryptAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppKeysMngrCertLoad">xmlSecGCryptAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppPkcs12LoadMemory">xmlSecGCryptAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppPkcs12Load">xmlSecGCryptAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptAppShutdown">xmlSecGCryptAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptGenerateRandom">xmlSecGCryptGenerateRandom</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptHmacGetMinOutputLength">xmlSecGCryptHmacGetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptHmacSetMinOutputLength">xmlSecGCryptHmacSetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptInit">xmlSecGCryptInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataAesGetKlass">xmlSecGCryptKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataAesId">xmlSecGCryptKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataAesSet">xmlSecGCryptKeyDataAesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDesGetKlass">xmlSecGCryptKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDesId">xmlSecGCryptKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDesSet">xmlSecGCryptKeyDataDesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaAdoptKey">xmlSecGCryptKeyDataDsaAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaAdoptKeyPair">xmlSecGCryptKeyDataDsaAdoptKeyPair</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaGetKlass">xmlSecGCryptKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaGetPrivateKey">xmlSecGCryptKeyDataDsaGetPrivateKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaGetPublicKey">xmlSecGCryptKeyDataDsaGetPublicKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataDsaId">xmlSecGCryptKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataHmacGetKlass">xmlSecGCryptKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataHmacId">xmlSecGCryptKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataHmacSet">xmlSecGCryptKeyDataHmacSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaAdoptKey">xmlSecGCryptKeyDataRsaAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaAdoptKeyPair">xmlSecGCryptKeyDataRsaAdoptKeyPair</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaGetKlass">xmlSecGCryptKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaGetPrivateKey">xmlSecGCryptKeyDataRsaGetPrivateKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaGetPublicKey">xmlSecGCryptKeyDataRsaGetPublicKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeyDataRsaId">xmlSecGCryptKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptKeysMngrInit">xmlSecGCryptKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptShutdown">xmlSecGCryptShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes128CbcGetKlass">xmlSecGCryptTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes128CbcId">xmlSecGCryptTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes192CbcGetKlass">xmlSecGCryptTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes192CbcId">xmlSecGCryptTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes256CbcGetKlass">xmlSecGCryptTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformAes256CbcId">xmlSecGCryptTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformDes3CbcGetKlass">xmlSecGCryptTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformDes3CbcId">xmlSecGCryptTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformDsaSha1GetKlass">xmlSecGCryptTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformDsaSha1Id">xmlSecGCryptTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacMd5GetKlass">xmlSecGCryptTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacMd5Id">xmlSecGCryptTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacRipemd160GetKlass">xmlSecGCryptTransformHmacRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacRipemd160Id">xmlSecGCryptTransformHmacRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha1GetKlass">xmlSecGCryptTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha1Id">xmlSecGCryptTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha256GetKlass">xmlSecGCryptTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha256Id">xmlSecGCryptTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha384GetKlass">xmlSecGCryptTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha384Id">xmlSecGCryptTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha512GetKlass">xmlSecGCryptTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformHmacSha512Id">xmlSecGCryptTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes128GetKlass">xmlSecGCryptTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes128Id">xmlSecGCryptTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes192GetKlass">xmlSecGCryptTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes192Id">xmlSecGCryptTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes256GetKlass">xmlSecGCryptTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWAes256Id">xmlSecGCryptTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWDes3GetKlass">xmlSecGCryptTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformKWDes3Id">xmlSecGCryptTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformMd5GetKlass">xmlSecGCryptTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformMd5Id">xmlSecGCryptTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRipemd160GetKlass">xmlSecGCryptTransformRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRipemd160Id">xmlSecGCryptTransformRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaMd5GetKlass">xmlSecGCryptTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaMd5Id">xmlSecGCryptTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaRipemd160GetKlass">xmlSecGCryptTransformRsaRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaRipemd160Id">xmlSecGCryptTransformRsaRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha1GetKlass">xmlSecGCryptTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha1Id">xmlSecGCryptTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha256GetKlass">xmlSecGCryptTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha256Id">xmlSecGCryptTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha384GetKlass">xmlSecGCryptTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha384Id">xmlSecGCryptTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha512GetKlass">xmlSecGCryptTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformRsaSha512Id">xmlSecGCryptTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha1GetKlass">xmlSecGCryptTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha1Id">xmlSecGCryptTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha256GetKlass">xmlSecGCryptTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha256Id">xmlSecGCryptTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha384GetKlass">xmlSecGCryptTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha384Id">xmlSecGCryptTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha512GetKlass">xmlSecGCryptTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGCryptTransformSha512Id">xmlSecGCryptTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGenerateAndAddID">xmlSecGenerateAndAddID</link></para></listitem> +<listitem><para><link linkend="xmlSecGenerateID">xmlSecGenerateID</link></para></listitem> +<listitem><para><link linkend="xmlSecGetHex">xmlSecGetHex</link></para></listitem> +<listitem><para><link linkend="xmlSecGetKeyCallback">xmlSecGetKeyCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecGetNextElementNode">xmlSecGetNextElementNode</link></para></listitem> +<listitem><para><link linkend="xmlSecGetNodeNsHref">xmlSecGetNodeNsHref</link></para></listitem> +<listitem><para><link linkend="xmlSecGetQName">xmlSecGetQName</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppDefaultKeysMngrInit">xmlSecGnuTLSAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppDefaultKeysMngrLoad">xmlSecGnuTLSAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppDefaultKeysMngrSave">xmlSecGnuTLSAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppGetDefaultPwdCallback">xmlSecGnuTLSAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppInit">xmlSecGnuTLSAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeyCertLoadMemory">xmlSecGnuTLSAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeyCertLoad">xmlSecGnuTLSAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeyLoadMemory">xmlSecGnuTLSAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeyLoad">xmlSecGnuTLSAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeysMngrCertLoadMemory">xmlSecGnuTLSAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppKeysMngrCertLoad">xmlSecGnuTLSAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppPkcs12LoadMemory">xmlSecGnuTLSAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppPkcs12Load">xmlSecGnuTLSAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSAppShutdown">xmlSecGnuTLSAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSGenerateRandom">xmlSecGnuTLSGenerateRandom</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSHmacGetMinOutputLength">xmlSecGnuTLSHmacGetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSHmacSetMinOutputLength">xmlSecGnuTLSHmacSetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSInit">xmlSecGnuTLSInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataAesGetKlass">xmlSecGnuTLSKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataAesId">xmlSecGnuTLSKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataAesSet">xmlSecGnuTLSKeyDataAesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDesGetKlass">xmlSecGnuTLSKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDesId">xmlSecGnuTLSKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDesSet">xmlSecGnuTLSKeyDataDesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDsaAdoptPublicKey">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDsaGetKlass">xmlSecGnuTLSKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataDsaId">xmlSecGnuTLSKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataHmacGetKlass">xmlSecGnuTLSKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataHmacId">xmlSecGnuTLSKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataHmacSet">xmlSecGnuTLSKeyDataHmacSet</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRawX509CertGetKlass">xmlSecGnuTLSKeyDataRawX509CertGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRawX509CertId">xmlSecGnuTLSKeyDataRawX509CertId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRsaAdoptPublicKey">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRsaGetKlass">xmlSecGnuTLSKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataRsaId">xmlSecGnuTLSKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509AdoptCert">xmlSecGnuTLSKeyDataX509AdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509AdoptCrl">xmlSecGnuTLSKeyDataX509AdoptCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509AdoptKeyCert">xmlSecGnuTLSKeyDataX509AdoptKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetCert">xmlSecGnuTLSKeyDataX509GetCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetCertsSize">xmlSecGnuTLSKeyDataX509GetCertsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetCrl">xmlSecGnuTLSKeyDataX509GetCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetCrlsSize">xmlSecGnuTLSKeyDataX509GetCrlsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetKeyCert">xmlSecGnuTLSKeyDataX509GetKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509GetKlass">xmlSecGnuTLSKeyDataX509GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeyDataX509Id">xmlSecGnuTLSKeyDataX509Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSKeysMngrInit">xmlSecGnuTLSKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSShutdown">xmlSecGnuTLSShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes128CbcGetKlass">xmlSecGnuTLSTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes128CbcId">xmlSecGnuTLSTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes192CbcGetKlass">xmlSecGnuTLSTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes192CbcId">xmlSecGnuTLSTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes256CbcGetKlass">xmlSecGnuTLSTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformAes256CbcId">xmlSecGnuTLSTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformDes3CbcGetKlass">xmlSecGnuTLSTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformDes3CbcId">xmlSecGnuTLSTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformDsaSha1GetKlass">xmlSecGnuTLSTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformDsaSha1Id">xmlSecGnuTLSTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacMd5GetKlass">xmlSecGnuTLSTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacMd5Id">xmlSecGnuTLSTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacRipemd160GetKlass">xmlSecGnuTLSTransformHmacRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacRipemd160Id">xmlSecGnuTLSTransformHmacRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha1GetKlass">xmlSecGnuTLSTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha1Id">xmlSecGnuTLSTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha256GetKlass">xmlSecGnuTLSTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha256Id">xmlSecGnuTLSTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha384GetKlass">xmlSecGnuTLSTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha384Id">xmlSecGnuTLSTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha512GetKlass">xmlSecGnuTLSTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformHmacSha512Id">xmlSecGnuTLSTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes128GetKlass">xmlSecGnuTLSTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes128Id">xmlSecGnuTLSTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes192GetKlass">xmlSecGnuTLSTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes192Id">xmlSecGnuTLSTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes256GetKlass">xmlSecGnuTLSTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWAes256Id">xmlSecGnuTLSTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWDes3GetKlass">xmlSecGnuTLSTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformKWDes3Id">xmlSecGnuTLSTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformMd5GetKlass">xmlSecGnuTLSTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformMd5Id">xmlSecGnuTLSTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRipemd160GetKlass">xmlSecGnuTLSTransformRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRipemd160Id">xmlSecGnuTLSTransformRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaMd5GetKlass">xmlSecGnuTLSTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaMd5Id">xmlSecGnuTLSTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaRipemd160GetKlass">xmlSecGnuTLSTransformRsaRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaRipemd160Id">xmlSecGnuTLSTransformRsaRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha1GetKlass">xmlSecGnuTLSTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha1Id">xmlSecGnuTLSTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha256GetKlass">xmlSecGnuTLSTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha256Id">xmlSecGnuTLSTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha384GetKlass">xmlSecGnuTLSTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha384Id">xmlSecGnuTLSTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha512GetKlass">xmlSecGnuTLSTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformRsaSha512Id">xmlSecGnuTLSTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha1GetKlass">xmlSecGnuTLSTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha1Id">xmlSecGnuTLSTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha256GetKlass">xmlSecGnuTLSTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha256Id">xmlSecGnuTLSTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha384GetKlass">xmlSecGnuTLSTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha384Id">xmlSecGnuTLSTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha512GetKlass">xmlSecGnuTLSTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSTransformSha512Id">xmlSecGnuTLSTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509CertGetKey">xmlSecGnuTLSX509CertGetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509StoreAdoptCert">xmlSecGnuTLSX509StoreAdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509StoreFindCert">xmlSecGnuTLSX509StoreFindCert</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509StoreGetKlass">xmlSecGnuTLSX509StoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509StoreId">xmlSecGnuTLSX509StoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecGnuTLSX509StoreVerify">xmlSecGnuTLSX509StoreVerify</link></para></listitem> +<listitem><para><link linkend="xmlSecInit">xmlSecInit</link></para></listitem> +<listitem><para><link linkend="xmlSecIOCleanupCallbacks">xmlSecIOCleanupCallbacks</link></para></listitem> +<listitem><para><link linkend="xmlSecIOInit">xmlSecIOInit</link></para></listitem> +<listitem><para><link linkend="xmlSecIORegisterCallbacks">xmlSecIORegisterCallbacks</link></para></listitem> +<listitem><para><link linkend="xmlSecIORegisterDefaultCallbacks">xmlSecIORegisterDefaultCallbacks</link></para></listitem> +<listitem><para><link linkend="xmlSecIOShutdown">xmlSecIOShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecIsEmptyNode">xmlSecIsEmptyNode</link></para></listitem> +<listitem><para><link linkend="xmlSecIsEmptyString">xmlSecIsEmptyString</link></para></listitem> +<listitem><para><link linkend="xmlSecIsHex">xmlSecIsHex</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyAdoptData">xmlSecKeyAdoptData</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyCheckId">xmlSecKeyCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyCopy">xmlSecKeyCopy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyCreate">xmlSecKeyCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataAesGetKlass">xmlSecKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataAesId">xmlSecKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinarySize">xmlSecKeyDataBinarySize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueBinRead">xmlSecKeyDataBinaryValueBinRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueBinWrite">xmlSecKeyDataBinaryValueBinWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueDebugDump">xmlSecKeyDataBinaryValueDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueDebugXmlDump">xmlSecKeyDataBinaryValueDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueDuplicate">xmlSecKeyDataBinaryValueDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueFinalize">xmlSecKeyDataBinaryValueFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueGetBuffer">xmlSecKeyDataBinaryValueGetBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueGetSize">xmlSecKeyDataBinaryValueGetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueInitialize">xmlSecKeyDataBinaryValueInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueSetBuffer">xmlSecKeyDataBinaryValueSetBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueXmlRead">xmlSecKeyDataBinaryValueXmlRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinaryValueXmlWrite">xmlSecKeyDataBinaryValueXmlWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinReadMethod">xmlSecKeyDataBinReadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinRead">xmlSecKeyDataBinRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinWriteMethod">xmlSecKeyDataBinWriteMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataBinWrite">xmlSecKeyDataBinWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataCheckId">xmlSecKeyDataCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataCheckSize">xmlSecKeyDataCheckSize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataCheckUsage">xmlSecKeyDataCheckUsage</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataCreate">xmlSecKeyDataCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDebugDumpMethod">xmlSecKeyDataDebugDumpMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDebugDump">xmlSecKeyDataDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDebugXmlDump">xmlSecKeyDataDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDesGetKlass">xmlSecKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDesId">xmlSecKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDestroy">xmlSecKeyDataDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDsaGetKlass">xmlSecKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDsaId">xmlSecKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDuplicateMethod">xmlSecKeyDataDuplicateMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataDuplicate">xmlSecKeyDataDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataEncryptedKeyGetKlass">xmlSecKeyDataEncryptedKeyGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataEncryptedKeyId">xmlSecKeyDataEncryptedKeyId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataFinalizeMethod">xmlSecKeyDataFinalizeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGenerateMethod">xmlSecKeyDataGenerateMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGenerate">xmlSecKeyDataGenerate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetIdentifierMethod">xmlSecKeyDataGetIdentifierMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetIdentifier">xmlSecKeyDataGetIdentifier</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetName">xmlSecKeyDataGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetSizeMethod">xmlSecKeyDataGetSizeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetSize">xmlSecKeyDataGetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetTypeMethod">xmlSecKeyDataGetTypeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGetType">xmlSecKeyDataGetType</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGost2001GetKlass">xmlSecKeyDataGost2001GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataGost2001Id">xmlSecKeyDataGost2001Id</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataHmacGetKlass">xmlSecKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataHmacId">xmlSecKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListDebugDump">xmlSecKeyDataIdListDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListDebugXmlDump">xmlSecKeyDataIdListDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListFindByHref">xmlSecKeyDataIdListFindByHref</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListFindByName">xmlSecKeyDataIdListFindByName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListFindByNode">xmlSecKeyDataIdListFindByNode</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListFind">xmlSecKeyDataIdListFind</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListGetKlass">xmlSecKeyDataIdListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdListId">xmlSecKeyDataIdListId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdsGet">xmlSecKeyDataIdsGet</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdsInit">xmlSecKeyDataIdsInit</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdsRegisterDefault">xmlSecKeyDataIdsRegisterDefault</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdsRegister">xmlSecKeyDataIdsRegister</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdsShutdown">xmlSecKeyDataIdsShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIdUnknown">xmlSecKeyDataIdUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataInitMethod">xmlSecKeyDataInitMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataIsValid">xmlSecKeyDataIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataKlassGetName">xmlSecKeyDataKlassGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataKlass">xmlSecKeyDataKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataListGetKlass">xmlSecKeyDataListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataListId">xmlSecKeyDataListId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyData">xmlSecKeyData</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataNameGetKlass">xmlSecKeyDataNameGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataNameId">xmlSecKeyDataNameId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRawX509CertGetKlass">xmlSecKeyDataRawX509CertGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRawX509CertId">xmlSecKeyDataRawX509CertId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRetrievalMethodGetKlass">xmlSecKeyDataRetrievalMethodGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRetrievalMethodId">xmlSecKeyDataRetrievalMethodId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRsaGetKlass">xmlSecKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataRsaId">xmlSecKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreCheckId">xmlSecKeyDataStoreCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreCheckSize">xmlSecKeyDataStoreCheckSize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreCreate">xmlSecKeyDataStoreCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreDestroy">xmlSecKeyDataStoreDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreFinalizeMethod">xmlSecKeyDataStoreFinalizeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreGetName">xmlSecKeyDataStoreGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreIdUnknown">xmlSecKeyDataStoreIdUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreInitializeMethod">xmlSecKeyDataStoreInitializeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreIsValid">xmlSecKeyDataStoreIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreKlassGetName">xmlSecKeyDataStoreKlassGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStoreKlass">xmlSecKeyDataStoreKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStore">xmlSecKeyDataStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStorePtrListGetKlass">xmlSecKeyDataStorePtrListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataStorePtrListId">xmlSecKeyDataStorePtrListId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeAny">xmlSecKeyDataTypeAny</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeNone">xmlSecKeyDataTypeNone</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypePermanent">xmlSecKeyDataTypePermanent</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypePrivate">xmlSecKeyDataTypePrivate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypePublic">xmlSecKeyDataTypePublic</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeSession">xmlSecKeyDataTypeSession</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeSymmetric">xmlSecKeyDataTypeSymmetric</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeTrusted">xmlSecKeyDataTypeTrusted</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataTypeUnknown">xmlSecKeyDataTypeUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageAny">xmlSecKeyDataUsageAny</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyInfoNode">xmlSecKeyDataUsageKeyInfoNode</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyInfoNodeRead">xmlSecKeyDataUsageKeyInfoNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyInfoNodeWrite">xmlSecKeyDataUsageKeyInfoNodeWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyValueNode">xmlSecKeyDataUsageKeyValueNode</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyValueNodeRead">xmlSecKeyDataUsageKeyValueNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageKeyValueNodeWrite">xmlSecKeyDataUsageKeyValueNodeWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsage">xmlSecKeyDataUsage</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageRetrievalMethodNodeBin">xmlSecKeyDataUsageRetrievalMethodNodeBin</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageRetrievalMethodNode">xmlSecKeyDataUsageRetrievalMethodNode</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageRetrievalMethodNodeXml">xmlSecKeyDataUsageRetrievalMethodNodeXml</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataUsageUnknown">xmlSecKeyDataUsageUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataValueGetKlass">xmlSecKeyDataValueGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataValueId">xmlSecKeyDataValueId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataX509GetKlass">xmlSecKeyDataX509GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataX509Id">xmlSecKeyDataX509Id</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataXmlReadMethod">xmlSecKeyDataXmlReadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataXmlRead">xmlSecKeyDataXmlRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataXmlWriteMethod">xmlSecKeyDataXmlWriteMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDataXmlWrite">xmlSecKeyDataXmlWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDebugDump">xmlSecKeyDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDebugXmlDump">xmlSecKeyDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDestroy">xmlSecKeyDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyDuplicate">xmlSecKeyDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyEmpty">xmlSecKeyEmpty</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyEnsureData">xmlSecKeyEnsureData</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGenerateByName">xmlSecKeyGenerateByName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGenerate">xmlSecKeyGenerate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGetData">xmlSecKeyGetData</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGetName">xmlSecKeyGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGetType">xmlSecKeyGetType</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyGetValue">xmlSecKeyGetValue</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxCopyUserPref">xmlSecKeyInfoCtxCopyUserPref</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxCreateEncCtx">xmlSecKeyInfoCtxCreateEncCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxCreate">xmlSecKeyInfoCtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxDebugDump">xmlSecKeyInfoCtxDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxDebugXmlDump">xmlSecKeyInfoCtxDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxDestroy">xmlSecKeyInfoCtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxFinalize">xmlSecKeyInfoCtxFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxInitialize">xmlSecKeyInfoCtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoCtxReset">xmlSecKeyInfoCtxReset</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND-CAPS">XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION-CAPS">XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN-CAPS">XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD-CAPS">XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF-CAPS">XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF-CAPS">XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE-CAPS">XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD-CAPS">XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS-CAPS">XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS-CAPS">XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT-CAPS">XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT-CAPS">XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT</link></para></listitem> +<listitem><para><link linkend="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD-CAPS">XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoMode">xmlSecKeyInfoMode</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoNodeRead">xmlSecKeyInfoNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyInfoNodeWrite">xmlSecKeyInfoNodeWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyIsValid">xmlSecKeyIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyMatch">xmlSecKeyMatch</link></para></listitem> +<listitem><para><link linkend="xmlSecKey">xmlSecKey</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyPtrListGetKlass">xmlSecKeyPtrListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyPtrListId">xmlSecKeyPtrListId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReadBinaryFile">xmlSecKeyReadBinaryFile</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReadBuffer">xmlSecKeyReadBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReadMemory">xmlSecKeyReadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqCopy">xmlSecKeyReqCopy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqDebugDump">xmlSecKeyReqDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqDebugXmlDump">xmlSecKeyReqDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqFinalize">xmlSecKeyReqFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqInitialize">xmlSecKeyReqInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqMatchKey">xmlSecKeyReqMatchKey</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqMatchKeyValue">xmlSecKeyReqMatchKeyValue</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReq">xmlSecKeyReq</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyReqReset">xmlSecKeyReqReset</link></para></listitem> +<listitem><para><link linkend="xmlSecKeySetName">xmlSecKeySetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeySetValue">xmlSecKeySetValue</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrAdoptDataStore">xmlSecKeysMngrAdoptDataStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrAdoptKeysStore">xmlSecKeysMngrAdoptKeysStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrCreate">xmlSecKeysMngrCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrDestroy">xmlSecKeysMngrDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrFindKey">xmlSecKeysMngrFindKey</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrGetDataStore">xmlSecKeysMngrGetDataStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrGetKey">xmlSecKeysMngrGetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngrGetKeysStore">xmlSecKeysMngrGetKeysStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeysMngr">xmlSecKeysMngr</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreCheckId">xmlSecKeyStoreCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreCheckSize">xmlSecKeyStoreCheckSize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreCreate">xmlSecKeyStoreCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreDestroy">xmlSecKeyStoreDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreFinalizeMethod">xmlSecKeyStoreFinalizeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreFindKeyMethod">xmlSecKeyStoreFindKeyMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreFindKey">xmlSecKeyStoreFindKey</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreGetName">xmlSecKeyStoreGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreIdUnknown">xmlSecKeyStoreIdUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreInitializeMethod">xmlSecKeyStoreInitializeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreIsValid">xmlSecKeyStoreIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreKlassGetName">xmlSecKeyStoreKlassGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStoreKlass">xmlSecKeyStoreKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyStore">xmlSecKeyStore</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageAny">xmlSecKeyUsageAny</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageDecrypt">xmlSecKeyUsageDecrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageEncrypt">xmlSecKeyUsageEncrypt</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageKeyExchange">xmlSecKeyUsageKeyExchange</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsage">xmlSecKeyUsage</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageSign">xmlSecKeyUsageSign</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUsageVerify">xmlSecKeyUsageVerify</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithCopy">xmlSecKeyUseWithCopy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithCreate">xmlSecKeyUseWithCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithDebugDump">xmlSecKeyUseWithDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithDebugXmlDump">xmlSecKeyUseWithDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithDestroy">xmlSecKeyUseWithDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithDuplicate">xmlSecKeyUseWithDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithFinalize">xmlSecKeyUseWithFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithInitialize">xmlSecKeyUseWithInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWith">xmlSecKeyUseWith</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithPtrListGetKlass">xmlSecKeyUseWithPtrListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithPtrListId">xmlSecKeyUseWithPtrListId</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithReset">xmlSecKeyUseWithReset</link></para></listitem> +<listitem><para><link linkend="xmlSecKeyUseWithSet">xmlSecKeyUseWithSet</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrInit">xmlSecMSCryptoAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrLoad">xmlSecMSCryptoAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrSave">xmlSecMSCryptoAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppGetCertStoreName">xmlSecMSCryptoAppGetCertStoreName</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppGetDefaultPwdCallback">xmlSecMSCryptoAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppInit">xmlSecMSCryptoAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeyCertLoadMemory">xmlSecMSCryptoAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeyCertLoad">xmlSecMSCryptoAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeyLoadMemory">xmlSecMSCryptoAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeyLoad">xmlSecMSCryptoAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeysMngrCertLoadMemory">xmlSecMSCryptoAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppKeysMngrCertLoad">xmlSecMSCryptoAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppPkcs12LoadMemory">xmlSecMSCryptoAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppPkcs12Load">xmlSecMSCryptoAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoAppShutdown">xmlSecMSCryptoAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoCertAdopt">xmlSecMSCryptoCertAdopt</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoCertDup">xmlSecMSCryptoCertDup</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertLocaleToUnicode">xmlSecMSCryptoConvertLocaleToUnicode</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertLocaleToUtf8">xmlSecMSCryptoConvertLocaleToUtf8</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertTstrToUtf8">xmlSecMSCryptoConvertTstrToUtf8</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertUnicodeToUtf8">xmlSecMSCryptoConvertUnicodeToUtf8</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertUtf8ToLocale">xmlSecMSCryptoConvertUtf8ToLocale</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertUtf8ToTstr">xmlSecMSCryptoConvertUtf8ToTstr</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoConvertUtf8ToUnicode">xmlSecMSCryptoConvertUtf8ToUnicode</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoErrorsDefaultCallback">xmlSecMSCryptoErrorsDefaultCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoGenerateRandom">xmlSecMSCryptoGenerateRandom</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoHmacGetMinOutputLength">xmlSecMSCryptoHmacGetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoHmacSetMinOutputLength">xmlSecMSCryptoHmacSetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoInit">xmlSecMSCryptoInit</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataAesGetKlass">xmlSecMSCryptoKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataAesId">xmlSecMSCryptoKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataAesSet">xmlSecMSCryptoKeyDataAesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataDesGetKlass">xmlSecMSCryptoKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataDesId">xmlSecMSCryptoKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataDsaGetKlass">xmlSecMSCryptoKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataDsaId">xmlSecMSCryptoKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGetCert">xmlSecMSCryptoKeyDataGetCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGetDecryptKey">xmlSecMSCryptoKeyDataGetDecryptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGetKey">xmlSecMSCryptoKeyDataGetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGetMSCryptoProvider">xmlSecMSCryptoKeyDataGetMSCryptoProvider</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGost2001GetKlass">xmlSecMSCryptoKeyDataGost2001GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataGost2001Id">xmlSecMSCryptoKeyDataGost2001Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataHmacGetKlass">xmlSecMSCryptoKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataHmacId">xmlSecMSCryptoKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataHmacSet">xmlSecMSCryptoKeyDataHmacSet</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataRawX509CertGetKlass">xmlSecMSCryptoKeyDataRawX509CertGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataRawX509CertId">xmlSecMSCryptoKeyDataRawX509CertId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataRsaGetKlass">xmlSecMSCryptoKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataRsaId">xmlSecMSCryptoKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509AdoptCert">xmlSecMSCryptoKeyDataX509AdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509AdoptCrl">xmlSecMSCryptoKeyDataX509AdoptCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509AdoptKeyCert">xmlSecMSCryptoKeyDataX509AdoptKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetCert">xmlSecMSCryptoKeyDataX509GetCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetCertsSize">xmlSecMSCryptoKeyDataX509GetCertsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetCrl">xmlSecMSCryptoKeyDataX509GetCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetCrlsSize">xmlSecMSCryptoKeyDataX509GetCrlsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetKeyCert">xmlSecMSCryptoKeyDataX509GetKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509GetKlass">xmlSecMSCryptoKeyDataX509GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeyDataX509Id">xmlSecMSCryptoKeyDataX509Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysMngrInit">xmlSecMSCryptoKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysStoreAdoptKey">xmlSecMSCryptoKeysStoreAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysStoreGetKlass">xmlSecMSCryptoKeysStoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysStoreId">xmlSecMSCryptoKeysStoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysStoreLoad">xmlSecMSCryptoKeysStoreLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoKeysStoreSave">xmlSecMSCryptoKeysStoreSave</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoShutdown">xmlSecMSCryptoShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes128CbcGetKlass">xmlSecMSCryptoTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes128CbcId">xmlSecMSCryptoTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes192CbcGetKlass">xmlSecMSCryptoTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes192CbcId">xmlSecMSCryptoTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes256CbcGetKlass">xmlSecMSCryptoTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformAes256CbcId">xmlSecMSCryptoTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformDes3CbcGetKlass">xmlSecMSCryptoTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformDes3CbcId">xmlSecMSCryptoTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformDsaSha1GetKlass">xmlSecMSCryptoTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformDsaSha1Id">xmlSecMSCryptoTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass-CAPS">xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformGost2001GostR3411-94Id-CAPS">xmlSecMSCryptoTransformGost2001GostR3411-94Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformGostR3411-94GetKlass-CAPS">xmlSecMSCryptoTransformGostR3411-94GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformGostR3411-94Id-CAPS">xmlSecMSCryptoTransformGostR3411-94Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacMd5GetKlass">xmlSecMSCryptoTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacMd5Id">xmlSecMSCryptoTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha1GetKlass">xmlSecMSCryptoTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha1Id">xmlSecMSCryptoTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha256GetKlass">xmlSecMSCryptoTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha256Id">xmlSecMSCryptoTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha384GetKlass">xmlSecMSCryptoTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha384Id">xmlSecMSCryptoTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha512GetKlass">xmlSecMSCryptoTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformHmacSha512Id">xmlSecMSCryptoTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes128GetKlass">xmlSecMSCryptoTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes128Id">xmlSecMSCryptoTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes192GetKlass">xmlSecMSCryptoTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes192Id">xmlSecMSCryptoTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes256GetKlass">xmlSecMSCryptoTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWAes256Id">xmlSecMSCryptoTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWDes3GetKlass">xmlSecMSCryptoTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformKWDes3Id">xmlSecMSCryptoTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformMd5GetKlass">xmlSecMSCryptoTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformMd5Id">xmlSecMSCryptoTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaMd5GetKlass">xmlSecMSCryptoTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaMd5Id">xmlSecMSCryptoTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaOaepGetKlass">xmlSecMSCryptoTransformRsaOaepGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaOaepId">xmlSecMSCryptoTransformRsaOaepId</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaPkcs1GetKlass">xmlSecMSCryptoTransformRsaPkcs1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaPkcs1Id">xmlSecMSCryptoTransformRsaPkcs1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha1GetKlass">xmlSecMSCryptoTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha1Id">xmlSecMSCryptoTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha256GetKlass">xmlSecMSCryptoTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha256Id">xmlSecMSCryptoTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha384GetKlass">xmlSecMSCryptoTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha384Id">xmlSecMSCryptoTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha512GetKlass">xmlSecMSCryptoTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformRsaSha512Id">xmlSecMSCryptoTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha1GetKlass">xmlSecMSCryptoTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha1Id">xmlSecMSCryptoTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha256GetKlass">xmlSecMSCryptoTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha256Id">xmlSecMSCryptoTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha384GetKlass">xmlSecMSCryptoTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha384Id">xmlSecMSCryptoTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha512GetKlass">xmlSecMSCryptoTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoTransformSha512Id">xmlSecMSCryptoTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreAdoptCert">xmlSecMSCryptoX509StoreAdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreAdoptKeyStore">xmlSecMSCryptoX509StoreAdoptKeyStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreAdoptTrustedStore">xmlSecMSCryptoX509StoreAdoptTrustedStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreAdoptUntrustedStore">xmlSecMSCryptoX509StoreAdoptUntrustedStore</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreEnableSystemTrustedCerts">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreGetKlass">xmlSecMSCryptoX509StoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecMSCryptoX509StoreId">xmlSecMSCryptoX509StoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeEncodeAndSetContent">xmlSecNodeEncodeAndSetContent</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeGetName">xmlSecNodeGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetAddList">xmlSecNodeSetAddList</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetAdd">xmlSecNodeSetAdd</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetContains">xmlSecNodeSetContains</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetCreate">xmlSecNodeSetCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetDebugDump">xmlSecNodeSetDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetDestroy">xmlSecNodeSetDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetDocDestroy">xmlSecNodeSetDocDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetDumpTextNodes">xmlSecNodeSetDumpTextNodes</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetGetChildren">xmlSecNodeSetGetChildren</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSet">xmlSecNodeSet</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetOp">xmlSecNodeSetOp</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetType">xmlSecNodeSetType</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetWalkCallback">xmlSecNodeSetWalkCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecNodeSetWalk">xmlSecNodeSetWalk</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppDefaultKeysMngrAdoptKey">xmlSecNssAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppDefaultKeysMngrInit">xmlSecNssAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppDefaultKeysMngrLoad">xmlSecNssAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppDefaultKeysMngrSave">xmlSecNssAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppGetDefaultPwdCallback">xmlSecNssAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppInit">xmlSecNssAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyCertLoadMemory">xmlSecNssAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyCertLoad">xmlSecNssAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyCertLoadSECItem">xmlSecNssAppKeyCertLoadSECItem</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyFromCertLoadSECItem">xmlSecNssAppKeyFromCertLoadSECItem</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyLoadMemory">xmlSecNssAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyLoad">xmlSecNssAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeyLoadSECItem">xmlSecNssAppKeyLoadSECItem</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeysMngrCertLoadMemory">xmlSecNssAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeysMngrCertLoad">xmlSecNssAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppKeysMngrCertLoadSECItem">xmlSecNssAppKeysMngrCertLoadSECItem</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppPkcs12LoadMemory">xmlSecNssAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppPkcs12Load">xmlSecNssAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppPkcs12LoadSECItem">xmlSecNssAppPkcs12LoadSECItem</link></para></listitem> +<listitem><para><link linkend="xmlSecNssAppShutdown">xmlSecNssAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecNssErrorsDefaultCallback">xmlSecNssErrorsDefaultCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecNssGenerateRandom">xmlSecNssGenerateRandom</link></para></listitem> +<listitem><para><link linkend="xmlSecNssGetInternalKeySlot">xmlSecNssGetInternalKeySlot</link></para></listitem> +<listitem><para><link linkend="xmlSecNssHmacGetMinOutputLength">xmlSecNssHmacGetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecNssHmacSetMinOutputLength">xmlSecNssHmacSetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecNssInit">xmlSecNssInit</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataAesGetKlass">xmlSecNssKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataAesId">xmlSecNssKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataAesSet">xmlSecNssKeyDataAesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataDesGetKlass">xmlSecNssKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataDesId">xmlSecNssKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataDesSet">xmlSecNssKeyDataDesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataDsaGetKlass">xmlSecNssKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataDsaId">xmlSecNssKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataHmacGetKlass">xmlSecNssKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataHmacId">xmlSecNssKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataHmacSet">xmlSecNssKeyDataHmacSet</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataRawX509CertGetKlass">xmlSecNssKeyDataRawX509CertGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataRawX509CertId">xmlSecNssKeyDataRawX509CertId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataRsaGetKlass">xmlSecNssKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataRsaId">xmlSecNssKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509AdoptCert">xmlSecNssKeyDataX509AdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509AdoptCrl">xmlSecNssKeyDataX509AdoptCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509AdoptKeyCert">xmlSecNssKeyDataX509AdoptKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetCert">xmlSecNssKeyDataX509GetCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetCertsSize">xmlSecNssKeyDataX509GetCertsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetCrl">xmlSecNssKeyDataX509GetCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetCrlsSize">xmlSecNssKeyDataX509GetCrlsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetKeyCert">xmlSecNssKeyDataX509GetKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509GetKlass">xmlSecNssKeyDataX509GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeyDataX509Id">xmlSecNssKeyDataX509Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysMngrInit">xmlSecNssKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysStoreAdoptKey">xmlSecNssKeysStoreAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysStoreGetKlass">xmlSecNssKeysStoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysStoreId">xmlSecNssKeysStoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysStoreLoad">xmlSecNssKeysStoreLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecNssKeysStoreSave">xmlSecNssKeysStoreSave</link></para></listitem> +<listitem><para><link linkend="xmlSecNssNodeGetBigNumValue">xmlSecNssNodeGetBigNumValue</link></para></listitem> +<listitem><para><link linkend="xmlSecNssNodeSetBigNumValue">xmlSecNssNodeSetBigNumValue</link></para></listitem> +<listitem><para><link linkend="xmlSecNssPKIAdoptKey">xmlSecNssPKIAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssPKIKeyDataDuplicate">xmlSecNssPKIKeyDataDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecNssPKIKeyDataGetKeyType">xmlSecNssPKIKeyDataGetKeyType</link></para></listitem> +<listitem><para><link linkend="xmlSecNssPKIKeyDataGetPrivKey">xmlSecNssPKIKeyDataGetPrivKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssPKIKeyDataGetPubKey">xmlSecNssPKIKeyDataGetPubKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssShutdown">xmlSecNssShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes128CbcGetKlass">xmlSecNssTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes128CbcId">xmlSecNssTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes192CbcGetKlass">xmlSecNssTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes192CbcId">xmlSecNssTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes256CbcGetKlass">xmlSecNssTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformAes256CbcId">xmlSecNssTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformDes3CbcGetKlass">xmlSecNssTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformDes3CbcId">xmlSecNssTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformDsaSha1GetKlass">xmlSecNssTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformDsaSha1Id">xmlSecNssTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacMd5GetKlass">xmlSecNssTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacMd5Id">xmlSecNssTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacRipemd160GetKlass">xmlSecNssTransformHmacRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacRipemd160Id">xmlSecNssTransformHmacRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha1GetKlass">xmlSecNssTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha1Id">xmlSecNssTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha256GetKlass">xmlSecNssTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha256Id">xmlSecNssTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha384GetKlass">xmlSecNssTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha384Id">xmlSecNssTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha512GetKlass">xmlSecNssTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformHmacSha512Id">xmlSecNssTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes128GetKlass">xmlSecNssTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes128Id">xmlSecNssTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes192GetKlass">xmlSecNssTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes192Id">xmlSecNssTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes256GetKlass">xmlSecNssTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWAes256Id">xmlSecNssTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWDes3GetKlass">xmlSecNssTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformKWDes3Id">xmlSecNssTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformMd5GetKlass">xmlSecNssTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformMd5Id">xmlSecNssTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaMd5GetKlass">xmlSecNssTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaMd5Id">xmlSecNssTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaOaepGetKlass">xmlSecNssTransformRsaOaepGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaOaepId">xmlSecNssTransformRsaOaepId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaPkcs1GetKlass">xmlSecNssTransformRsaPkcs1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaPkcs1Id">xmlSecNssTransformRsaPkcs1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha1GetKlass">xmlSecNssTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha1Id">xmlSecNssTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha256GetKlass">xmlSecNssTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha256Id">xmlSecNssTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha384GetKlass">xmlSecNssTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha384Id">xmlSecNssTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha512GetKlass">xmlSecNssTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformRsaSha512Id">xmlSecNssTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha1GetKlass">xmlSecNssTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha1Id">xmlSecNssTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha256GetKlass">xmlSecNssTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha256Id">xmlSecNssTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha384GetKlass">xmlSecNssTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha384Id">xmlSecNssTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha512GetKlass">xmlSecNssTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssTransformSha512Id">xmlSecNssTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509CertGetKey">xmlSecNssX509CertGetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509StoreAdoptCert">xmlSecNssX509StoreAdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509StoreFindCert">xmlSecNssX509StoreFindCert</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509StoreGetKlass">xmlSecNssX509StoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509StoreId">xmlSecNssX509StoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecNssX509StoreVerify">xmlSecNssX509StoreVerify</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppDefaultKeysMngrInit">xmlSecOpenSSLAppDefaultKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppDefaultKeysMngrLoad">xmlSecOpenSSLAppDefaultKeysMngrLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppDefaultKeysMngrSave">xmlSecOpenSSLAppDefaultKeysMngrSave</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppGetDefaultPwdCallback">xmlSecOpenSSLAppGetDefaultPwdCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppInit">xmlSecOpenSSLAppInit</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyCertLoadBIO">xmlSecOpenSSLAppKeyCertLoadBIO</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyCertLoadMemory">xmlSecOpenSSLAppKeyCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyCertLoad">xmlSecOpenSSLAppKeyCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyFromCertLoadBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyLoadBIO">xmlSecOpenSSLAppKeyLoadBIO</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyLoadMemory">xmlSecOpenSSLAppKeyLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeyLoad">xmlSecOpenSSLAppKeyLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeysMngrAddCertsFile">xmlSecOpenSSLAppKeysMngrAddCertsFile</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeysMngrAddCertsPath">xmlSecOpenSSLAppKeysMngrAddCertsPath</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeysMngrCertLoadBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeysMngrCertLoadMemory">xmlSecOpenSSLAppKeysMngrCertLoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppKeysMngrCertLoad">xmlSecOpenSSLAppKeysMngrCertLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppPkcs12LoadBIO">xmlSecOpenSSLAppPkcs12LoadBIO</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppPkcs12LoadMemory">xmlSecOpenSSLAppPkcs12LoadMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppPkcs12Load">xmlSecOpenSSLAppPkcs12Load</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLAppShutdown">xmlSecOpenSSLAppShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLErrorsDefaultCallback">xmlSecOpenSSLErrorsDefaultCallback</link></para></listitem> +<listitem><para><link linkend="XMLSEC-OPENSSL-ERRORS-FUNCTION-CAPS">XMLSEC-OPENSSL-ERRORS-FUNCTION</link></para></listitem> +<listitem><para><link linkend="XMLSEC-OPENSSL-ERRORS-LIB-CAPS">XMLSEC-OPENSSL-ERRORS-LIB</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLEvpKeyAdopt">xmlSecOpenSSLEvpKeyAdopt</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLEvpKeyDataAdoptEvp">xmlSecOpenSSLEvpKeyDataAdoptEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLEvpKeyDataGetEvp">xmlSecOpenSSLEvpKeyDataGetEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLEvpKeyDup">xmlSecOpenSSLEvpKeyDup</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLGenerateRandom">xmlSecOpenSSLGenerateRandom</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLGetDefaultTrustedCertsFolder">xmlSecOpenSSLGetDefaultTrustedCertsFolder</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLHmacGetMinOutputLength">xmlSecOpenSSLHmacGetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLHmacSetMinOutputLength">xmlSecOpenSSLHmacSetMinOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLInit">xmlSecOpenSSLInit</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataAesGetKlass">xmlSecOpenSSLKeyDataAesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataAesId">xmlSecOpenSSLKeyDataAesId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataAesSet">xmlSecOpenSSLKeyDataAesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDesGetKlass">xmlSecOpenSSLKeyDataDesGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDesId">xmlSecOpenSSLKeyDataDesId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDesSet">xmlSecOpenSSLKeyDataDesSet</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaAdoptDsa">xmlSecOpenSSLKeyDataDsaAdoptDsa</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaAdoptEvp">xmlSecOpenSSLKeyDataDsaAdoptEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaGetDsa">xmlSecOpenSSLKeyDataDsaGetDsa</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaGetEvp">xmlSecOpenSSLKeyDataDsaGetEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaGetKlass">xmlSecOpenSSLKeyDataDsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataDsaId">xmlSecOpenSSLKeyDataDsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataHmacGetKlass">xmlSecOpenSSLKeyDataHmacGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataHmacId">xmlSecOpenSSLKeyDataHmacId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataHmacSet">xmlSecOpenSSLKeyDataHmacSet</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRawX509CertGetKlass">xmlSecOpenSSLKeyDataRawX509CertGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRawX509CertId">xmlSecOpenSSLKeyDataRawX509CertId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaAdoptEvp">xmlSecOpenSSLKeyDataRsaAdoptEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaAdoptRsa">xmlSecOpenSSLKeyDataRsaAdoptRsa</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaGetEvp">xmlSecOpenSSLKeyDataRsaGetEvp</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaGetKlass">xmlSecOpenSSLKeyDataRsaGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaGetRsa">xmlSecOpenSSLKeyDataRsaGetRsa</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataRsaId">xmlSecOpenSSLKeyDataRsaId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509AdoptCert">xmlSecOpenSSLKeyDataX509AdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509AdoptCrl">xmlSecOpenSSLKeyDataX509AdoptCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509AdoptKeyCert">xmlSecOpenSSLKeyDataX509AdoptKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetCert">xmlSecOpenSSLKeyDataX509GetCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetCertsSize">xmlSecOpenSSLKeyDataX509GetCertsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetCrl">xmlSecOpenSSLKeyDataX509GetCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetCrlsSize">xmlSecOpenSSLKeyDataX509GetCrlsSize</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetKeyCert">xmlSecOpenSSLKeyDataX509GetKeyCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509GetKlass">xmlSecOpenSSLKeyDataX509GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeyDataX509Id">xmlSecOpenSSLKeyDataX509Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLKeysMngrInit">xmlSecOpenSSLKeysMngrInit</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLNodeGetBNValue">xmlSecOpenSSLNodeGetBNValue</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLNodeSetBNValue">xmlSecOpenSSLNodeSetBNValue</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLSetDefaultTrustedCertsFolder">xmlSecOpenSSLSetDefaultTrustedCertsFolder</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLShutdown">xmlSecOpenSSLShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes128CbcGetKlass">xmlSecOpenSSLTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes128CbcId">xmlSecOpenSSLTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes192CbcGetKlass">xmlSecOpenSSLTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes192CbcId">xmlSecOpenSSLTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes256CbcGetKlass">xmlSecOpenSSLTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformAes256CbcId">xmlSecOpenSSLTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformDes3CbcGetKlass">xmlSecOpenSSLTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformDes3CbcId">xmlSecOpenSSLTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformDsaSha1GetKlass">xmlSecOpenSSLTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformDsaSha1Id">xmlSecOpenSSLTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacMd5GetKlass">xmlSecOpenSSLTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacMd5Id">xmlSecOpenSSLTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacRipemd160GetKlass">xmlSecOpenSSLTransformHmacRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacRipemd160Id">xmlSecOpenSSLTransformHmacRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha1GetKlass">xmlSecOpenSSLTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha1Id">xmlSecOpenSSLTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha224GetKlass">xmlSecOpenSSLTransformHmacSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha224Id">xmlSecOpenSSLTransformHmacSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha256GetKlass">xmlSecOpenSSLTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha256Id">xmlSecOpenSSLTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha384GetKlass">xmlSecOpenSSLTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha384Id">xmlSecOpenSSLTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha512GetKlass">xmlSecOpenSSLTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformHmacSha512Id">xmlSecOpenSSLTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes128GetKlass">xmlSecOpenSSLTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes128Id">xmlSecOpenSSLTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes192GetKlass">xmlSecOpenSSLTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes192Id">xmlSecOpenSSLTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes256GetKlass">xmlSecOpenSSLTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWAes256Id">xmlSecOpenSSLTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWDes3GetKlass">xmlSecOpenSSLTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformKWDes3Id">xmlSecOpenSSLTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformMd5GetKlass">xmlSecOpenSSLTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformMd5Id">xmlSecOpenSSLTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRipemd160GetKlass">xmlSecOpenSSLTransformRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRipemd160Id">xmlSecOpenSSLTransformRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaMd5GetKlass">xmlSecOpenSSLTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaMd5Id">xmlSecOpenSSLTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaOaepGetKlass">xmlSecOpenSSLTransformRsaOaepGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaOaepId">xmlSecOpenSSLTransformRsaOaepId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaPkcs1GetKlass">xmlSecOpenSSLTransformRsaPkcs1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaPkcs1Id">xmlSecOpenSSLTransformRsaPkcs1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaRipemd160GetKlass">xmlSecOpenSSLTransformRsaRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaRipemd160Id">xmlSecOpenSSLTransformRsaRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha1GetKlass">xmlSecOpenSSLTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha1Id">xmlSecOpenSSLTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha224GetKlass">xmlSecOpenSSLTransformRsaSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha224Id">xmlSecOpenSSLTransformRsaSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha256GetKlass">xmlSecOpenSSLTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha256Id">xmlSecOpenSSLTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha384GetKlass">xmlSecOpenSSLTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha384Id">xmlSecOpenSSLTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha512GetKlass">xmlSecOpenSSLTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformRsaSha512Id">xmlSecOpenSSLTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha1GetKlass">xmlSecOpenSSLTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha1Id">xmlSecOpenSSLTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha224GetKlass">xmlSecOpenSSLTransformSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha224Id">xmlSecOpenSSLTransformSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha256GetKlass">xmlSecOpenSSLTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha256Id">xmlSecOpenSSLTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha384GetKlass">xmlSecOpenSSLTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha384Id">xmlSecOpenSSLTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha512GetKlass">xmlSecOpenSSLTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLTransformSha512Id">xmlSecOpenSSLTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509CertGetKey">xmlSecOpenSSLX509CertGetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreAddCertsFile">xmlSecOpenSSLX509StoreAddCertsFile</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreAddCertsPath">xmlSecOpenSSLX509StoreAddCertsPath</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreAdoptCert">xmlSecOpenSSLX509StoreAdoptCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreAdoptCrl">xmlSecOpenSSLX509StoreAdoptCrl</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreFindCert">xmlSecOpenSSLX509StoreFindCert</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreGetKlass">xmlSecOpenSSLX509StoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreId">xmlSecOpenSSLX509StoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecOpenSSLX509StoreVerify">xmlSecOpenSSLX509StoreVerify</link></para></listitem> +<listitem><para><link linkend="xmlSecParseFile">xmlSecParseFile</link></para></listitem> +<listitem><para><link linkend="xmlSecParseMemoryExt">xmlSecParseMemoryExt</link></para></listitem> +<listitem><para><link linkend="xmlSecParseMemory">xmlSecParseMemory</link></para></listitem> +<listitem><para><link linkend="xmlSecPrintXmlString">xmlSecPrintXmlString</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrDebugDumpItemMethod">xmlSecPtrDebugDumpItemMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrDestroyItemMethod">xmlSecPtrDestroyItemMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrDuplicateItemMethod">xmlSecPtrDuplicateItemMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListAdd">xmlSecPtrListAdd</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListCheckId">xmlSecPtrListCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListCopy">xmlSecPtrListCopy</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListCreate">xmlSecPtrListCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListDebugDump">xmlSecPtrListDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListDebugXmlDump">xmlSecPtrListDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListDestroy">xmlSecPtrListDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListDuplicate">xmlSecPtrListDuplicate</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListEmpty">xmlSecPtrListEmpty</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListFinalize">xmlSecPtrListFinalize</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListGetItem">xmlSecPtrListGetItem</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListGetName">xmlSecPtrListGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListGetSize">xmlSecPtrListGetSize</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListIdUnknown">xmlSecPtrListIdUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListInitialize">xmlSecPtrListInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListIsValid">xmlSecPtrListIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListKlassGetName">xmlSecPtrListKlassGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListKlass">xmlSecPtrListKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrList">xmlSecPtrList</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListRemoveAndReturn">xmlSecPtrListRemoveAndReturn</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListRemove">xmlSecPtrListRemove</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListSetDefaultAllocMode">xmlSecPtrListSetDefaultAllocMode</link></para></listitem> +<listitem><para><link linkend="xmlSecPtrListSet">xmlSecPtrListSet</link></para></listitem> +<listitem><para><link linkend="xmlSecPtr">xmlSecPtr</link></para></listitem> +<listitem><para><link linkend="XMLSEC-PTR-TO-FUNC-IMPL-CAPS">XMLSEC-PTR-TO-FUNC-IMPL</link></para></listitem> +<listitem><para><link linkend="XMLSEC-PTR-TO-FUNC-CAPS">XMLSEC-PTR-TO-FUNC</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskDebugDump">xmlSecQName2BitMaskDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskDebugXmlDump">xmlSecQName2BitMaskDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskGetBitMaskFromString">xmlSecQName2BitMaskGetBitMaskFromString</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskGetBitMask">xmlSecQName2BitMaskGetBitMask</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskGetInfo">xmlSecQName2BitMaskGetInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskGetStringFromBitMask">xmlSecQName2BitMaskGetStringFromBitMask</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskInfoConstPtr">xmlSecQName2BitMaskInfoConstPtr</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskInfo">xmlSecQName2BitMaskInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskNodesRead">xmlSecQName2BitMaskNodesRead</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2BitMaskNodesWrite">xmlSecQName2BitMaskNodesWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerAttributeRead">xmlSecQName2IntegerAttributeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerAttributeWrite">xmlSecQName2IntegerAttributeWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerDebugDump">xmlSecQName2IntegerDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerDebugXmlDump">xmlSecQName2IntegerDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerGetInfo">xmlSecQName2IntegerGetInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerGetIntegerFromString">xmlSecQName2IntegerGetIntegerFromString</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerGetInteger">xmlSecQName2IntegerGetInteger</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerGetStringFromInteger">xmlSecQName2IntegerGetStringFromInteger</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerInfoConstPtr">xmlSecQName2IntegerInfoConstPtr</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerInfo">xmlSecQName2IntegerInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerNodeRead">xmlSecQName2IntegerNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecQName2IntegerNodeWrite">xmlSecQName2IntegerNodeWrite</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceContentAndReturn">xmlSecReplaceContentAndReturn</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceContent">xmlSecReplaceContent</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceNodeAndReturn">xmlSecReplaceNodeAndReturn</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceNodeBufferAndReturn">xmlSecReplaceNodeBufferAndReturn</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceNodeBuffer">xmlSecReplaceNodeBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecReplaceNode">xmlSecReplaceNode</link></para></listitem> +<listitem><para><link linkend="xmlSecShutdown">xmlSecShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreAdoptKey">xmlSecSimpleKeysStoreAdoptKey</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreGetKeys">xmlSecSimpleKeysStoreGetKeys</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreGetKlass">xmlSecSimpleKeysStoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreId">xmlSecSimpleKeysStoreId</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreLoad">xmlSecSimpleKeysStoreLoad</link></para></listitem> +<listitem><para><link linkend="xmlSecSimpleKeysStoreSave">xmlSecSimpleKeysStoreSave</link></para></listitem> +<listitem><para><link linkend="XMLSEC-SIZE-BAD-CAST-CAPS">XMLSEC-SIZE-BAD-CAST</link></para></listitem> +<listitem><para><link linkend="xmlSecSize">xmlSecSize</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11AddBodyEntry">xmlSecSoap11AddBodyEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11AddFaultEntry">xmlSecSoap11AddFaultEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11CheckEnvelope">xmlSecSoap11CheckEnvelope</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11CreateEnvelope">xmlSecSoap11CreateEnvelope</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11EnsureHeader">xmlSecSoap11EnsureHeader</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11GetBodyEntriesNumber">xmlSecSoap11GetBodyEntriesNumber</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11GetBodyEntry">xmlSecSoap11GetBodyEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11GetBody">xmlSecSoap11GetBody</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11GetFaultEntry">xmlSecSoap11GetFaultEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap11GetHeader">xmlSecSoap11GetHeader</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12AddBodyEntry">xmlSecSoap12AddBodyEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12AddFaultDetailEntry">xmlSecSoap12AddFaultDetailEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12AddFaultEntry">xmlSecSoap12AddFaultEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12AddFaultReasonText">xmlSecSoap12AddFaultReasonText</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12AddFaultSubcode">xmlSecSoap12AddFaultSubcode</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12CheckEnvelope">xmlSecSoap12CheckEnvelope</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12CreateEnvelope">xmlSecSoap12CreateEnvelope</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12EnsureHeader">xmlSecSoap12EnsureHeader</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12FaultCode">xmlSecSoap12FaultCode</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12GetBodyEntriesNumber">xmlSecSoap12GetBodyEntriesNumber</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12GetBodyEntry">xmlSecSoap12GetBodyEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12GetBody">xmlSecSoap12GetBody</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12GetFaultEntry">xmlSecSoap12GetFaultEntry</link></para></listitem> +<listitem><para><link linkend="xmlSecSoap12GetHeader">xmlSecSoap12GetHeader</link></para></listitem> +<listitem><para><link linkend="XMLSEC-STACK-OF-X509-CRL-CAPS">XMLSEC-STACK-OF-X509-CRL</link></para></listitem> +<listitem><para><link linkend="XMLSEC-STACK-OF-X509-CAPS">XMLSEC-STACK-OF-X509</link></para></listitem> +<listitem><para><link linkend="xmlSecStringListGetKlass">xmlSecStringListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecStringListId">xmlSecStringListId</link></para></listitem> +<listitem><para><link linkend="xmlSecStrPrintf">xmlSecStrPrintf</link></para></listitem> +<listitem><para><link linkend="xmlSecStrVPrintf">xmlSecStrVPrintf</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplCipherReferenceAddTransform">xmlSecTmplCipherReferenceAddTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataAddEncProperty">xmlSecTmplEncDataAddEncProperty</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataCreate">xmlSecTmplEncDataCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataEnsureCipherReference">xmlSecTmplEncDataEnsureCipherReference</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataEnsureCipherValue">xmlSecTmplEncDataEnsureCipherValue</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataEnsureEncProperties">xmlSecTmplEncDataEnsureEncProperties</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataEnsureKeyInfo">xmlSecTmplEncDataEnsureKeyInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplEncDataGetEncMethodNode">xmlSecTmplEncDataGetEncMethodNode</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplKeyInfoAddEncryptedKey">xmlSecTmplKeyInfoAddEncryptedKey</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplKeyInfoAddKeyName">xmlSecTmplKeyInfoAddKeyName</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplKeyInfoAddKeyValue">xmlSecTmplKeyInfoAddKeyValue</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplKeyInfoAddRetrievalMethod">xmlSecTmplKeyInfoAddRetrievalMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplKeyInfoAddX509Data">xmlSecTmplKeyInfoAddX509Data</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplManifestAddReference">xmlSecTmplManifestAddReference</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplObjectAddManifest">xmlSecTmplObjectAddManifest</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplObjectAddSignProperties">xmlSecTmplObjectAddSignProperties</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplReferenceAddTransform">xmlSecTmplReferenceAddTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplReferenceListAddDataReference">xmlSecTmplReferenceListAddDataReference</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplReferenceListAddKeyReference">xmlSecTmplReferenceListAddKeyReference</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplRetrievalMethodAddTransform">xmlSecTmplRetrievalMethodAddTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureAddObject">xmlSecTmplSignatureAddObject</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureAddReference">xmlSecTmplSignatureAddReference</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureCreate">xmlSecTmplSignatureCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureCreateNsPref">xmlSecTmplSignatureCreateNsPref</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureEnsureKeyInfo">xmlSecTmplSignatureEnsureKeyInfo</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureGetC14NMethodNode">xmlSecTmplSignatureGetC14NMethodNode</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplSignatureGetSignMethodNode">xmlSecTmplSignatureGetSignMethodNode</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddC14NInclNamespaces">xmlSecTmplTransformAddC14NInclNamespaces</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddHmacOutputLength">xmlSecTmplTransformAddHmacOutputLength</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddRsaOaepParam">xmlSecTmplTransformAddRsaOaepParam</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddXPath2">xmlSecTmplTransformAddXPath2</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddXPath">xmlSecTmplTransformAddXPath</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddXPointer">xmlSecTmplTransformAddXPointer</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplTransformAddXsltStylesheet">xmlSecTmplTransformAddXsltStylesheet</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509DataAddCertificate">xmlSecTmplX509DataAddCertificate</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509DataAddCRL">xmlSecTmplX509DataAddCRL</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509DataAddIssuerSerial">xmlSecTmplX509DataAddIssuerSerial</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509DataAddSKI">xmlSecTmplX509DataAddSKI</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509DataAddSubjectName">xmlSecTmplX509DataAddSubjectName</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509IssuerSerialAddIssuerName">xmlSecTmplX509IssuerSerialAddIssuerName</link></para></listitem> +<listitem><para><link linkend="xmlSecTmplX509IssuerSerialAddSerialNumber">xmlSecTmplX509IssuerSerialAddSerialNumber</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes128CbcGetKlass">xmlSecTransformAes128CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes128CbcId">xmlSecTransformAes128CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes192CbcGetKlass">xmlSecTransformAes192CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes192CbcId">xmlSecTransformAes192CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes256CbcGetKlass">xmlSecTransformAes256CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformAes256CbcId">xmlSecTransformAes256CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformBase64GetKlass">xmlSecTransformBase64GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformBase64Id">xmlSecTransformBase64Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformBase64SetLineSize">xmlSecTransformBase64SetLineSize</link></para></listitem> +<listitem><para><link linkend="XMLSEC-TRANSFORM-BINARY-CHUNK-CAPS">XMLSEC-TRANSFORM-BINARY-CHUNK</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCheckId">xmlSecTransformCheckId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCheckSize">xmlSecTransformCheckSize</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformConnect">xmlSecTransformConnect</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCreateInputBuffer">xmlSecTransformCreateInputBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCreate">xmlSecTransformCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCreateOutputBuffer">xmlSecTransformCreateOutputBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxAppend">xmlSecTransformCtxAppend</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxBinaryExecute">xmlSecTransformCtxBinaryExecute</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxCopyUserPref">xmlSecTransformCtxCopyUserPref</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxCreateAndAppend">xmlSecTransformCtxCreateAndAppend</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxCreateAndPrepend">xmlSecTransformCtxCreateAndPrepend</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxCreate">xmlSecTransformCtxCreate</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxDebugDump">xmlSecTransformCtxDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxDebugXmlDump">xmlSecTransformCtxDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxDestroy">xmlSecTransformCtxDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxExecute">xmlSecTransformCtxExecute</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxFinalize">xmlSecTransformCtxFinalize</link></para></listitem> +<listitem><para><link linkend="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK-CAPS">XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxInitialize">xmlSecTransformCtxInitialize</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtx">xmlSecTransformCtx</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxNodeRead">xmlSecTransformCtxNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxNodesListRead">xmlSecTransformCtxNodesListRead</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxPreExecuteCallback">xmlSecTransformCtxPreExecuteCallback</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxPrepare">xmlSecTransformCtxPrepare</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxPrepend">xmlSecTransformCtxPrepend</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxReset">xmlSecTransformCtxReset</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxSetUri">xmlSecTransformCtxSetUri</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxUriExecute">xmlSecTransformCtxUriExecute</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformCtxXmlExecute">xmlSecTransformCtxXmlExecute</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDataTypeBin">xmlSecTransformDataTypeBin</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDataType">xmlSecTransformDataType</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDataTypeUnknown">xmlSecTransformDataTypeUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDataTypeXml">xmlSecTransformDataTypeXml</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDebugDump">xmlSecTransformDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDebugXmlDump">xmlSecTransformDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDefaultGetDataType">xmlSecTransformDefaultGetDataType</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDefaultPopBin">xmlSecTransformDefaultPopBin</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDefaultPopXml">xmlSecTransformDefaultPopXml</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDefaultPushBin">xmlSecTransformDefaultPushBin</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDefaultPushXml">xmlSecTransformDefaultPushXml</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDes3CbcGetKlass">xmlSecTransformDes3CbcGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDes3CbcId">xmlSecTransformDes3CbcId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDestroy">xmlSecTransformDestroy</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDsaSha1GetKlass">xmlSecTransformDsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformDsaSha1Id">xmlSecTransformDsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformEnvelopedGetKlass">xmlSecTransformEnvelopedGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformEnvelopedId">xmlSecTransformEnvelopedId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExclC14NGetKlass">xmlSecTransformExclC14NGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExclC14NId">xmlSecTransformExclC14NId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExclC14NWithCommentsGetKlass">xmlSecTransformExclC14NWithCommentsGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExclC14NWithCommentsId">xmlSecTransformExclC14NWithCommentsId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExecuteMethod">xmlSecTransformExecuteMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformExecute">xmlSecTransformExecute</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformFinalizeMethod">xmlSecTransformFinalizeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGetDataTypeMethod">xmlSecTransformGetDataTypeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGetDataType">xmlSecTransformGetDataType</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGetName">xmlSecTransformGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGost2001GostR3411-94GetKlass-CAPS">xmlSecTransformGost2001GostR3411-94GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGost2001GostR3411-94Id-CAPS">xmlSecTransformGost2001GostR3411-94Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGostR3411-94GetKlass-CAPS">xmlSecTransformGostR3411-94GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformGostR3411-94Id-CAPS">xmlSecTransformGostR3411-94Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacMd5GetKlass">xmlSecTransformHmacMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacMd5Id">xmlSecTransformHmacMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacRipemd160GetKlass">xmlSecTransformHmacRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacRipemd160Id">xmlSecTransformHmacRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha1GetKlass">xmlSecTransformHmacSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha1Id">xmlSecTransformHmacSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha224GetKlass">xmlSecTransformHmacSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha224Id">xmlSecTransformHmacSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha256GetKlass">xmlSecTransformHmacSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha256Id">xmlSecTransformHmacSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha384GetKlass">xmlSecTransformHmacSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha384Id">xmlSecTransformHmacSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha512GetKlass">xmlSecTransformHmacSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformHmacSha512Id">xmlSecTransformHmacSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListDebugDump">xmlSecTransformIdListDebugDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListDebugXmlDump">xmlSecTransformIdListDebugXmlDump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListFindByHref">xmlSecTransformIdListFindByHref</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListFindByName">xmlSecTransformIdListFindByName</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListFind">xmlSecTransformIdListFind</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListGetKlass">xmlSecTransformIdListGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdListId">xmlSecTransformIdListId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdsGet">xmlSecTransformIdsGet</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdsInit">xmlSecTransformIdsInit</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdsRegisterDefault">xmlSecTransformIdsRegisterDefault</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdsRegister">xmlSecTransformIdsRegister</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdsShutdown">xmlSecTransformIdsShutdown</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIdUnknown">xmlSecTransformIdUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14N11GetKlass">xmlSecTransformInclC14N11GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14N11Id">xmlSecTransformInclC14N11Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14N11WithCommentsGetKlass">xmlSecTransformInclC14N11WithCommentsGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14N11WithCommentsId">xmlSecTransformInclC14N11WithCommentsId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14NGetKlass">xmlSecTransformInclC14NGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14NId">xmlSecTransformInclC14NId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14NWithCommentsGetKlass">xmlSecTransformInclC14NWithCommentsGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInclC14NWithCommentsId">xmlSecTransformInclC14NWithCommentsId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInitializeMethod">xmlSecTransformInitializeMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInputURIGetKlass">xmlSecTransformInputURIGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInputURIId">xmlSecTransformInputURIId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformInputURIOpen">xmlSecTransformInputURIOpen</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformIsValid">xmlSecTransformIsValid</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKlassGetName">xmlSecTransformKlassGetName</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKlass">xmlSecTransformKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes128GetKlass">xmlSecTransformKWAes128GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes128Id">xmlSecTransformKWAes128Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes192GetKlass">xmlSecTransformKWAes192GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes192Id">xmlSecTransformKWAes192Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes256GetKlass">xmlSecTransformKWAes256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWAes256Id">xmlSecTransformKWAes256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWDes3GetKlass">xmlSecTransformKWDes3GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformKWDes3Id">xmlSecTransformKWDes3Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMd5GetKlass">xmlSecTransformMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMd5Id">xmlSecTransformMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMemBufGetBuffer">xmlSecTransformMemBufGetBuffer</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMemBufGetKlass">xmlSecTransformMemBufGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMemBufId">xmlSecTransformMemBufId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformMode">xmlSecTransformMode</link></para></listitem> +<listitem><para><link linkend="xmlSecTransform">xmlSecTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformNodeReadMethod">xmlSecTransformNodeReadMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformNodeRead">xmlSecTransformNodeRead</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformNodeWriteMethod">xmlSecTransformNodeWriteMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformOperation">xmlSecTransformOperation</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPopBinMethod">xmlSecTransformPopBinMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPopBin">xmlSecTransformPopBin</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPopXmlMethod">xmlSecTransformPopXmlMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPopXml">xmlSecTransformPopXml</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPump">xmlSecTransformPump</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPushBinMethod">xmlSecTransformPushBinMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPushBin">xmlSecTransformPushBin</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPushXmlMethod">xmlSecTransformPushXmlMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformPushXml">xmlSecTransformPushXml</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRemove">xmlSecTransformRemove</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRemoveXmlTagsC14NGetKlass">xmlSecTransformRemoveXmlTagsC14NGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRemoveXmlTagsC14NId">xmlSecTransformRemoveXmlTagsC14NId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRipemd160GetKlass">xmlSecTransformRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRipemd160Id">xmlSecTransformRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaMd5GetKlass">xmlSecTransformRsaMd5GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaMd5Id">xmlSecTransformRsaMd5Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaOaepGetKlass">xmlSecTransformRsaOaepGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaOaepId">xmlSecTransformRsaOaepId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaPkcs1GetKlass">xmlSecTransformRsaPkcs1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaPkcs1Id">xmlSecTransformRsaPkcs1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaRipemd160GetKlass">xmlSecTransformRsaRipemd160GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaRipemd160Id">xmlSecTransformRsaRipemd160Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha1GetKlass">xmlSecTransformRsaSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha1Id">xmlSecTransformRsaSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha224GetKlass">xmlSecTransformRsaSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha224Id">xmlSecTransformRsaSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha256GetKlass">xmlSecTransformRsaSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha256Id">xmlSecTransformRsaSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha384GetKlass">xmlSecTransformRsaSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha384Id">xmlSecTransformRsaSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha512GetKlass">xmlSecTransformRsaSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformRsaSha512Id">xmlSecTransformRsaSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSetKeyMethod">xmlSecTransformSetKeyMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSetKey">xmlSecTransformSetKey</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSetKeyReq">xmlSecTransformSetKeyReq</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSetKeyRequirementsMethod">xmlSecTransformSetKeyRequirementsMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha1GetKlass">xmlSecTransformSha1GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha1Id">xmlSecTransformSha1Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha224GetKlass">xmlSecTransformSha224GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha224Id">xmlSecTransformSha224Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha256GetKlass">xmlSecTransformSha256GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha256Id">xmlSecTransformSha256Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha384GetKlass">xmlSecTransformSha384GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha384Id">xmlSecTransformSha384Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha512GetKlass">xmlSecTransformSha512GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformSha512Id">xmlSecTransformSha512Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformStatus">xmlSecTransformStatus</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeAny">xmlSecTransformUriTypeAny</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeCheck">xmlSecTransformUriTypeCheck</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeEmpty">xmlSecTransformUriTypeEmpty</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeLocal">xmlSecTransformUriTypeLocal</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriType">xmlSecTransformUriType</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeNone">xmlSecTransformUriTypeNone</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeRemote">xmlSecTransformUriTypeRemote</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUriTypeSameDocument">xmlSecTransformUriTypeSameDocument</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageAny">xmlSecTransformUsageAny</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageC14NMethod">xmlSecTransformUsageC14NMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageDigestMethod">xmlSecTransformUsageDigestMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageDSigTransform">xmlSecTransformUsageDSigTransform</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageEncryptionMethod">xmlSecTransformUsageEncryptionMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsage">xmlSecTransformUsage</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageSignatureMethod">xmlSecTransformUsageSignatureMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformUsageUnknown">xmlSecTransformUsageUnknown</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVerifyMethod">xmlSecTransformVerifyMethod</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVerify">xmlSecTransformVerify</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVerifyNodeContent">xmlSecTransformVerifyNodeContent</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVisa3DHackGetKlass">xmlSecTransformVisa3DHackGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVisa3DHackId">xmlSecTransformVisa3DHackId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformVisa3DHackSetID">xmlSecTransformVisa3DHackSetID</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXmlParserGetKlass">xmlSecTransformXmlParserGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXmlParserId">xmlSecTransformXmlParserId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPath2GetKlass">xmlSecTransformXPath2GetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPath2Id">xmlSecTransformXPath2Id</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPathGetKlass">xmlSecTransformXPathGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPathId">xmlSecTransformXPathId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPointerGetKlass">xmlSecTransformXPointerGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPointerId">xmlSecTransformXPointerId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXPointerSetExpr">xmlSecTransformXPointerSetExpr</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXsltGetKlass">xmlSecTransformXsltGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXsltId">xmlSecTransformXsltId</link></para></listitem> +<listitem><para><link linkend="xmlSecTransformXsltSetDefaultSecurityPrefs">xmlSecTransformXsltSetDefaultSecurityPrefs</link></para></listitem> +<listitem><para><link linkend="XMLSEC-VERSION-INFO-CAPS">XMLSEC-VERSION-INFO</link></para></listitem> +<listitem><para><link linkend="XMLSEC-VERSION-MAJOR-CAPS">XMLSEC-VERSION-MAJOR</link></para></listitem> +<listitem><para><link linkend="XMLSEC-VERSION-MINOR-CAPS">XMLSEC-VERSION-MINOR</link></para></listitem> +<listitem><para><link linkend="XMLSEC-VERSION-CAPS">XMLSEC-VERSION</link></para></listitem> +<listitem><para><link linkend="XMLSEC-VERSION-SUBMINOR-CAPS">XMLSEC-VERSION-SUBMINOR</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-CERTIFICATE-NODE-CAPS">XMLSEC-X509DATA-CERTIFICATE-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-CRL-NODE-CAPS">XMLSEC-X509DATA-CRL-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-DEFAULT-CAPS">XMLSEC-X509DATA-DEFAULT</link></para></listitem> +<listitem><para><link linkend="xmlSecX509DataGetNodeContent">xmlSecX509DataGetNodeContent</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-ISSUERSERIAL-NODE-CAPS">XMLSEC-X509DATA-ISSUERSERIAL-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-SKI-NODE-CAPS">XMLSEC-X509DATA-SKI-NODE</link></para></listitem> +<listitem><para><link linkend="XMLSEC-X509DATA-SUBJECTNAME-NODE-CAPS">XMLSEC-X509DATA-SUBJECTNAME-NODE</link></para></listitem> +<listitem><para><link linkend="xmlSecX509StoreGetKlass">xmlSecX509StoreGetKlass</link></para></listitem> +<listitem><para><link linkend="xmlSecX509StoreId">xmlSecX509StoreId</link></para></listitem> diff --git a/docs/api/xmlsec-io.html b/docs/api/xmlsec-io.html new file mode 100644 index 00000000..497676d3 --- /dev/null +++ b/docs/api/xmlsec-io.html @@ -0,0 +1,226 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>io</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="errors" href="xmlsec-errors.html"> +<link rel="NEXT" title="keyinfo" href="xmlsec-keyinfo.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-errors.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-keyinfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-IO"></a>io</h1> +<div class="REFNAMEDIV"> +<a name="AEN6257"></a><h2>Name</h2>io -- Input/output support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-IO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-io.html#XMLSECIOINIT">xmlSecIOInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-io.html#XMLSECIOSHUTDOWN">xmlSecIOShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-io.html#XMLSECIOCLEANUPCALLBACKS">xmlSecIOCleanupCallbacks</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-io.html#XMLSECIOREGISTERDEFAULTCALLBACKS">xmlSecIORegisterDefaultCallbacks</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-io.html#XMLSECIOREGISTERCALLBACKS">xmlSecIORegisterCallbacks</a> (<code class="PARAMETER"><gtkdoclink href="XMLINPUTMATCHCALLBACK"><span class="TYPE">xmlInputMatchCallback</span></gtkdoclink> matchFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTOPENCALLBACK"><span class="TYPE">xmlInputOpenCallback</span></gtkdoclink> openFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTREADCALLBACK"><span class="TYPE">xmlInputReadCallback</span></gtkdoclink> readFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTCLOSECALLBACK"><span class="TYPE">xmlInputCloseCallback</span></gtkdoclink> closeFunc</code>); +#define <a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIID">xmlSecTransformInputURIId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIGETKLASS">xmlSecTransformInputURIGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIOPEN">xmlSecTransformInputURIOpen</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-IO.DESCRIPTION"></a><h2>Description</h2> +<p>Input/output support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-IO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECIOINIT"></a><h3>xmlSecIOInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecIOInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The IO initialization (called from <a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function). +Applications should not call this function directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6331"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECIOSHUTDOWN"></a><h3>xmlSecIOShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecIOShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The IO clenaup (called from <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function). +Applications should not call this function directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECIOCLEANUPCALLBACKS"></a><h3>xmlSecIOCleanupCallbacks ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecIOCleanupCallbacks (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Clears the entire input callback table. this includes the +compiled-in I/O.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECIOREGISTERDEFAULTCALLBACKS"></a><h3>xmlSecIORegisterDefaultCallbacks ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecIORegisterDefaultCallbacks (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Registers the default compiled-in I/O handlers.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6369"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECIOREGISTERCALLBACKS"></a><h3>xmlSecIORegisterCallbacks ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecIORegisterCallbacks (<code class="PARAMETER"><gtkdoclink href="XMLINPUTMATCHCALLBACK"><span class="TYPE">xmlInputMatchCallback</span></gtkdoclink> matchFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTOPENCALLBACK"><span class="TYPE">xmlInputOpenCallback</span></gtkdoclink> openFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTREADCALLBACK"><span class="TYPE">xmlInputReadCallback</span></gtkdoclink> readFunc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLINPUTCLOSECALLBACK"><span class="TYPE">xmlInputCloseCallback</span></gtkdoclink> closeFunc</code>);</pre> +<p>Register a new set of I/O callback for handling parser input.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6395"><span style="white-space: nowrap"><code class="PARAMETER">matchFunc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the protocol match callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6400"><span style="white-space: nowrap"><code class="PARAMETER">openFunc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the open stream callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6405"><span style="white-space: nowrap"><code class="PARAMETER">readFunc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the read from stream callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6410"><span style="white-space: nowrap"><code class="PARAMETER">closeFunc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the close stream callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6415"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINPUTURIID"></a><h3>xmlSecTransformInputURIId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInputURIId</pre> +<p>The Input URI transform id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINPUTURIGETKLASS"></a><h3>xmlSecTransformInputURIGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInputURIGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The input uri transform klass. Reads binary data from an uri.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN6437"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> input URI transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINPUTURIOPEN"></a><h3>xmlSecTransformInputURIOpen ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformInputURIOpen (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Opens the given <code class="PARAMETER">uri</code> for reading.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6458"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to IO transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6463"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URL to open.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-errors.html"><b><<< errors</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-keyinfo.html"><b>keyinfo >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-keyinfo.html b/docs/api/xmlsec-keyinfo.html new file mode 100644 index 00000000..26fc9231 --- /dev/null +++ b/docs/api/xmlsec-keyinfo.html @@ -0,0 +1,700 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keyinfo</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="io" href="xmlsec-io.html"> +<link rel="NEXT" title="keysdata" href="xmlsec-keysdata.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-io.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-keysdata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-KEYINFO"></a>keyinfo</h1> +<div class="REFNAMEDIV"> +<a name="AEN6478"></a><h2>Name</h2>keyinfo -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-KEYINFO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEREAD">xmlSecKeyInfoNodeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEWRITE">xmlSecKeyInfoNodeWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +enum <a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a>; +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND:CAPS">XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN:CAPS">XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF:CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF:CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION:CAPS">XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE:CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</a> +#define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</a> +struct <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtx</a>; +<gtkdoclink href="XMLSECKEYINFOCTXPTR"><span class="RETURNVALUE">xmlSecKeyInfoCtxPtr</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE">xmlSecKeyInfoCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY">xmlSecKeyInfoCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE">xmlSecKeyInfoCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE">xmlSecKeyInfoCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXRESET">xmlSecKeyInfoCtxReset</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCOPYUSERPREF">xmlSecKeyInfoCtxCopyUserPref</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> src</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATEENCCTX">xmlSecKeyInfoCtxCreateEncCtx</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGDUMP">xmlSecKeyInfoCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGXMLDUMP">xmlSecKeyInfoCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEID">xmlSecKeyDataNameId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEGETKLASS">xmlSecKeyDataNameGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEID">xmlSecKeyDataValueId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEGETKLASS">xmlSecKeyDataValueGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODID">xmlSecKeyDataRetrievalMethodId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODGETKLASS">xmlSecKeyDataRetrievalMethodGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYID">xmlSecKeyDataEncryptedKeyId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYGETKLASS">xmlSecKeyDataEncryptedKeyGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYINFO.DESCRIPTION"></a><h2>Description</h2> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYINFO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECKEYINFONODEREAD"></a><h3>xmlSecKeyInfoNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyInfoNodeRead (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Parses the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element <code class="PARAMETER">keyInfoNode</code>, extracts the key data +and stores into <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6641"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6647"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result key object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6652"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6658"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or -1 if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFONODEWRITE"></a><h3>xmlSecKeyInfoNodeWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyInfoNodeWrite (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Writes the <code class="PARAMETER">key</code> into the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element template <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6684"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6690"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6695"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6701"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or -1 if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOMODE"></a><h3>enum xmlSecKeyInfoMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecKeyInfoModeRead = 0, + xmlSecKeyInfoModeWrite +} xmlSecKeyInfoMode;</pre> +<p>The <code class="PARAMETER">xmlSecKeyInfoCtx</code> operation mode (read or write).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYINFOMODEREAD"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyInfoModeRead</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>read <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYINFOMODEWRITE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyInfoModeWrite</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>write <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND 0x00000001</pre> +<p>If flag is set then we will continue reading <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> +element even when key is already found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD 0x00000002</pre> +<p>If flag is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> +child is found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN 0x00000004</pre> +<p>If flags is set then we abort if an unknown key name +(content of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName%20" target="_top"><dsig:KeyName /></a> element) is found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD 0x00000008</pre> +<p>If flags is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue%20" target="_top"><dsig:KeyValue /></a> +child is found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF 0x00000010</pre> +<p>If flag is set then we abort if an unknown href attribute +of <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element is found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF 0x00000020</pre> +<p>If flag is set then we abort if an href attribute <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> +element does not match the real key data type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD 0x00000100</pre> +<p>If flags is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a> +child is found.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS 0x00000200</pre> +<p>If flag is set then we'll load certificates from <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a> +element without verification.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT 0x00000400</pre> +<p>If flag is set then we'll stop when we could not resolve reference +to certificate from <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial%20" target="_top"><dsig:X509IssuerSerial /></a>, <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SKI%20" target="_top"><dsig:X509SKI /></a> or +<a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SubjectName%20" target="_top"><dsig:X509SubjectName /></a> elements.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT 0x00000800</pre> +<p>If the flag is set then we'll stop when <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a> element +processing does not return a verified certificate.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION 0x00001000</pre> +<p>If the flag is set then we'll stop when <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element +processing fails.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE 0x00002000</pre> +<p>If the flag is set then we'll stop when we found an empty node. +Otherwise we just ignore it.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS 0x00004000</pre> +<p>If the flag is set then we'll skip strict checking of certs and CRLs</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTX"></a><h3>struct xmlSecKeyInfoCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyInfoCtx { + void* userData; + unsigned int flags; + unsigned int flags2; + xmlSecKeysMngrPtr keysMngr; + xmlSecKeyInfoMode mode; + xmlSecPtrList enabledKeyData; + int base64LineSize; + + /* RetrievalMethod */ + xmlSecTransformCtx retrievalMethodCtx; + int maxRetrievalMethodLevel; + + + /* EncryptedKey */ + xmlSecEncCtxPtr encCtx; + int maxEncryptedKeyLevel; + + + + /* x509 certificates */ + time_t certsVerificationTime; + int certsVerificationDepth; + + + /* PGP */ + void* pgpReserved; /* TODO */ + + /* internal data */ + int curRetrievalMethodLevel; + int curEncryptedKeyLevel; + xmlSecKeyReq keyReq; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> reading or writing context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6825"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto + never touch this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6832"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask for flags that control processin.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6839"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6846"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> <code class="STRUCTFIELD">keysMngr</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to current keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6853"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE"><span class="TYPE">xmlSecKeyInfoMode</span></a> <code class="STRUCTFIELD">mode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>do we read or write <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6861"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">enabledKeyData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of enabled <code class="PARAMETER">xmlSecKeyDataId</code> (if list is + empty then all data ids are enabled).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6869"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">base64LineSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max columns size for base64 encoding.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6876"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">retrievalMethodCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transforms context for <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> + element processing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6884"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">maxRetrievalMethodLevel</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max recursion level when processing + <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element; default level is 1 + (see also <code class="PARAMETER">curRetrievalMethodLevel</code>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6893"><span style="white-space: nowrap"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> <code class="STRUCTFIELD">encCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption context for <a href="http://www.w3.org/TR/xmldsig-core/#sec-EncryptedKey%20" target="_top"><dsig:EncryptedKey /></a> element + processing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6901"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">maxEncryptedKeyLevel</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max recursion level when processing + <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element; default level is 1 + (see <code class="PARAMETER">curEncryptedKeyLevel</code>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6910"><span style="white-space: nowrap"><gtkdoclink href="TIME-T"><span class="TYPE">time_t</span></gtkdoclink> <code class="STRUCTFIELD">certsVerificationTime</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the time to use for X509 certificates verification + ("not valid before" and "not valid after" checks); + if <code class="PARAMETER">certsVerificationTime</code> is equal to 0 (default) + then we verify certificates against the system's + clock "now".</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6918"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">certsVerificationDepth</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max certifications chain length (default is 9).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6925"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">pgpReserved</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for PGP.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6932"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">curRetrievalMethodLevel</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element + processing level (see <code class="PARAMETER">maxRetrievalMethodLevel</code>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6941"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">curEncryptedKeyLevel</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element + processing level (see <code class="PARAMETER">maxEncryptedKeyLevel</code>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6950"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReq</span></a> <code class="STRUCTFIELD">keyReq</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current key requirements.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6957"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6964"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXCREATE"></a><h3>xmlSecKeyInfoCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYINFOCTXPTR"><span class="RETURNVALUE">xmlSecKeyInfoCtxPtr</span></gtkdoclink> xmlSecKeyInfoCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Allocates and initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context. +Caller is responsible for freeing it by calling <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY"><span class="TYPE">xmlSecKeyInfoCtxDestroy</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6986"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN6991"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated object or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXDESTROY"></a><h3>xmlSecKeyInfoCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyInfoCtxDestroy (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Destroys <code class="PARAMETER">keyInfoCtx</code> object created with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE"><span class="TYPE">xmlSecKeyInfoCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7011"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXINITIALIZE"></a><h3>xmlSecKeyInfoCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyInfoCtxInitialize (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context. Caller is +responsible for cleaning it up by <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE"><span class="TYPE">xmlSecKeyInfoCtxFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7035"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7041"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7046"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXFINALIZE"></a><h3>xmlSecKeyInfoCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyInfoCtxFinalize (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Cleans up the <code class="PARAMETER">keyInfoCtx</code> initialized with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE"><span class="TYPE">xmlSecKeyInfoCtxInitialize</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7066"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXRESET"></a><h3>xmlSecKeyInfoCtxReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyInfoCtxReset (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Resets the <code class="PARAMETER">keyInfoCtx</code> state. User settings are not changed.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7085"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXCOPYUSERPREF"></a><h3>xmlSecKeyInfoCtxCopyUserPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyInfoCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> src</code>);</pre> +<p>Copies user preferences from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code> context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7108"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7113"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7118"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXCREATEENCCTX"></a><h3>xmlSecKeyInfoCtxCreateEncCtx ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyInfoCtxCreateEncCtx (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Creates encryption context form processing <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> child +of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7137"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7143"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXDEBUGDUMP"></a><h3>xmlSecKeyInfoCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyInfoCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints user settings and current context state to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7164"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7170"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output file pointer.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYINFOCTXDEBUGXMLDUMP"></a><h3>xmlSecKeyInfoCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyInfoCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints user settings and current context state in XML format to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7191"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN7197"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output file pointer.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATANAMEID"></a><h3>xmlSecKeyDataNameId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataNameId xmlSecKeyDataNameGetKlass()</pre> +<p>The <dsig:KeyName> processing class.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATANAMEGETKLASS"></a><h3>xmlSecKeyDataNameGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataNameGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element key data klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-KEYNAME"><span class="TYPE">sec-KeyName</span></gtkdoclink>):</p> +<p>The KeyName element contains a string value (in which white space is +significant) which may be used by the signer to communicate a key +identifier to the recipient. Typically, KeyName contains an identifier +related to the key pair used to sign the message, but it may contain +other protocol-related information that indirectly identifies a key pair. +(Common uses of KeyName include simple string names for keys, a key index, +a distinguished name (DN), an email address, etc.)</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7223"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element processing key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAVALUEID"></a><h3>xmlSecKeyDataValueId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataValueId xmlSecKeyDataValueGetKlass()</pre> +<p>The <dsig:KeyValue> processing class.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAVALUEGETKLASS"></a><h3>xmlSecKeyDataValueGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataValueGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> element key data klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-KEYVALUE"><span class="TYPE">sec-KeyValue</span></gtkdoclink>):</p> +<p>The KeyValue element contains a single public key that may be useful in +validating the signature.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7250"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> element processing key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARETRIEVALMETHODID"></a><h3>xmlSecKeyDataRetrievalMethodId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataRetrievalMethodId xmlSecKeyDataRetrievalMethodGetKlass()</pre> +<p>The <dsig:RetrievalMethod> processing class.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATARETRIEVALMETHODGETKLASS"></a><h3>xmlSecKeyDataRetrievalMethodGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataRetrievalMethodGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> element key data klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-RETRIEVALMETHOD"><span class="TYPE">sec-RetrievalMethod</span></gtkdoclink>): +A RetrievalMethod element within KeyInfo is used to convey a reference to +KeyInfo information that is stored at another location. For example, +several signatures in a document might use a key verified by an X.509v3 +certificate chain appearing once in the document or remotely outside the +document; each signature's KeyInfo can reference this chain using a single +RetrievalMethod element instead of including the entire chain with a +sequence of X509Certificate elements.</p> +<p>RetrievalMethod uses the same syntax and dereferencing behavior as +Reference's URI and The Reference Processing Model.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7277"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> element processing key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAENCRYPTEDKEYID"></a><h3>xmlSecKeyDataEncryptedKeyId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataEncryptedKeyId xmlSecKeyDataEncryptedKeyGetKlass()</pre> +<p>The <enc:EncryptedKey> processing class.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAENCRYPTEDKEYGETKLASS"></a><h3>xmlSecKeyDataEncryptedKeyGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataEncryptedKeyGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> element key data klass +(http://www.w3.org/TR/xmlenc-core/<gtkdoclink href="SEC-ENCRYPTEDKEY"><span class="TYPE">sec-EncryptedKey</span></gtkdoclink>):</p> +<p>The EncryptedKey element is used to transport encryption keys from +the originator to a known recipient(s). It may be used as a stand-alone +XML document, be placed within an application document, or appear inside +an EncryptedData element as a child of a ds:KeyInfo element. The key value +is always encrypted to the recipient(s). When EncryptedKey is decrypted the +resulting octets are made available to the EncryptionMethod algorithm +without any additional processing.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN7304"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> element processing key data klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-io.html"><b><<< io</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-keysdata.html"><b>keysdata >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-keys.html b/docs/api/xmlsec-keys.html new file mode 100644 index 00000000..34929173 --- /dev/null +++ b/docs/api/xmlsec-keys.html @@ -0,0 +1,1161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keys</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="keysdata" href="xmlsec-keysdata.html"> +<link rel="NEXT" title="keysmngr" href="xmlsec-keysmngr.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-keysmngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-KEYS"></a>keys</h1> +<div class="REFNAMEDIV"> +<a name="AEN10274"></a><h2>Name</h2>keys -- Crypto key object definition.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-KEYS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">typedef <a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a>; +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a> +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a> +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a> +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a> +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a> +#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>); +<a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>); +<gtkdoclink href="XMLSECKEYUSEWITHPTR"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a>; +#define <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +struct <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a>; +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a>; +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>); +const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> <a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>); +<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>); +<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +#define <a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a> (key) +#define <a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a> (key, + keyId) +#define <a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYS.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto key object definition.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGE"></a><h3>xmlSecKeyUsage</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyUsage;</pre> +<p>The key usage.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGESIGN"></a><h3>xmlSecKeyUsageSign</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageSign 0x00000001</pre> +<p>Key can be used in any way.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGEVERIFY"></a><h3>xmlSecKeyUsageVerify</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageVerify 0x00000002</pre> +<p>Key for signing.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGEENCRYPT"></a><h3>xmlSecKeyUsageEncrypt</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageEncrypt 0x00000004</pre> +<p>Key for signature verification.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGEDECRYPT"></a><h3>xmlSecKeyUsageDecrypt</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageDecrypt 0x00000008</pre> +<p>An encryption key.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a><h3>xmlSecKeyUsageKeyExchange</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageKeyExchange 0x00000010</pre> +<p>The key is used for key exchange.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSAGEANY"></a><h3>xmlSecKeyUsageAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUsageAny 0xFFFFFFFF</pre> +<p>A decryption key.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHINITIALIZE"></a><h3>xmlSecKeyUseWithInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre> +<p>Initializes <code class="PARAMETER">keyUseWith</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10684"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10689"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHFINALIZE"></a><h3>xmlSecKeyUseWithFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre> +<p>Finalizes <code class="PARAMETER">keyUseWith</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10707"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHRESET"></a><h3>xmlSecKeyUseWithReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre> +<p>Resets the <code class="PARAMETER">keyUseWith</code> to its state after initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10725"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHCOPY"></a><h3>xmlSecKeyUseWithCopy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>);</pre> +<p>Copies information from <code class="PARAMETER">dst</code> to <code class="PARAMETER">src</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10747"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10752"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10757"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHCREATE"></a><h3>xmlSecKeyUseWithCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a> xmlSecKeyUseWithCreate (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);</pre> +<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying +returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10778"><span style="white-space: nowrap"><code class="PARAMETER">application</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the application value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10783"><span style="white-space: nowrap"><code class="PARAMETER">identifier</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the identifier value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10788"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created object or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHDUPLICATE"></a><h3>xmlSecKeyUseWithDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYUSEWITHPTR"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></gtkdoclink> xmlSecKeyUseWithDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre> +<p>Duplicates <code class="PARAMETER">keyUseWith</code> object. The caller is responsible for destroying +returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10807"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10812"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created object or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHDESTROY"></a><h3>xmlSecKeyUseWithDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre> +<p>Destroys <code class="PARAMETER">keyUseWith</code> created with <code class="PARAMETER">xmlSecKeyUseWithCreate</code> or <code class="PARAMETER">xmlSecKeyUseWithDuplicate</code> +functions.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10832"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHSET"></a><h3>xmlSecKeyUseWithSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithSet (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);</pre> +<p>Sets <code class="PARAMETER">application</code> and <code class="PARAMETER">identifier</code> in the <code class="PARAMETER">keyUseWith</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10858"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10863"><span style="white-space: nowrap"><code class="PARAMETER">application</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new application value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10868"><span style="white-space: nowrap"><code class="PARAMETER">identifier</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new identifier value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10873"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a><h3>xmlSecKeyUseWithDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10894"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10899"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a><h3>xmlSecKeyUseWithDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10920"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10925"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITH"></a><h3>struct xmlSecKeyUseWith</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyUseWith { + xmlChar* application; + xmlChar* identifier; + + void* reserved1; + void* reserved2; +};</pre> +<p>Information about application and user of the key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10937"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">application</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the application.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10944"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">identifier</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the identifier.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10951"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10958"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHPTRLISTID"></a><h3>xmlSecKeyUseWithPtrListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()</pre> +<p>The keys list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a><h3>xmlSecKeyUseWithPtrListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyUseWithPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The key data list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10982"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key data list klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQ"></a><h3>struct xmlSecKeyReq</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyReq { + xmlSecKeyDataId keyId; + xmlSecKeyDataType keyType; + xmlSecKeyUsage keyUsage; + xmlSecSize keyBitsSize; + xmlSecPtrList keyUseWithList; + + void* reserved1; + void* reserved2; +};</pre> +<p>The key requirements information.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10994"><span style="white-space: nowrap"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> <code class="STRUCTFIELD">keyId</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key value klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11001"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> <code class="STRUCTFIELD">keyType</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11008"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">keyUsage</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11015"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">keyBitsSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key size (in bits!).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11022"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">keyUseWithList</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key use with application/identifier information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11029"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11036"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQINITIALIZE"></a><h3>xmlSecKeyReqInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Initialize key requirements object. Caller is responsible for +cleaning it with <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE"><span class="TYPE">xmlSecKeyReqFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11057"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11062"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQFINALIZE"></a><h3>xmlSecKeyReqFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11081"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQRESET"></a><h3>xmlSecKeyReqReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Resets key requirements object for new key search.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11098"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQCOPY"></a><h3>xmlSecKeyReqCopy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>);</pre> +<p>Copies key requirements from <code class="PARAMETER">src</code> object to <code class="PARAMETER">dst</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11120"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11125"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11130"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQMATCHKEY"></a><h3>xmlSecKeyReqMatchKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqMatchKey (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Checks whether <code class="PARAMETER">key</code> matches key requirements <code class="PARAMETER">keyReq</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11152"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11157"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11162"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if key matches requirements, 0 if not and a negative value +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQMATCHKEYVALUE"></a><h3>xmlSecKeyReqMatchKeyValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqMatchKeyValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre> +<p>Checks whether <code class="PARAMETER">keyValue</code> matches key requirements <code class="PARAMETER">keyReq</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11184"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11189"><span style="white-space: nowrap"><code class="PARAMETER">value</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11194"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if key value matches requirements, 0 if not and a negative value +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQDEBUGDUMP"></a><h3>xmlSecKeyReqDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">keyReq</code> into <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11216"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11221"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREQDEBUGXMLDUMP"></a><h3>xmlSecKeyReqDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">keyReq</code> into <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11243"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11248"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEY"></a><h3>struct xmlSecKey</h3> +<pre class="PROGRAMLISTING">struct xmlSecKey { + xmlChar* name; + xmlSecKeyDataPtr value; + xmlSecPtrListPtr dataList; + xmlSecKeyUsage usage; + time_t notValidBefore; + time_t notValidAfter; +};</pre> +<p>The key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11260"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the key name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11267"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> <code class="STRUCTFIELD">value</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11274"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">dataList</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11281"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">usage</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the key usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11288"><span style="white-space: nowrap"><gtkdoclink href="TIME-T"><span class="TYPE">time_t</span></gtkdoclink> <code class="STRUCTFIELD">notValidBefore</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the start key validity interval.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11295"><span style="white-space: nowrap"><gtkdoclink href="TIME-T"><span class="TYPE">time_t</span></gtkdoclink> <code class="STRUCTFIELD">notValidAfter</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the end key validity interval.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYCREATE"></a><h3>xmlSecKeyCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Allocates and initializes new key. Caller is responsible for +freeing returned object with <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11315"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated <code class="PARAMETER">xmlSecKey</code> structure +or NULL if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDESTROY"></a><h3>xmlSecKeyDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11335"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYEMPTY"></a><h3>xmlSecKeyEmpty ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyEmpty (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Clears the <code class="PARAMETER">key</code> data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11353"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDUPLICATE"></a><h3>xmlSecKeyDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> xmlSecKeyDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Creates a duplicate of the given <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11371"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11378"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYCOPY"></a><h3>xmlSecKeyCopy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>);</pre> +<p>Copies key data from <code class="PARAMETER">keySrc</code> to <code class="PARAMETER">keyDst</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11402"><span style="white-space: nowrap"><code class="PARAMETER">keyDst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11407"><span style="white-space: nowrap"><code class="PARAMETER">keySrc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11412"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGETNAME"></a><h3>xmlSecKeyGetName ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecKeyGetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11431"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11436"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key name.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSETNAME"></a><h3>xmlSecKeySetName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeySetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>);</pre> +<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11458"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11463"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new key name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGETTYPE"></a><h3>xmlSecKeyGetType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> xmlSecKeyGetType (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Gets <code class="PARAMETER">key</code> type.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11486"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11491"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key type.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGETVALUE"></a><h3>xmlSecKeyGetValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyGetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11510"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11515"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key value (crypto material).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSETVALUE"></a><h3>xmlSecKeySetValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeySetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre> +<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11537"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11542"><span style="white-space: nowrap"><code class="PARAMETER">value</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11547"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGETDATA"></a><h3>xmlSecKeyGetData ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyGetData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);</pre> +<p>Gets key's data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11567"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11572"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the requested data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11577"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> additional data associated with the <code class="PARAMETER">key</code> (see also +<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYENSUREDATA"></a><h3>xmlSecKeyEnsureData ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyEnsureData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);</pre> +<p>If necessary, creates key data of <code class="PARAMETER">dataId</code> klass and adds to <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11602"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11607"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the requested data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11612"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to key data or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYADOPTDATA"></a><h3>xmlSecKeyAdoptData ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyAdoptData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Adds <code class="PARAMETER">data</code> to the <code class="PARAMETER">key</code>. The <code class="PARAMETER">data</code> object will be destroyed +by <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11636"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11641"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11646"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDEBUGDUMP"></a><h3>xmlSecKeyDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the information about the <code class="PARAMETER">key</code> to the <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11668"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11673"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDEBUGXMLDUMP"></a><h3>xmlSecKeyDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the information about the <code class="PARAMETER">key</code> to the <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11695"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11700"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGENERATE"></a><h3>xmlSecKeyGenerate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyGenerate (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Generates new key of requested klass <code class="PARAMETER">dataId</code> and <code class="PARAMETER">type</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11725"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the requested key klass (rsa, dsa, aes, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11730"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new key size (in bits!).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11735"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new key type (session, permanent, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11740"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYGENERATEBYNAME"></a><h3>xmlSecKeyGenerateByName ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyGenerateByName (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Generates new key of requested <code class="PARAMETER">klass</code> and <code class="PARAMETER">type</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11765"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the requested key klass name (rsa, dsa, aes, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11770"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new key size (in bits!).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11775"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new key type (session, permanent, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11780"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYMATCH"></a><h3>xmlSecKeyMatch ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyMatch (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Checks whether the <code class="PARAMETER">key</code> matches the given criteria.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11804"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11809"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key name (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11814"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11819"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if the key satisfies the given criteria or 0 otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREADBUFFER"></a><h3>xmlSecKeyReadBuffer ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadBuffer (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>);</pre> +<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11840"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11845"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer that contains the binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11850"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREADBINARYFILE"></a><h3>xmlSecKeyReadBinaryFile ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadBinaryFile (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>);</pre> +<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a binary file <code class="PARAMETER">filename</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11872"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11877"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11882"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYREADMEMORY"></a><h3>xmlSecKeyReadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadMemory (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a memory block <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11907"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11912"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the memory containing the key</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11917"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the memory block</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11922"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYISVALID"></a><h3>xmlSecKeyIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyIsValid(key)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">key</code> is not NULL and <code class="PARAMETER">key</code>->id is not NULL +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11936"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYCHECKID"></a><h3>xmlSecKeyCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyCheckId(key, keyId)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">key</code> is valid and <code class="PARAMETER">key</code>'s id is equal to <code class="PARAMETER">keyId</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11951"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN11956"><span style="white-space: nowrap"><code class="PARAMETER">keyId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key Id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYPTRLISTID"></a><h3>xmlSecKeyPtrListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()</pre> +<p>The keys list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYPTRLISTGETKLASS"></a><h3>xmlSecKeyPtrListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The keys list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN11978"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> keys list id.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-keysdata.html"><b><<< keysdata</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-keysmngr.html"><b>keysmngr >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-keysdata.html b/docs/api/xmlsec-keysdata.html new file mode 100644 index 00000000..3db153ba --- /dev/null +++ b/docs/api/xmlsec-keysdata.html @@ -0,0 +1,2067 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keysdata</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="keyinfo" href="xmlsec-keyinfo.html"> +<link rel="NEXT" title="keys" href="xmlsec-keys.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-keyinfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-keys.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-KEYSDATA"></a>keysdata</h1> +<div class="REFNAMEDIV"> +<a name="AEN7315"></a><h2>Name</h2>keysdata -- Crypto key data object definition.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-KEYSDATA.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">typedef <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE">xmlSecKeyDataUsage</a>; +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEUNKNOWN">xmlSecKeyDataUsageUnknown</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEREAD">xmlSecKeyDataUsageKeyInfoNodeRead</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEWRITE">xmlSecKeyDataUsageKeyInfoNodeWrite</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEREAD">xmlSecKeyDataUsageKeyValueNodeRead</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEWRITE">xmlSecKeyDataUsageKeyValueNodeWrite</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML">xmlSecKeyDataUsageRetrievalMethodNodeXml</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN">xmlSecKeyDataUsageRetrievalMethodNodeBin</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEANY">xmlSecKeyDataUsageAny</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODE">xmlSecKeyDataUsageKeyInfoNode</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODE">xmlSecKeyDataUsageKeyValueNode</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODE">xmlSecKeyDataUsageRetrievalMethodNode</a> +typedef <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a>; +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN">xmlSecKeyDataTypeUnknown</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE">xmlSecKeyDataTypeNone</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPUBLIC">xmlSecKeyDataTypePublic</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPRIVATE">xmlSecKeyDataTypePrivate</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESYMMETRIC">xmlSecKeyDataTypeSymmetric</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESESSION">xmlSecKeyDataTypeSession</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPERMANENT">xmlSecKeyDataTypePermanent</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPETRUSTED">xmlSecKeyDataTypeTrusted</a> +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEANY">xmlSecKeyDataTypeAny</a> +enum <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a>; +<a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSGET">xmlSecKeyDataIdsGet</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSINIT">xmlSecKeyDataIdsInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSSHUTDOWN">xmlSecKeyDataIdsShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTERDEFAULT">xmlSecKeyDataIdsRegisterDefault</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTER">xmlSecKeyDataIdsRegister</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>); +struct <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyData</a>; +<a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATACREATE">xmlSecKeyDataCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATE">xmlSecKeyDataDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY">xmlSecKeyDataDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATE">xmlSecKeyDataGenerate</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPE">xmlSecKeyDataGetType</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZE">xmlSecKeyDataGetSize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIER">xmlSecKeyDataGetIdentifier</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMP">xmlSecKeyDataDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGXMLDUMP">xmlSecKeyDataDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREAD">xmlSecKeyDataXmlRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITE">xmlSecKeyDataXmlWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREAD">xmlSecKeyDataBinRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITE">xmlSecKeyDataBinWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAGETNAME">xmlSecKeyDataGetName</a> (data) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAISVALID">xmlSecKeyDataIsValid</a> (data) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKID">xmlSecKeyDataCheckId</a> (data, + dataId) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKUSAGE">xmlSecKeyDataCheckUsage</a> (data, + usg) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKSIZE">xmlSecKeyDataCheckSize</a> (data, + size) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAIDUNKNOWN">xmlSecKeyDataIdUnknown</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD">*xmlSecKeyDataInitMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD">*xmlSecKeyDataDuplicateMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD">*xmlSecKeyDataFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">*xmlSecKeyDataXmlReadMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD">*xmlSecKeyDataXmlWriteMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">*xmlSecKeyDataBinReadMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD">*xmlSecKeyDataBinWriteMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD">*xmlSecKeyDataGenerateMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD">*xmlSecKeyDataGetTypeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> (<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD">*xmlSecKeyDataGetSizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * (<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD">*xmlSecKeyDataGetIdentifierMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD">*xmlSecKeyDataDebugDumpMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASS">xmlSecKeyDataKlass</a>; +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASSGETNAME">xmlSecKeyDataKlassGetName</a> (klass) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATALISTID">xmlSecKeyDataListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTGETKLASS">xmlSecKeyDataListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTID">xmlSecKeyDataIdListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTGETKLASS">xmlSecKeyDataIdListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFIND">xmlSecKeyDataIdListFind</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>); +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNODE">xmlSecKeyDataIdListFindByNode</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYHREF">xmlSecKeyDataIdListFindByHref</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNAME">xmlSecKeyDataIdListFindByName</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGDUMP">xmlSecKeyDataIdListDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGXMLDUMP">xmlSecKeyDataIdListDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYSIZE">xmlSecKeyDataBinarySize</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEINITIALIZE">xmlSecKeyDataBinaryValueInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDUPLICATE">xmlSecKeyDataBinaryValueDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEFINALIZE">xmlSecKeyDataBinaryValueFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLREAD">xmlSecKeyDataBinaryValueXmlRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLWRITE">xmlSecKeyDataBinaryValueXmlWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINREAD">xmlSecKeyDataBinaryValueBinRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINWRITE">xmlSecKeyDataBinaryValueBinWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGDUMP">xmlSecKeyDataBinaryValueDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP">xmlSecKeyDataBinaryValueDebugXmlDump</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETSIZE">xmlSecKeyDataBinaryValueGetSize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETBUFFER">xmlSecKeyDataBinaryValueGetBuffer</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUESETBUFFER">xmlSecKeyDataBinaryValueSetBuffer</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +struct <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE">xmlSecKeyDataStore</a>; +<a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a> <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE">xmlSecKeyDataStoreCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY">xmlSecKeyDataStoreDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>); +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREGETNAME">xmlSecKeyDataStoreGetName</a> (store) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREISVALID">xmlSecKeyDataStoreIsValid</a> (store) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKID">xmlSecKeyDataStoreCheckId</a> (store, + storeId) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKSIZE">xmlSecKeyDataStoreCheckSize</a> (store, + size) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREIDUNKNOWN">xmlSecKeyDataStoreIdUnknown</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD">*xmlSecKeyDataStoreInitializeMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD">*xmlSecKeyDataStoreFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>); +struct <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASS">xmlSecKeyDataStoreKlass</a>; +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASSGETNAME">xmlSecKeyDataStoreKlassGetName</a> (klass) +#define <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTID">xmlSecKeyDataStorePtrListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTGETKLASS">xmlSecKeyDataStorePtrListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYSDATA.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto key data object definition.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYSDATA.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGE"></a><h3>xmlSecKeyDataUsage</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyDataUsage;</pre> +<p>The bits mask that determines possible keys data usage.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEUNKNOWN"></a><h3>xmlSecKeyDataUsageUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageUnknown 0x00000</pre> +<p>The key data usage is unknown.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYINFONODEREAD"></a><h3>xmlSecKeyDataUsageKeyInfoNodeRead</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNodeRead 0x00001</pre> +<p>The key data could be read from a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYINFONODEWRITE"></a><h3>xmlSecKeyDataUsageKeyInfoNodeWrite</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNodeWrite 0x00002</pre> +<p>The key data could be written to a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYVALUENODEREAD"></a><h3>xmlSecKeyDataUsageKeyValueNodeRead</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNodeRead 0x00004</pre> +<p>The key data could be read from a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue%20" target="_top"><dsig:KeyValue /></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYVALUENODEWRITE"></a><h3>xmlSecKeyDataUsageKeyValueNodeWrite</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNodeWrite 0x00008</pre> +<p>The key data could be written to a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue%20" target="_top"><dsig:KeyValue /></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeXml</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNodeXml 0x00010</pre> +<p>The key data could be retrieved using <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> node +in XML format.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeBin</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNodeBin 0x00020</pre> +<p>The key data could be retrieved using <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> node +in binary format.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEANY"></a><h3>xmlSecKeyDataUsageAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageAny 0xFFFFF</pre> +<p>Any key data usage.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYINFONODE"></a><h3>xmlSecKeyDataUsageKeyInfoNode</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNode</pre> +<p>The key data could be read and written from/to a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGEKEYVALUENODE"></a><h3>xmlSecKeyDataUsageKeyValueNode</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNode</pre> +<p>The key data could be read and written from/to a <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue%20" target="_top"><dsig:KeyValue /></a> child.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODE"></a><h3>xmlSecKeyDataUsageRetrievalMethodNode</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNode</pre> +<p>The key data could be retrieved using <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> node +in any format.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPE"></a><h3>xmlSecKeyDataType</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyDataType;</pre> +<p>The key data type (public/private, session/permanet, etc.).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPEUNKNOWN"></a><h3>xmlSecKeyDataTypeUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeUnknown 0x0000</pre> +<p>The key data type is unknown (same as <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE"><span class="TYPE">xmlSecKeyDataTypeNone</span></a>).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPENONE"></a><h3>xmlSecKeyDataTypeNone</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeNone xmlSecKeyDataTypeUnknown</pre> +<p>The key data type is unknown (same as <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN"><span class="TYPE">xmlSecKeyDataTypeUnknown</span></a>).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPEPUBLIC"></a><h3>xmlSecKeyDataTypePublic</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePublic 0x0001</pre> +<p>The key data contain a public key.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPEPRIVATE"></a><h3>xmlSecKeyDataTypePrivate</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePrivate 0x0002</pre> +<p>The key data contain a private key.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPESYMMETRIC"></a><h3>xmlSecKeyDataTypeSymmetric</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeSymmetric 0x0004</pre> +<p>The key data contain a symmetric key.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPESESSION"></a><h3>xmlSecKeyDataTypeSession</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeSession 0x0008</pre> +<p>The key data contain session key (one time key, not stored in keys manager).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPEPERMANENT"></a><h3>xmlSecKeyDataTypePermanent</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePermanent 0x0010</pre> +<p>The key data contain permanent key (stored in keys manager).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPETRUSTED"></a><h3>xmlSecKeyDataTypeTrusted</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeTrusted 0x0100</pre> +<p>The key data is trusted.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATATYPEANY"></a><h3>xmlSecKeyDataTypeAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeAny 0xFFFF</pre> +<p>Any key data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAFORMAT"></a><h3>enum xmlSecKeyDataFormat</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecKeyDataFormatUnknown = 0, + xmlSecKeyDataFormatBinary, + xmlSecKeyDataFormatPem, + xmlSecKeyDataFormatDer, + xmlSecKeyDataFormatPkcs8Pem, + xmlSecKeyDataFormatPkcs8Der, + xmlSecKeyDataFormatPkcs12, + xmlSecKeyDataFormatCertPem, + xmlSecKeyDataFormatCertDer +} xmlSecKeyDataFormat;</pre> +<p>The key data format (binary, der, pem, etc.).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATUNKNOWN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatUnknown</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the key data format is unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATBINARY"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatBinary</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATPEM"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatPem</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the PEM key data (cert or public/private key).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATDER"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatDer</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the DER key data (cert or public/private key).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATPKCS8PEM"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatPkcs8Pem</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS8 PEM private key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATPKCS8DER"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatPkcs8Der</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS8 DER private key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATPKCS12"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatPkcs12</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 format (bag of keys and certs)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATCERTPEM"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatCertPem</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the PEM cert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECKEYDATAFORMATCERTDER"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyDataFormatCertDer</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the DER cert.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDSGET"></a><h3>xmlSecKeyDataIdsGet ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> xmlSecKeyDataIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets global registered key data klasses list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8096"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to list of all registered key data klasses.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDSINIT"></a><h3>xmlSecKeyDataIdsInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes the key data klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8114"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDSSHUTDOWN"></a><h3>xmlSecKeyDataIdsShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Shuts down the keys data klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDSREGISTERDEFAULT"></a><h3>xmlSecKeyDataIdsRegisterDefault ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Registers default (implemented by XML Security Library) +key data klasses: <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element processing klass, +<a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> element processing klass, ...</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8144"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDSREGISTER"></a><h3>xmlSecKeyDataIdsRegister ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataIdsRegister (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>);</pre> +<p>Registers <code class="PARAMETER">id</code> in the global list of key data klasses.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8162"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8167"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATA"></a><h3>struct xmlSecKeyData</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyData { + xmlSecKeyDataId id; + void* reserved0; + void* reserved1; +};</pre> +<p>The key data: key value (crypto material), x509 data, pgp data, etc.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8179"><span style="white-space: nowrap"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id (<gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8188"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8195"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATACREATE"></a><h3>xmlSecKeyDataCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecKeyDataCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>);</pre> +<p>Allocates and initializes new key data of the specified type <code class="PARAMETER">id</code>. +Caller is responsible for destroying returned object with +<a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY"><span class="TYPE">xmlSecKeyDataDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8217"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8222"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated key data structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADUPLICATE"></a><h3>xmlSecKeyDataDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyDataDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Creates a duplicate of the given <code class="PARAMETER">data</code>. Caller is responsible for +destroying returned object with <a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY"><span class="TYPE">xmlSecKeyDataDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8242"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8247"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated key data structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADESTROY"></a><h3>xmlSecKeyDataDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataDestroy (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Destroys the data and frees all allocated memory.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8264"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the key data.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGENERATE"></a><h3>xmlSecKeyDataGenerate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataGenerate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Generates new key data of given size and type.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8287"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8292"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data size (in bits).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8297"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8302"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETTYPE"></a><h3>xmlSecKeyDataGetType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> xmlSecKeyDataGetType (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets key data type.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8319"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8324"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data type.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETSIZE"></a><h3>xmlSecKeyDataGetSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecKeyDataGetSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets key data size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8341"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8346"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data size (in bits).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETIDENTIFIER"></a><h3>xmlSecKeyDataGetIdentifier ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecKeyDataGetIdentifier (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets key data identifier string.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8363"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8368"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data id string.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADEBUGDUMP"></a><h3>xmlSecKeyDataDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataDebugDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints key data debug info.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8388"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8393"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADEBUGXMLDUMP"></a><h3>xmlSecKeyDataDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints key data debug info in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8413"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8418"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAXMLREAD"></a><h3>xmlSecKeyDataXmlRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataXmlRead (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads the key data of klass <code class="PARAMETER">id</code> from XML <code class="PARAMETER">node</code> and adds them to <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8447"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8452"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8457"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8462"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAXMLWRITE"></a><h3>xmlSecKeyDataXmlWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataXmlWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Writes the key data of klass <code class="PARAMETER">id</code> from <code class="PARAMETER">key</code> to an XML <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8497"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8502"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8507"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8512"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8518"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINREAD"></a><h3>xmlSecKeyDataBinRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinRead (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads the key data of klass <code class="PARAMETER">id</code> from binary buffer <code class="PARAMETER">buf</code> to <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8550"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8555"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8560"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8565"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8570"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8576"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINWRITE"></a><h3>xmlSecKeyDataBinWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Writes the key data of klass <code class="PARAMETER">id</code> from the <code class="PARAMETER">key</code> to a binary buffer <code class="PARAMETER">buf</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8608"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8613"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8618"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8623"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8628"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8634"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETNAME"></a><h3>xmlSecKeyDataGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataGetName(data)</pre> +<p>Macro. Returns the key data name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8646"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAISVALID"></a><h3>xmlSecKeyDataIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataIsValid(data)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">data</code> is not NULL and <code class="PARAMETER">data</code>->id is not NULL +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8660"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATACHECKID"></a><h3>xmlSecKeyDataCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckId(data, dataId)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">data</code> is valid and <code class="PARAMETER">data</code>'s id is equal to <code class="PARAMETER">dataId</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8675"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8680"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data Id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATACHECKUSAGE"></a><h3>xmlSecKeyDataCheckUsage()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckUsage(data, usg)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">data</code> is valid and could be used for <code class="PARAMETER">usg</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8694"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8699"><span style="white-space: nowrap"><code class="PARAMETER">usg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data usage.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATACHECKSIZE"></a><h3>xmlSecKeyDataCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckSize(data, size)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">data</code> is valid and <code class="PARAMETER">data</code>'s object has at least <code class="PARAMETER">size</code> bytes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8714"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8719"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDUNKNOWN"></a><h3>xmlSecKeyDataIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataIdUnknown ((xmlSecKeyDataId)NULL)</pre> +<p>The "unknown" id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAINITMETHOD"></a><h3>xmlSecKeyDataInitMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataInitMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Key data specific initialization method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8742"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8747"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADUPLICATEMETHOD"></a><h3>xmlSecKeyDataDuplicateMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataDuplicateMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre> +<p>Key data specific duplication (copy) method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8767"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8772"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poiniter to source key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8777"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAFINALIZEMETHOD"></a><h3>xmlSecKeyDataFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecKeyDataFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Key data specific finalization method. All the objects and resources allocated +by the key data object must be freed inside this method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN8794"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAXMLREADMETHOD"></a><h3>xmlSecKeyDataXmlReadMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataXmlReadMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Key data specific method for reading XML node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8820"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8825"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8830"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data's value XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8835"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8841"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAXMLWRITEMETHOD"></a><h3>xmlSecKeyDataXmlWriteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataXmlWriteMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Key data specific method for writing XML node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8867"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8872"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8877"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data's value XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8882"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <dsig:KeyInfo> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8887"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINREADMETHOD"></a><h3>xmlSecKeyDataBinReadMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataBinReadMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Key data specific method for reading binary buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8916"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8921"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8926"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8931"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8936"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINWRITEMETHOD"></a><h3>xmlSecKeyDataBinWriteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataBinWriteMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Key data specific method for reading binary buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8971"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8976"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8981"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8986"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8991"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN8997"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGENERATEMETHOD"></a><h3>xmlSecKeyDataGenerateMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataGenerateMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Key data specific method for generating new key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9020"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9025"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data specific size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9030"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the required key type (session/permanent, etc.)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9035"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETTYPEMETHOD"></a><h3>xmlSecKeyDataGetTypeMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> (*xmlSecKeyDataGetTypeMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Key data specific method to get the key type.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9052"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9057"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key type.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETSIZEMETHOD"></a><h3>xmlSecKeyDataGetSizeMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> (*xmlSecKeyDataGetSizeMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Key data specific method to get the key size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9074"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9079"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key size in bits.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAGETIDENTIFIERMETHOD"></a><h3>xmlSecKeyDataGetIdentifierMethod ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * (*xmlSecKeyDataGetIdentifierMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Key data specific method to get the key data identifier string (for example, +X509 data identifier is the subject of the verified cert).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9096"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9101"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the identifier string or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATADEBUGDUMPMETHOD"></a><h3>xmlSecKeyDataDebugDumpMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecKeyDataDebugDumpMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Key data specific method for printing debug info.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9121"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9126"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the FILE to print debug info (should be open for writing).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAKLASS"></a><h3>struct xmlSecKeyDataKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyDataKlass { + xmlSecSize klassSize; + xmlSecSize objSize; + + /* data */ + const xmlChar* name; + xmlSecKeyDataUsage usage; + const xmlChar* href; + const xmlChar* dataNodeName; + const xmlChar* dataNodeNs; + + /* constructors/destructor */ + xmlSecKeyDataInitMethod initialize; + xmlSecKeyDataDuplicateMethod duplicate; + xmlSecKeyDataFinalizeMethod finalize; + xmlSecKeyDataGenerateMethod generate; + + /* get info */ + xmlSecKeyDataGetTypeMethod getType; + xmlSecKeyDataGetSizeMethod getSize; + xmlSecKeyDataGetIdentifierMethod getIdentifier; + + /* read/write */ + xmlSecKeyDataXmlReadMethod xmlRead; + xmlSecKeyDataXmlWriteMethod xmlWrite; + xmlSecKeyDataBinReadMethod binRead; + xmlSecKeyDataBinWriteMethod binWrite; + + /* debug */ + xmlSecKeyDataDebugDumpMethod debugDump; + xmlSecKeyDataDebugDumpMethod debugXmlDump; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The data id (klass).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9138"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the klass size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9145"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the object size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9152"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the object name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9159"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> <code class="STRUCTFIELD">usage</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the allowed data usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9166"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">href</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the identification string (href).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9173"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">dataNodeName</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data's XML node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9180"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">dataNodeNs</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data's XML node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9187"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD"><span class="TYPE">xmlSecKeyDataInitMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the initialization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9194"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD"><span class="TYPE">xmlSecKeyDataDuplicateMethod</span></a> <code class="STRUCTFIELD">duplicate</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the duplicate (copy) method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9201"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD"><span class="TYPE">xmlSecKeyDataFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the finalization (destroy) method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9208"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD"><span class="TYPE">xmlSecKeyDataGenerateMethod</span></a> <code class="STRUCTFIELD">generate</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the new data generation method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9215"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD"><span class="TYPE">xmlSecKeyDataGetTypeMethod</span></a> <code class="STRUCTFIELD">getType</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method to access data's type information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9222"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD"><span class="TYPE">xmlSecKeyDataGetSizeMethod</span></a> <code class="STRUCTFIELD">getSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method to access data's size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9229"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD"><span class="TYPE">xmlSecKeyDataGetIdentifierMethod</span></a> <code class="STRUCTFIELD">getIdentifier</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method to access data's string identifier.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9236"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD"><span class="TYPE">xmlSecKeyDataXmlReadMethod</span></a> <code class="STRUCTFIELD">xmlRead</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for reading data from XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9243"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD"><span class="TYPE">xmlSecKeyDataXmlWriteMethod</span></a> <code class="STRUCTFIELD">xmlWrite</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for writing data to XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9250"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD"><span class="TYPE">xmlSecKeyDataBinReadMethod</span></a> <code class="STRUCTFIELD">binRead</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for reading data from a binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9257"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD"><span class="TYPE">xmlSecKeyDataBinWriteMethod</span></a> <code class="STRUCTFIELD">binWrite</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for writing data to binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9264"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD"><span class="TYPE">xmlSecKeyDataDebugDumpMethod</span></a> <code class="STRUCTFIELD">debugDump</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for printing debug data information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9271"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD"><span class="TYPE">xmlSecKeyDataDebugDumpMethod</span></a> <code class="STRUCTFIELD">debugXmlDump</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the method for printing debug data information in XML format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9278"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9285"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAKLASSGETNAME"></a><h3>xmlSecKeyDataKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataKlassGetName(klass)</pre> +<p>Macro. Returns data klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN9299"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATALISTID"></a><h3>xmlSecKeyDataListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataListId xmlSecKeyDataListGetKlass()</pre> +<p>The key data klasses list klass id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATALISTGETKLASS"></a><h3>xmlSecKeyDataListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyDataListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The key data list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN9321"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key data list klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTID"></a><h3>xmlSecKeyDataIdListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataIdListId xmlSecKeyDataIdListGetKlass()</pre> +<p>The key data list klass id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTGETKLASS"></a><h3>xmlSecKeyDataIdListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyDataIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The key data id list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN9343"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key data id list klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTFIND"></a><h3>xmlSecKeyDataIdListFind ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);</pre> +<p>Lookups <code class="PARAMETER">dataId</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9365"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9370"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9375"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">dataId</code> is found in the <code class="PARAMETER">list</code>, 0 if not and a negative +value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTFINDBYNODE"></a><h3>xmlSecKeyDataIdListFindByNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataIdListFindByNode (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">nodeName</code>, <code class="PARAMETER">nodeNs</code> and +<code class="PARAMETER">usage</code> in the <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9407"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9412"><span style="white-space: nowrap"><code class="PARAMETER">nodeName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data klass XML node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9417"><span style="white-space: nowrap"><code class="PARAMETER">nodeNs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data klass XML node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9422"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9427"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTFINDBYHREF"></a><h3>xmlSecKeyDataIdListFindByHref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">href</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9453"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9458"><span style="white-space: nowrap"><code class="PARAMETER">href</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data klass href.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9463"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTFINDBYNAME"></a><h3>xmlSecKeyDataIdListFindByName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecKeyDataIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">name</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9494"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9499"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data klass name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9504"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key data usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9509"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTDEBUGDUMP"></a><h3>xmlSecKeyDataIdListDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary key data debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9530"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9535"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATAIDLISTDEBUGXMLDUMP"></a><h3>xmlSecKeyDataIdListDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary key data debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9556"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key data ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9561"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYSIZE"></a><h3>xmlSecKeyDataBinarySize</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataBinarySize</pre> +<p>The binary key data object size.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEINITIALIZE"></a><h3>xmlSecKeyDataBinaryValueInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueInitialize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Initializes key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9584"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9589"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEDUPLICATE"></a><h3>xmlSecKeyDataBinaryValueDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre> +<p>Copies binary key data from <code class="PARAMETER">src</code> to <code class="PARAMETER">dst</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9611"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9616"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9621"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEFINALIZE"></a><h3>xmlSecKeyDataBinaryValueFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataBinaryValueFinalize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Cleans up binary key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN9638"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEXMLREAD"></a><h3>xmlSecKeyDataBinaryValueXmlRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueXmlRead (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads binary key data from <code class="PARAMETER">node</code> to the key by base64 decoding the <code class="PARAMETER">node</code> content.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9666"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9671"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9676"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9681"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9687"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEXMLWRITE"></a><h3>xmlSecKeyDataBinaryValueXmlWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueXmlWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Base64 encodes binary key data of klass <code class="PARAMETER">id</code> from the <code class="PARAMETER">key</code> and +sets to the <code class="PARAMETER">node</code> content.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9716"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9721"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9726"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9731"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9737"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEBINREAD"></a><h3>xmlSecKeyDataBinaryValueBinRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueBinRead (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads binary key data of the klass <code class="PARAMETER">id</code> from <code class="PARAMETER">buf</code> to the <code class="PARAMETER">key</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9769"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9774"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9779"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9784"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source binary buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9789"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9795"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEBINWRITE"></a><h3>xmlSecKeyDataBinaryValueBinWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueBinWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> id</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Writes binary key data of klass <code class="PARAMETER">id</code> from the <code class="PARAMETER">key</code> to <code class="PARAMETER">buf</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9827"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9832"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9837"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9842"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination binary buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9847"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9853"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEDEBUGDUMP"></a><h3>xmlSecKeyDataBinaryValueDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataBinaryValueDebugDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary key data debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9874"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9879"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP"></a><h3>xmlSecKeyDataBinaryValueDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataBinaryValueDebugXmlDump + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary key data debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9900"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9905"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEGETSIZE"></a><h3>xmlSecKeyDataBinaryValueGetSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecKeyDataBinaryValueGetSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the binary key data size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9922"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9927"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> binary key data size in bits.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUEGETBUFFER"></a><h3>xmlSecKeyDataBinaryValueGetBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink> xmlSecKeyDataBinaryValueGetBuffer (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the binary key data buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9944"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9949"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to binary key data buffer.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATABINARYVALUESETBUFFER"></a><h3>xmlSecKeyDataBinaryValueSetBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyDataBinaryValueSetBuffer (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of <code class="PARAMETER">data</code> to <code class="PARAMETER">buf</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9974"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9979"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9984"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN9989"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTORE"></a><h3>struct xmlSecKeyDataStore</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyDataStore { + xmlSecKeyDataStoreId id; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The key data store. Key data store holds common key data specific information +required for key data processing. For example, X509 data store may hold +information about trusted (root) certificates.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10001"><span style="white-space: nowrap"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store id (<gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10010"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10017"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTORECREATE"></a><h3>xmlSecKeyDataStoreCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a> xmlSecKeyDataStoreCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink> id</code>);</pre> +<p>Creates new key data store of the specified klass <code class="PARAMETER">id</code>. Caller is responsible +for freeing returned object with <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY"><span class="TYPE">xmlSecKeyDataStoreDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10039"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10044"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated key data store structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREDESTROY"></a><h3>xmlSecKeyDataStoreDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDataStoreDestroy (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre> +<p>Destroys the key data store created with <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE"><span class="TYPE">xmlSecKeyDataStoreCreate</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10063"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the key data store..</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREGETNAME"></a><h3>xmlSecKeyDataStoreGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreGetName(store)</pre> +<p>Macro. Returns key data store name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10075"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREISVALID"></a><h3>xmlSecKeyDataStoreIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreIsValid(store)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">store</code> is not NULL and <code class="PARAMETER">store</code>->id is not NULL +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10089"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTORECHECKID"></a><h3>xmlSecKeyDataStoreCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreCheckId(store, storeId)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">store</code> is valid and <code class="PARAMETER">store</code>'s id is equal to <code class="PARAMETER">storeId</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10104"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10109"><span style="white-space: nowrap"><code class="PARAMETER">storeId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store Id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTORECHECKSIZE"></a><h3>xmlSecKeyDataStoreCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreCheckSize(store, size)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">data</code> is valid and <code class="PARAMETER">stores</code>'s object has at least <code class="PARAMETER">size</code> bytes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10124"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10129"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREIDUNKNOWN"></a><h3>xmlSecKeyDataStoreIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreIdUnknown NULL</pre> +<p>The "unknown" id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREINITIALIZEMETHOD"></a><h3>xmlSecKeyDataStoreInitializeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyDataStoreInitializeMethod) + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre> +<p>Key data store specific initialization method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10152"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10157"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREFINALIZEMETHOD"></a><h3>xmlSecKeyDataStoreFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecKeyDataStoreFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre> +<p>Key data store specific finalization (destroy) method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10174"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREKLASS"></a><h3>struct xmlSecKeyDataStoreKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyDataStoreKlass { + xmlSecSize klassSize; + xmlSecSize objSize; + + /* data */ + const xmlChar* name; + + /* constructors/destructor */ + xmlSecKeyDataStoreInitializeMethod initialize; + xmlSecKeyDataStoreFinalizeMethod finalize; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The data store id (klass).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10186"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data store klass size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10193"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data store obj size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10200"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10207"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD"><span class="TYPE">xmlSecKeyDataStoreInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's initialization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10214"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD"><span class="TYPE">xmlSecKeyDataStoreFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's finalization (destroy) method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10221"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN10228"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREKLASSGETNAME"></a><h3>xmlSecKeyDataStoreKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreKlassGetName(klass)</pre> +<p>Macro. Returns store klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10242"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREPTRLISTID"></a><h3>xmlSecKeyDataStorePtrListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyDataStorePtrListId xmlSecKeyDataStorePtrListGetKlass()</pre> +<p>The data store list id (klass).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYDATASTOREPTRLISTGETKLASS"></a><h3>xmlSecKeyDataStorePtrListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyDataStorePtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Key data stores list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN10264"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> key data stores list klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-keyinfo.html"><b><<< keyinfo</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-keys.html"><b>keys >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-keysmngr.html b/docs/api/xmlsec-keysmngr.html new file mode 100644 index 00000000..7111553b --- /dev/null +++ b/docs/api/xmlsec-keysmngr.html @@ -0,0 +1,743 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keysmngr</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="keys" href="xmlsec-keys.html"> +<link rel="NEXT" title="list" href="xmlsec-list.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-keys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-KEYSMNGR"></a>keysmngr</h1> +<div class="REFNAMEDIV"> +<a name="AEN11988"></a><h2>Name</h2>keysmngr -- Keys manager object support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-KEYSMNGR.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="RETURNVALUE">xmlSecKeysMngrPtr</span></a> <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE">xmlSecKeysMngrCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY">xmlSecKeysMngrDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRFINDKEY">xmlSecKeysMngrFindKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTKEYSSTORE">xmlSecKeysMngrAdoptKeysStore</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>); +<gtkdoclink href="XMLSECKEYSTOREPTR"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEYSSTORE">xmlSecKeysMngrGetKeysStore</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTDATASTORE">xmlSecKeysMngrAdoptDataStore</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>); +<gtkdoclink href="XMLSECKEYDATASTOREPTR"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETDATASTORE">xmlSecKeysMngrGetDataStore</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> (<a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK">*xmlSecGetKeyCallback</a>) (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +struct <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngr</a>; +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEY">xmlSecKeysMngrGetKey</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +struct <a href="xmlsec-keysmngr.html#XMLSECKEYSTORE">xmlSecKeyStore</a>; +<a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a> <a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE">xmlSecKeyStoreCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYSTOREID"><span class="TYPE">xmlSecKeyStoreId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY">xmlSecKeyStoreDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>); +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEY">xmlSecKeyStoreFindKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREGETNAME">xmlSecKeyStoreGetName</a> (store) +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREISVALID">xmlSecKeyStoreIsValid</a> (store) +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKID">xmlSecKeyStoreCheckId</a> (store, + storeId) +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKSIZE">xmlSecKeyStoreCheckSize</a> (store, + size) +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREIDUNKNOWN">xmlSecKeyStoreIdUnknown</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD">*xmlSecKeyStoreInitializeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD">*xmlSecKeyStoreFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>); +<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> (<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD">*xmlSecKeyStoreFindKeyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>); +struct <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASS">xmlSecKeyStoreKlass</a>; +#define <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASSGETNAME">xmlSecKeyStoreKlassGetName</a> (klass) +#define <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">xmlSecSimpleKeysStoreId</a> +<gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKLASS">xmlSecSimpleKeysStoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREADOPTKEY">xmlSecSimpleKeysStoreAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORELOAD">xmlSecSimpleKeysStoreLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORESAVE">xmlSecSimpleKeysStoreSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="XMLSECPTRLISTPTR"><span class="RETURNVALUE">xmlSecPtrListPtr</span></gtkdoclink><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKEYS">xmlSecSimpleKeysStoreGetKeys</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYSMNGR.DESCRIPTION"></a><h2>Description</h2> +<p>Keys manager object support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-KEYSMNGR.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRCREATE"></a><h3>xmlSecKeysMngrCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="RETURNVALUE">xmlSecKeysMngrPtr</span></a> xmlSecKeysMngrCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Creates new keys manager. Caller is responsible for freeing it with +<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY"><span class="TYPE">xmlSecKeysMngrDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12188"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated keys manager or NULL if +an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRDESTROY"></a><h3>xmlSecKeysMngrDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeysMngrDestroy (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Destroys keys manager created with <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE"><span class="TYPE">xmlSecKeysMngrCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12207"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRFINDKEY"></a><h3>xmlSecKeysMngrFindKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> xmlSecKeysMngrFindKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Lookups key in the keys manager keys store. The caller is responsible +for destroying the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12232"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12237"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12242"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12248"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to a key or NULL if key is not found or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRADOPTKEYSSTORE"></a><h3>xmlSecKeysMngrAdoptKeysStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeysMngrAdoptKeysStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +<p>Adopts keys store in the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12269"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12274"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12279"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRGETKEYSSTORE"></a><h3>xmlSecKeysMngrGetKeysStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYSTOREPTR"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></gtkdoclink> xmlSecKeysMngrGetKeysStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Gets the keys store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12296"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12301"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the keys store in the keys manager <code class="PARAMETER">mngr</code> or NULL if +there is no store or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRADOPTDATASTORE"></a><h3>xmlSecKeysMngrAdoptDataStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeysMngrAdoptDataStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre> +<p>Adopts data store in the keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12322"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12327"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to data store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12332"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRGETDATASTORE"></a><h3>xmlSecKeysMngrGetDataStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATASTOREPTR"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></gtkdoclink> xmlSecKeysMngrGetDataStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="TYPE">xmlSecKeyDataStoreId</span></gtkdoclink> id</code>);</pre> +<p>Lookups the data store of given klass <code class="PARAMETER">id</code> in the keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12353"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12358"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12363"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to data store or NULL if it is not found or an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGETKEYCALLBACK"></a><h3>xmlSecGetKeyCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> (*xmlSecGetKeyCallback) (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code> and extracts the key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12385"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12391"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12397"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to key or NULL if the key is not found or +an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGR"></a><h3>struct xmlSecKeysMngr</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeysMngr { + xmlSecKeyStorePtr keysStore; + xmlSecPtrList storesList; + xmlSecGetKeyCallback getKey; +};</pre> +<p>The keys manager structure.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12409"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> <code class="STRUCTFIELD">keysStore</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the key store (list of keys known to keys manager).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12416"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">storesList</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of key data stores known to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12423"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK"><span class="TYPE">xmlSecGetKeyCallback</span></a> <code class="STRUCTFIELD">getKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the callback used to read <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSMNGRGETKEY"></a><h3>xmlSecKeysMngrGetKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> xmlSecKeysMngrGetKey (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code> and extracts the key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12448"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12454"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12460"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to key or NULL if the key is not found or +an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTORE"></a><h3>struct xmlSecKeyStore</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyStore { + xmlSecKeyStoreId id; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The keys store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12472"><span style="white-space: nowrap"><gtkdoclink href="XMLSECKEYSTOREID"><span class="TYPE">xmlSecKeyStoreId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store id (<gtkdoclink href="XMLSECKEYSTOREID"><span class="TYPE">xmlSecKeyStoreId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12481"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12488"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTORECREATE"></a><h3>xmlSecKeyStoreCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a> xmlSecKeyStoreCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYSTOREID"><span class="TYPE">xmlSecKeyStoreId</span></gtkdoclink> id</code>);</pre> +<p>Creates new store of the specified klass <code class="PARAMETER">klass</code>. Caller is responsible +for freeing the returned store by calling <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY"><span class="TYPE">xmlSecKeyStoreDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12510"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12515"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly allocated keys store or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREDESTROY"></a><h3>xmlSecKeyStoreDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyStoreDestroy (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +<p>Destroys the store created with <a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE"><span class="TYPE">xmlSecKeyStoreCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12534"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREFINDKEY"></a><h3>xmlSecKeyStoreFindKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> xmlSecKeyStoreFindKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Lookups key in the store. The caller is responsible for destroying +the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12559"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12564"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12569"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12575"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to a key or NULL if key is not found or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREGETNAME"></a><h3>xmlSecKeyStoreGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreGetName(store)</pre> +<p>Macro. Returns key store name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12587"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREISVALID"></a><h3>xmlSecKeyStoreIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreIsValid(store)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">store</code> is not NULL and <code class="PARAMETER">store</code>->id is not NULL +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12601"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTORECHECKID"></a><h3>xmlSecKeyStoreCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreCheckId(store, storeId)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">store</code> is valid and <code class="PARAMETER">store</code>'s id is equal to <code class="PARAMETER">storeId</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12616"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12621"><span style="white-space: nowrap"><code class="PARAMETER">storeId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store Id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTORECHECKSIZE"></a><h3>xmlSecKeyStoreCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreCheckSize(store, size)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">store</code> is valid and <code class="PARAMETER">stores</code>'s object has at least <code class="PARAMETER">size</code> bytes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12636"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12641"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREIDUNKNOWN"></a><h3>xmlSecKeyStoreIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreIdUnknown ((xmlSecKeyDataStoreId)NULL)</pre> +<p>The "unknown" id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREINITIALIZEMETHOD"></a><h3>xmlSecKeyStoreInitializeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecKeyStoreInitializeMethod) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +<p>Keys store specific initialization method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12664"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12669"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREFINALIZEMETHOD"></a><h3>xmlSecKeyStoreFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecKeyStoreFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +<p>Keys store specific finalization (destroy) method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12686"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREFINDKEYMETHOD"></a><h3>xmlSecKeyStoreFindKeyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> (*xmlSecKeyStoreFindKeyMethod) (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Keys store specific find method. The caller is responsible for destroying +the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12711"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12716"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired key name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12721"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key info context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12726"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to a key or NULL if key is not found or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREKLASS"></a><h3>struct xmlSecKeyStoreKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecKeyStoreKlass { + xmlSecSize klassSize; + xmlSecSize objSize; + + /* data */ + const xmlChar* name; + + /* constructors/destructor */ + xmlSecKeyStoreInitializeMethod initialize; + xmlSecKeyStoreFinalizeMethod finalize; + xmlSecKeyStoreFindKeyMethod findKey; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The keys store id (klass).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12738"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store klass size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12745"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store obj size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12752"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12759"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD"><span class="TYPE">xmlSecKeyStoreInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's initialization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12766"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD"><span class="TYPE">xmlSecKeyStoreFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's finalization (destroy) method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12773"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD"><span class="TYPE">xmlSecKeyStoreFindKeyMethod</span></a> <code class="STRUCTFIELD">findKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the store's find method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12780"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12787"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECKEYSTOREKLASSGETNAME"></a><h3>xmlSecKeyStoreKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecKeyStoreKlassGetName(klass)</pre> +<p>Macro. Returns store klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12801"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTOREID"></a><h3>xmlSecSimpleKeysStoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecSimpleKeysStoreId xmlSecSimpleKeysStoreGetKlass()</pre> +<p>A simple keys store klass id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTOREGETKLASS"></a><h3>xmlSecSimpleKeysStoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink> xmlSecSimpleKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The simple list based keys store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN12823"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> simple list based keys store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTOREADOPTKEY"></a><h3>xmlSecSimpleKeysStoreAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecSimpleKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12845"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to simple keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12850"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12855"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTORELOAD"></a><h3>xmlSecSimpleKeysStoreLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecSimpleKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Reads keys from an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12878"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to simple keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12883"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12888"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to associated keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12893"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTORESAVE"></a><h3>xmlSecSimpleKeysStoreSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecSimpleKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Writes keys from <code class="PARAMETER">store</code> to an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12917"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to simple keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12922"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12927"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the saved keys type (public, private, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12932"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIMPLEKEYSSTOREGETKEYS"></a><h3>xmlSecSimpleKeysStoreGetKeys ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTPTR"><span class="RETURNVALUE">xmlSecPtrListPtr</span></gtkdoclink> xmlSecSimpleKeysStoreGetKeys (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre> +<p>Gets list of keys from simple keys store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12949"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to simple keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN12954"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the list of keys stored in the keys store or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-keys.html"><b><<< keys</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-list.html"><b>list >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-list.html b/docs/api/xmlsec-list.html new file mode 100644 index 00000000..7f307fe5 --- /dev/null +++ b/docs/api/xmlsec-list.html @@ -0,0 +1,643 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>list</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="keysmngr" href="xmlsec-keysmngr.html"> +<link rel="NEXT" title="membuf" href="xmlsec-membuf.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-keysmngr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-membuf.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-LIST"></a>list</h1> +<div class="REFNAMEDIV"> +<a name="AEN12964"></a><h2>Name</h2>list -- Generic list structure implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-LIST.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">struct <a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a>; +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTSETDEFAULTALLOCMODE">xmlSecPtrListSetDefaultAllocMode</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE">xmlSecPtrListInitialize</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECPTRLISTID"><span class="TYPE">xmlSecPtrListId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE">xmlSecPtrListFinalize</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>); +<a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> <a href="xmlsec-list.html#XMLSECPTRLISTCREATE">xmlSecPtrListCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECPTRLISTID"><span class="TYPE">xmlSecPtrListId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTDESTROY">xmlSecPtrListDestroy</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTEMPTY">xmlSecPtrListEmpty</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTCOPY">xmlSecPtrListCopy</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> src</code>); +<gtkdoclink href="XMLSECPTRLISTPTR"><span class="RETURNVALUE">xmlSecPtrListPtr</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTDUPLICATE">xmlSecPtrListDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-list.html#XMLSECPTRLISTGETSIZE">xmlSecPtrListGetSize</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>); +<a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> <a href="xmlsec-list.html#XMLSECPTRLISTGETITEM">xmlSecPtrListGetItem</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTADD">xmlSecPtrListAdd</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> item</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTSET">xmlSecPtrListSet</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> item</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTREMOVE">xmlSecPtrListRemove</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> <a href="xmlsec-list.html#XMLSECPTRLISTREMOVEANDRETURN">xmlSecPtrListRemoveAndReturn</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGDUMP">xmlSecPtrListDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGXMLDUMP">xmlSecPtrListDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-list.html#XMLSECPTRLISTGETNAME">xmlSecPtrListGetName</a> (list) +#define <a href="xmlsec-list.html#XMLSECPTRLISTISVALID">xmlSecPtrListIsValid</a> (list) +#define <a href="xmlsec-list.html#XMLSECPTRLISTCHECKID">xmlSecPtrListCheckId</a> (list, + dataId) +#define <a href="xmlsec-list.html#XMLSECPTRLISTIDUNKNOWN">xmlSecPtrListIdUnknown</a> +<a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> (<a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD">*xmlSecPtrDuplicateItemMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD">*xmlSecPtrDestroyItemMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD">*xmlSecPtrDebugDumpItemMethod</a>) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-list.html#XMLSECPTRLISTKLASS">xmlSecPtrListKlass</a>; +#define <a href="xmlsec-list.html#XMLSECPTRLISTKLASSGETNAME">xmlSecPtrListKlassGetName</a> (klass) +#define <a href="xmlsec-list.html#XMLSECSTRINGLISTID">xmlSecStringListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-list.html#XMLSECSTRINGLISTGETKLASS">xmlSecStringListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-LIST.DESCRIPTION"></a><h2>Description</h2> +<p>Generic list structure implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-LIST.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECPTRLIST"></a><h3>struct xmlSecPtrList</h3> +<pre class="PROGRAMLISTING">struct xmlSecPtrList { + xmlSecPtrListId id; + + xmlSecPtr* data; + xmlSecSize use; + xmlSecSize max; + xmlSecAllocMode allocMode; +};</pre> +<p>The pointers list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13145"><span style="white-space: nowrap"><gtkdoclink href="XMLSECPTRLISTID"><span class="TYPE">xmlSecPtrListId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list items description.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13152"><span style="white-space: nowrap"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> *<code class="STRUCTFIELD">data</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13159"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">use</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current list size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13166"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">max</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the max (allocated) list size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13173"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> <code class="STRUCTFIELD">allocMode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the memory allocation mode.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTSETDEFAULTALLOCMODE"></a><h3>xmlSecPtrListSetDefaultAllocMode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListSetDefaultAllocMode (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>);</pre> +<p>Sets new default allocation mode and minimal initial list size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13195"><span style="white-space: nowrap"><code class="PARAMETER">defAllocMode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new default memory allocation mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13200"><span style="white-space: nowrap"><code class="PARAMETER">defInitialSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new default minimal initial size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTINITIALIZE"></a><h3>xmlSecPtrListInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPtrListInitialize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECPTRLISTID"><span class="TYPE">xmlSecPtrListId</span></gtkdoclink> id</code>);</pre> +<p>Initializes the list of given klass. Caller is responsible +for cleaning up by calling <a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE"><span class="TYPE">xmlSecPtrListFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13222"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13227"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the list klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13232"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTFINALIZE"></a><h3>xmlSecPtrListFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListFinalize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre> +<p>Cleans up the list initialized with <a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE"><span class="TYPE">xmlSecPtrListInitialize</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13251"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTCREATE"></a><h3>xmlSecPtrListCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> xmlSecPtrListCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECPTRLISTID"><span class="TYPE">xmlSecPtrListId</span></gtkdoclink> id</code>);</pre> +<p>Creates new list object. Caller is responsible for freeing returned list +by calling <a href="xmlsec-list.html#XMLSECPTRLISTDESTROY"><span class="TYPE">xmlSecPtrListDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13270"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the list klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13275"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated list or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTDESTROY"></a><h3>xmlSecPtrListDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListDestroy (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre> +<p>Destroys <code class="PARAMETER">list</code> created with <a href="xmlsec-list.html#XMLSECPTRLISTCREATE"><span class="TYPE">xmlSecPtrListCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13295"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTEMPTY"></a><h3>xmlSecPtrListEmpty ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListEmpty (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre> +<p>Remove all items from <code class="PARAMETER">list</code> (if any).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13313"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTCOPY"></a><h3>xmlSecPtrListCopy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPtrListCopy (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> src</code>);</pre> +<p>Copies <code class="PARAMETER">src</code> list items to <code class="PARAMETER">dst</code> list using <gtkdoclink href="DUPLICATEITEM"><span class="TYPE">duplicateItem</span></gtkdoclink> method +of the list klass. If <gtkdoclink href="DUPLICATEITEM"><span class="TYPE">duplicateItem</span></gtkdoclink> method is NULL then +we jsut copy pointers to items.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13339"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13344"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13349"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTDUPLICATE"></a><h3>xmlSecPtrListDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTPTR"><span class="RETURNVALUE">xmlSecPtrListPtr</span></gtkdoclink> xmlSecPtrListDuplicate (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre> +<p>Creates a new copy of <code class="PARAMETER">list</code> and all its items.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13367"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13372"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated list or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTGETSIZE"></a><h3>xmlSecPtrListGetSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecPtrListGetSize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre> +<p>Gets list size.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13389"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13394"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the number of itmes in <code class="PARAMETER">list</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTGETITEM"></a><h3>xmlSecPtrListGetItem ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> xmlSecPtrListGetItem (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets item from the list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13415"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13420"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the item position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13425"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the list item at position <code class="PARAMETER">pos</code> or NULL if <code class="PARAMETER">pos</code> is greater +than the number of items in the list or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTADD"></a><h3>xmlSecPtrListAdd ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPtrListAdd (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> item</code>);</pre> +<p>Adds <code class="PARAMETER">item</code> to the end of the <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13449"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13454"><span style="white-space: nowrap"><code class="PARAMETER">item</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the item.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13459"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTSET"></a><h3>xmlSecPtrListSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPtrListSet (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> item</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Sets the value of list item at position <code class="PARAMETER">pos</code>. The old value +is destroyed.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13483"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13488"><span style="white-space: nowrap"><code class="PARAMETER">item</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the item.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13493"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pos.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13498"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTREMOVE"></a><h3>xmlSecPtrListRemove ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPtrListRemove (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Destroys list item at the position <code class="PARAMETER">pos</code> and sets it value to NULL.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13519"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13524"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13529"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTREMOVEANDRETURN"></a><h3>xmlSecPtrListRemoveAndReturn ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> xmlSecPtrListRemoveAndReturn (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Remove the list item at the position <code class="PARAMETER">pos</code> and return it back.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13550"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13555"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13560"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the list item.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTDEBUGDUMP"></a><h3>xmlSecPtrListDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">list</code> to the <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13582"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13587"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTDEBUGXMLDUMP"></a><h3>xmlSecPtrListDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecPtrListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">list</code> to the <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13609"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13614"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTGETNAME"></a><h3>xmlSecPtrListGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecPtrListGetName(list)</pre> +<p>Macro. Returns lists's name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13626"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the ponter to list.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTISVALID"></a><h3>xmlSecPtrListIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecPtrListIsValid(list)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">list</code> is not NULL and <code class="PARAMETER">list</code>->id is not NULL +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13640"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTCHECKID"></a><h3>xmlSecPtrListCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecPtrListCheckId(list, dataId)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">list</code> is valid and <code class="PARAMETER">list</code>'s id is equal to <code class="PARAMETER">dataId</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13655"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13660"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the list Id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTIDUNKNOWN"></a><h3>xmlSecPtrListIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecPtrListIdUnknown NULL</pre> +<p>The "unknown" id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRDUPLICATEITEMMETHOD"></a><h3>xmlSecPtrDuplicateItemMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECPTR"><span class="RETURNVALUE">xmlSecPtr</span></a> (*xmlSecPtrDuplicateItemMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>);</pre> +<p>Duplicates item <code class="PARAMETER">ptr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13684"><span style="white-space: nowrap"><code class="PARAMETER">ptr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poinetr to list item.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13689"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to new item copy or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRDESTROYITEMMETHOD"></a><h3>xmlSecPtrDestroyItemMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecPtrDestroyItemMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>);</pre> +<p>Destroys list item <code class="PARAMETER">ptr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13707"><span style="white-space: nowrap"><code class="PARAMETER">ptr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poinetr to list item.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRDEBUGDUMPITEMMETHOD"></a><h3>xmlSecPtrDebugDumpItemMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecPtrDebugDumpItemMethod) (<code class="PARAMETER"><gtkdoclink href="XMLSEC"><span class="TYPE">xmlSecPtr</span></gtkdoclink> ptr</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">item</code> to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13729"><span style="white-space: nowrap"><code class="PARAMETER">ptr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poinetr to list item.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13734"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTKLASS"></a><h3>struct xmlSecPtrListKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecPtrListKlass { + const xmlChar* name; + xmlSecPtrDuplicateItemMethod duplicateItem; + xmlSecPtrDestroyItemMethod destroyItem; + xmlSecPtrDebugDumpItemMethod debugDumpItem; + xmlSecPtrDebugDumpItemMethod debugXmlDumpItem; +};</pre> +<p>List klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13746"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list klass name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13753"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD"><span class="TYPE">xmlSecPtrDuplicateItemMethod</span></a> <code class="STRUCTFIELD">duplicateItem</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the duplciate item method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13760"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD"><span class="TYPE">xmlSecPtrDestroyItemMethod</span></a> <code class="STRUCTFIELD">destroyItem</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the destroy item method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13767"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD"><span class="TYPE">xmlSecPtrDebugDumpItemMethod</span></a> <code class="STRUCTFIELD">debugDumpItem</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the debug dump item method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13774"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD"><span class="TYPE">xmlSecPtrDebugDumpItemMethod</span></a> <code class="STRUCTFIELD">debugXmlDumpItem</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the debug dump item in xml format method.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPTRLISTKLASSGETNAME"></a><h3>xmlSecPtrListKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecPtrListKlassGetName(klass)</pre> +<p>Macro. Returns the list klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13788"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the list klass. +2</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSTRINGLISTID"></a><h3>xmlSecStringListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecStringListId</pre> +<p>Strings list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSTRINGLISTGETKLASS"></a><h3>xmlSecStringListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecStringListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The strins list class.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13810"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> strings list klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-keysmngr.html"><b><<< keysmngr</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-membuf.html"><b>membuf >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-membuf.html b/docs/api/xmlsec-membuf.html new file mode 100644 index 00000000..493b7172 --- /dev/null +++ b/docs/api/xmlsec-membuf.html @@ -0,0 +1,143 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>membuf</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="list" href="xmlsec-list.html"> +<link rel="NEXT" title="nodeset" href="xmlsec-nodeset.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nodeset.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MEMBUF"></a>membuf</h1> +<div class="REFNAMEDIV"> +<a name="AEN13820"></a><h2>Name</h2>membuf -- Memory buffer transform implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MEMBUF.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFID">xmlSecTransformMemBufId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETKLASS">xmlSecTransformMemBufGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETBUFFER">xmlSecTransformMemBufGetBuffer</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MEMBUF.DESCRIPTION"></a><h2>Description</h2> +<p>Memory buffer transform implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MEMBUF.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMEMBUFID"></a><h3>xmlSecTransformMemBufId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformMemBufId</pre> +<p>The Memory Buffer transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMEMBUFGETKLASS"></a><h3>xmlSecTransformMemBufGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformMemBufGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The memory buffer transorm (used to store the data that go through it).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN13860"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> memory buffer transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMEMBUFGETBUFFER"></a><h3>xmlSecTransformMemBufGetBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink> xmlSecTransformMemBufGetBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Gets the pointer to memory buffer transform buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13877"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to memory buffer transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN13882"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the transform's <a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a>.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-list.html"><b><<< list</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nodeset.html"><b>nodeset >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-app.html b/docs/api/xmlsec-mscrypto-app.html new file mode 100644 index 00000000..0e5c9cb6 --- /dev/null +++ b/docs/api/xmlsec-mscrypto-app.html @@ -0,0 +1,747 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="PREVIOUS" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="NEXT" title="certkeys" href="xmlsec-mscrypto-certkeys.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-certkeys.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MSCRYPTO-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN37966"></a><h2>Name</h2>app -- Application functions implementation for MS Crypto.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MSCRYPTO-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPINIT">xmlSecMSCryptoAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPSHUTDOWN">xmlSecMSCryptoAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="LPCTSTR:CAPS"><span class="RETURNVALUE">LPCTSTR</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETCERTSTORENAME">xmlSecMSCryptoAppGetCertStoreName</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecMSCryptoAppDefaultKeysMngrInit</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecMSCryptoAppDefaultKeysMngrLoad</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecMSCryptoAppDefaultKeysMngrSave</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> keyStore</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> trustedStore</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> untrustedStore</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecMSCryptoAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOAD">xmlSecMSCryptoAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOADMEMORY">xmlSecMSCryptoAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOAD">xmlSecMSCryptoAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOADMEMORY">xmlSecMSCryptoAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOAD">xmlSecMSCryptoAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY">xmlSecMSCryptoAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecMSCryptoAppGetDefaultPwdCallback</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Application functions implementation for MS Crypto.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPINIT"></a><h3>xmlSecMSCryptoAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38233"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name of another then the default ms certificate store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38238"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPSHUTDOWN"></a><h3>xmlSecMSCryptoAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN38255"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPGETCERTSTORENAME"></a><h3>xmlSecMSCryptoAppGetCertStoreName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="LPCTSTR:CAPS"><span class="RETURNVALUE">LPCTSTR</span></gtkdoclink> xmlSecMSCryptoAppGetCertStoreName (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the MS Crypto certs store name set by <code class="PARAMETER">xmlSecMSCryptoAppInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN38272"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the MS Crypto certs name used by xmlsec-mscrypto.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrInit + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a> +and a default MSCrypto crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38292"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38297"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrAdoptKey + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38321"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38326"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38331"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrLoad + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38355"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38360"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38365"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrSave + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38389"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38394"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38399"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38404"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>);</pre> +<p>Adds private key <code class="PARAMETER">hKey</code> to the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38426"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38431"><span style="white-space: nowrap"><code class="PARAMETER">hKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key handle.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38436"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>);</pre> +<p>Adds public key <code class="PARAMETER">hKey</code> to the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38458"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38463"><span style="white-space: nowrap"><code class="PARAMETER">hKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key handle.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="TYPE">HCRYPTKEY</span></gtkdoclink> hKey</code>);</pre> +<p>Adds symmetric key <code class="PARAMETER">hKey</code> to the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38490"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38495"><span style="white-space: nowrap"><code class="PARAMETER">hKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key handle.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38500"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> keyStore</code>);</pre> +<p>Adds <code class="PARAMETER">keyStore</code> to the list of key stores in the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38522"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38527"><span style="white-space: nowrap"><code class="PARAMETER">keyStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38532"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> trustedStore</code>);</pre> +<p>Adds <code class="PARAMETER">trustedStore</code> to the list of trusted cert stores in the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38554"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38559"><span style="white-space: nowrap"><code class="PARAMETER">trustedStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to certs store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38564"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> untrustedStore</code>);</pre> +<p>Adds <code class="PARAMETER">trustedStore</code> to the list of un-trusted cert stores in the keys manager <code class="PARAMETER">mngr</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38586"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38591"><span style="white-space: nowrap"><code class="PARAMETER">untrustedStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to certs store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38596"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code> (not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38624"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38629"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38634"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38639"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38645"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppKeysMngrCertLoadMemory + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38676"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38681"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38686"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>size of binary certificate (data)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38691"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38696"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38702"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYLOAD"></a><h3>xmlSecMSCryptoAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecMSCryptoAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38731"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38736"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38741"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38746"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38751"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38756"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecMSCryptoAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38788"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38793"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38798"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38803"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38808"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38813"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38818"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPPKCS12LOAD"></a><h3>xmlSecMSCryptoAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecMSCryptoAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38844"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38849"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38854"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38859"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38864"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPPKCS12LOADMEMORY"></a><h3>xmlSecMSCryptoAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecMSCryptoAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 binary</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38893"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary PKCS12 key in data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38898"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>size of binary pkcs12 data</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38903"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38908"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38913"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38918"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYCERTLOAD"></a><h3>xmlSecMSCryptoAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38942"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38947"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38952"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38957"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">data</code> and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38984"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38989"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38994"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>size of certificate binary (data)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN38999"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39004"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecMSCryptoAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecMSCryptoAppGetDefaultPwdCallback + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39020"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-ref.html"><b><<< XML Security Library for MSCrypto API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-certkeys.html"><b>certkeys >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-certkeys.html b/docs/api/xmlsec-mscrypto-certkeys.html new file mode 100644 index 00000000..82fb4ec5 --- /dev/null +++ b/docs/api/xmlsec-mscrypto-certkeys.html @@ -0,0 +1,252 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>certkeys</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-mscrypto-app.html"> +<link rel="NEXT" title="crypto" href="xmlsec-mscrypto-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MSCRYPTO-CERTKEYS"></a>certkeys</h1> +<div class="REFNAMEDIV"> +<a name="AEN39030"></a><h2>Name</h2>certkeys -- MS Crypto certificates helper functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MSCRYPTO-CERTKEYS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETCERT">xmlSecMSCryptoKeyDataGetCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="HCRYPTKEY:CAPS"><span class="RETURNVALUE">HCRYPTKEY</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETKEY">xmlSecMSCryptoKeyDataGetKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="HCRYPTKEY:CAPS"><span class="RETURNVALUE">HCRYPTKEY</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY">xmlSecMSCryptoKeyDataGetDecryptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTDUP">xmlSecMSCryptoCertDup</a> (<code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> pCert</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTADOPT">xmlSecMSCryptoCertAdopt</a> (<code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> pCert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="HCRYPTPROV:CAPS"><span class="RETURNVALUE">HCRYPTPROV</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="DWORD:CAPS"><span class="RETURNVALUE">DWORD</span></gtkdoclink><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-CERTKEYS.DESCRIPTION"></a><h2>Description</h2> +<p>MS Crypto certificates helper functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-CERTKEYS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGETCERT"></a><h3>xmlSecMSCryptoKeyDataGetCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink> xmlSecMSCryptoKeyDataGetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Native MSCrypto certificate retrieval from xmlsec keydata. The +returned PCCERT_CONTEXT must not be released by the caller.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39101"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data to retrieve certificate from.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39106"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> PCCERT_CONTEXT on success or NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGETKEY"></a><h3>xmlSecMSCryptoKeyDataGetKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="RETURNVALUE">HCRYPTKEY</span></gtkdoclink> xmlSecMSCryptoKeyDataGetKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Native MSCrypto key retrieval from xmlsec keydata. The +returned HKEY must not be destroyed by the caller.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39126"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data to retrieve certificate from.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39131"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>type of key requested (public/private)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39136"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HKEY on success or NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY"></a><h3>xmlSecMSCryptoKeyDataGetDecryptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="HCRYPTKEY:CAPS"><span class="RETURNVALUE">HCRYPTKEY</span></gtkdoclink> xmlSecMSCryptoKeyDataGetDecryptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Native MSCrypto decrypt key retrieval from xmlsec keydata. The +returned HKEY must not be destroyed by the caller.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39153"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data pointer</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39158"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HKEY on success or NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCERTDUP"></a><h3>xmlSecMSCryptoCertDup ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink> xmlSecMSCryptoCertDup (<code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> pCert</code>);</pre> +<p>Duplicates the <code class="PARAMETER">pCert</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39176"><span style="white-space: nowrap"><code class="PARAMETER">pCert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to cert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39181"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created PCCERT_CONTEXT object or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCERTADOPT"></a><h3>xmlSecMSCryptoCertAdopt ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecMSCryptoCertAdopt (<code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> pCert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Creates key data value from the cert.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39201"><span style="white-space: nowrap"><code class="PARAMETER">pCert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to cert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39206"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected key type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39211"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created xmlsec key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProvider ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="HCRYPTPROV:CAPS"><span class="RETURNVALUE">HCRYPTPROV</span></gtkdoclink> xmlSecMSCryptoKeyDataGetMSCryptoProvider + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets crypto provider handle</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39228"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39233"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the crypto provider handler or 0 if there is an error.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="DWORD:CAPS"><span class="RETURNVALUE">DWORD</span></gtkdoclink> xmlSecMSCryptoKeyDataGetMSCryptoKeySpec + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets key spec info.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39250"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39255"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key spec info from key data</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-crypto.html"><b>crypto >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-crypto.html b/docs/api/xmlsec-mscrypto-crypto.html new file mode 100644 index 00000000..970d2a1d --- /dev/null +++ b/docs/api/xmlsec-mscrypto-crypto.html @@ -0,0 +1,1153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>crypto</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="PREVIOUS" title="certkeys" href="xmlsec-mscrypto-certkeys.html"> +<link rel="NEXT" title="keysstore" href="xmlsec-mscrypto-keysstore.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-certkeys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-keysstore.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MSCRYPTO-CRYPTO"></a>crypto</h1> +<div class="REFNAMEDIV"> +<a name="AEN39265"></a><h2>Name</h2>crypto -- Crypto transforms implementation for MS Crypto.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MSCRYPTO-CRYPTO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECCRYPTOGETFUNCTIONS-MSCRYPTO">xmlSecCryptoGetFunctions_mscrypto</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOINIT">xmlSecMSCryptoInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOSHUTDOWN">xmlSecMSCryptoShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYSMNGRINIT">xmlSecMSCryptoKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOGENERATERANDOM">xmlSecMSCryptoGenerateRandom</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><gtkdoclink href="SIZE-T"><span class="TYPE">size_t</span></gtkdoclink> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOERRORSDEFAULTCALLBACK">xmlSecMSCryptoErrorsDefaultCallback</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>); +<gtkdoclink href="LPWSTR:CAPS"><span class="RETURNVALUE">LPWSTR</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUNICODE">xmlSecMSCryptoConvertLocaleToUnicode</a> + (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *str</code>); +<gtkdoclink href="LPWSTR:CAPS"><span class="RETURNVALUE">LPWSTR</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOUNICODE">xmlSecMSCryptoConvertUtf8ToUnicode</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUNICODETOUTF8">xmlSecMSCryptoConvertUnicodeToUtf8</a> (<code class="PARAMETER"><gtkdoclink href="LPCWSTR:CAPS"><span class="TYPE">LPCWSTR</span></gtkdoclink> str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUTF8">xmlSecMSCryptoConvertLocaleToUtf8</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *str</code>); +<gtkdoclink href="CHAR"><span class="RETURNVALUE">char</span></gtkdoclink>* <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOLOCALE">xmlSecMSCryptoConvertUtf8ToLocale</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTTSTRTOUTF8">xmlSecMSCryptoConvertTstrToUtf8</a> (<code class="PARAMETER"><gtkdoclink href="LPCTSTR:CAPS"><span class="TYPE">LPCTSTR</span></gtkdoclink> str</code>); +<gtkdoclink href="LPTSTR:CAPS"><span class="RETURNVALUE">LPTSTR</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOTSTR">xmlSecMSCryptoConvertUtf8ToTstr</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAID">xmlSecMSCryptoKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAGETKLASS">xmlSecMSCryptoKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1ID">xmlSecMSCryptoTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS">xmlSecMSCryptoTransformDsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001ID">xmlSecMSCryptoKeyDataGost2001Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS">xmlSecMSCryptoKeyDataGost2001GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94ID">xmlSecMSCryptoTransformGost2001GostR3411_94Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94GETKLASS">xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAID">xmlSecMSCryptoKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAGETKLASS">xmlSecMSCryptoKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5ID">xmlSecMSCryptoTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS">xmlSecMSCryptoTransformRsaMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1ID">xmlSecMSCryptoTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS">xmlSecMSCryptoTransformRsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256ID">xmlSecMSCryptoTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS">xmlSecMSCryptoTransformRsaSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384ID">xmlSecMSCryptoTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS">xmlSecMSCryptoTransformRsaSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512ID">xmlSecMSCryptoTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS">xmlSecMSCryptoTransformRsaSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID">xmlSecMSCryptoTransformRsaPkcs1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPID">xmlSecMSCryptoTransformRsaOaepId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS">xmlSecMSCryptoTransformRsaOaepGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5ID">xmlSecMSCryptoTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5GETKLASS">xmlSecMSCryptoTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1ID">xmlSecMSCryptoTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS">xmlSecMSCryptoTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256ID">xmlSecMSCryptoTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS">xmlSecMSCryptoTransformSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384ID">xmlSecMSCryptoTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS">xmlSecMSCryptoTransformSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512ID">xmlSecMSCryptoTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS">xmlSecMSCryptoTransformSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOSTR3411-94ID">xmlSecMSCryptoTransformGostR3411_94Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOSTR3411-94GETKLASS">xmlSecMSCryptoTransformGostR3411_94GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESID">xmlSecMSCryptoKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESGETKLASS">xmlSecMSCryptoKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESSET">xmlSecMSCryptoKeyDataAesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCID">xmlSecMSCryptoTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS">xmlSecMSCryptoTransformAes128CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCID">xmlSecMSCryptoTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS">xmlSecMSCryptoTransformAes192CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCID">xmlSecMSCryptoTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS">xmlSecMSCryptoTransformAes256CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128ID">xmlSecMSCryptoTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS">xmlSecMSCryptoTransformKWAes128GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192ID">xmlSecMSCryptoTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS">xmlSecMSCryptoTransformKWAes192GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256ID">xmlSecMSCryptoTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS">xmlSecMSCryptoTransformKWAes256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESID">xmlSecMSCryptoKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESGETKLASS">xmlSecMSCryptoKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCID">xmlSecMSCryptoTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS">xmlSecMSCryptoTransformDes3CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3ID">xmlSecMSCryptoTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS">xmlSecMSCryptoTransformKWDes3GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH">xmlSecMSCryptoHmacGetMinOutputLength</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH">xmlSecMSCryptoHmacSetMinOutputLength</a> + (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACID">xmlSecMSCryptoKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACGETKLASS">xmlSecMSCryptoKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACSET">xmlSecMSCryptoKeyDataHmacSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5ID">xmlSecMSCryptoTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS">xmlSecMSCryptoTransformHmacMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1ID">xmlSecMSCryptoTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS">xmlSecMSCryptoTransformHmacSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256ID">xmlSecMSCryptoTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS">xmlSecMSCryptoTransformHmacSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384ID">xmlSecMSCryptoTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS">xmlSecMSCryptoTransformHmacSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512ID">xmlSecMSCryptoTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS">xmlSecMSCryptoTransformHmacSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-CRYPTO.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto transforms implementation for MS Crypto.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-CRYPTO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOGETFUNCTIONS-MSCRYPTO"></a><h3>xmlSecCryptoGetFunctions_mscrypto ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoGetFunctions_mscrypto + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets MSCrypto specific functions table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39622"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> xmlsec-mscrypto functions table.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOINIT"></a><h3>xmlSecMSCryptoInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39638"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOSHUTDOWN"></a><h3>xmlSecMSCryptoShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39654"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSMNGRINIT"></a><h3>xmlSecMSCryptoKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds MSCrypto specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39671"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39676"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOGENERATERANDOM"></a><h3>xmlSecMSCryptoGenerateRandom ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><gtkdoclink href="SIZE-T"><span class="TYPE">size_t</span></gtkdoclink> size</code>);</pre> +<p>Generates <code class="PARAMETER">size</code> random bytes and puts result in <code class="PARAMETER">buffer</code> +(not implemented yet).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39698"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39703"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the numer of bytes to generate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39708"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOERRORSDEFAULTCALLBACK"></a><h3>xmlSecMSCryptoErrorsDefaultCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecMSCryptoErrorsDefaultCallback (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +<p>The default errors reporting callback function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39743"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location file name (__FILE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39748"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39753"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function name (__FUNCTION__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39758"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39763"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39768"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39773"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the additional error message.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTLOCALETOUNICODE"></a><h3>xmlSecMSCryptoConvertLocaleToUnicode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="LPWSTR:CAPS"><span class="RETURNVALUE">LPWSTR</span></gtkdoclink> xmlSecMSCryptoConvertLocaleToUnicode + (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *str</code>);</pre> +<p>Converts input string from current system locale to Unicode.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39790"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39795"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTUTF8TOUNICODE"></a><h3>xmlSecMSCryptoConvertUtf8ToUnicode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="LPWSTR:CAPS"><span class="RETURNVALUE">LPWSTR</span></gtkdoclink> xmlSecMSCryptoConvertUtf8ToUnicode (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Converts input string from UTF8 to Unicode.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39812"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39817"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTUNICODETOUTF8"></a><h3>xmlSecMSCryptoConvertUnicodeToUtf8 ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecMSCryptoConvertUnicodeToUtf8 (<code class="PARAMETER"><gtkdoclink href="LPCWSTR:CAPS"><span class="TYPE">LPCWSTR</span></gtkdoclink> str</code>);</pre> +<p>Converts input string from Unicode to UTF8.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39834"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39839"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTLOCALETOUTF8"></a><h3>xmlSecMSCryptoConvertLocaleToUtf8 ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecMSCryptoConvertLocaleToUtf8 (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *str</code>);</pre> +<p>Converts input string from locale to UTF8.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39856"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39861"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTUTF8TOLOCALE"></a><h3>xmlSecMSCryptoConvertUtf8ToLocale ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CHAR"><span class="RETURNVALUE">char</span></gtkdoclink>* xmlSecMSCryptoConvertUtf8ToLocale (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Converts input string from UTF8 to locale.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39878"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39883"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTTSTRTOUTF8"></a><h3>xmlSecMSCryptoConvertTstrToUtf8 ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecMSCryptoConvertTstrToUtf8 (<code class="PARAMETER"><gtkdoclink href="LPCTSTR:CAPS"><span class="TYPE">LPCTSTR</span></gtkdoclink> str</code>);</pre> +<p>Converts input string from TSTR (locale or Unicode) to UTF8.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39900"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39905"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOCONVERTUTF8TOTSTR"></a><h3>xmlSecMSCryptoConvertUtf8ToTstr ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="LPTSTR:CAPS"><span class="RETURNVALUE">LPTSTR</span></gtkdoclink> xmlSecMSCryptoConvertUtf8ToTstr (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Converts input string from UTF8 to TSTR (locale or Unicode).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39922"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to convert.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN39927"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATADSAID"></a><h3>xmlSecMSCryptoKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataDsaId</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATADSAGETKLASS"></a><h3>xmlSecMSCryptoKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39949"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to DSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMDSASHA1ID"></a><h3>xmlSecMSCryptoTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformDsaSha1Id</pre> +<p>The DSA SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformDsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39971"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGOST2001ID"></a><h3>xmlSecMSCryptoKeyDataGost2001Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataGost2001Id</pre> +<p>The GOST2001 key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS"></a><h3>xmlSecMSCryptoKeyDataGost2001GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataGost2001GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GOST2001 key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN39993"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GOST2001 key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94ID"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformGost2001GostR3411_94Id</pre> +<p>The GOST2001 GOSTR3411_94 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94GETKLASS"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The GOST2001-GOSTR3411_94 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40015"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> GOST2001-GOSTR3411_94 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATARSAID"></a><h3>xmlSecMSCryptoKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataRsaId</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATARSAGETKLASS"></a><h3>xmlSecMSCryptoKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The MSCrypto RSA CertKey data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40037"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MSCrypto RSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAMD5ID"></a><h3>xmlSecMSCryptoTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaMd5Id</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40059"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA1ID"></a><h3>xmlSecMSCryptoTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha1Id</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40081"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA256ID"></a><h3>xmlSecMSCryptoTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha256Id</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40103"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA384ID"></a><h3>xmlSecMSCryptoTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha384Id</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40125"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA512ID"></a><h3>xmlSecMSCryptoTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha512Id</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40147"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID"></a><h3>xmlSecMSCryptoTransformRsaPkcs1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaPkcs1Id</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaPkcs1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaPkcs1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-PKCS1 key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40169"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-PKCS1 key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAOAEPID"></a><h3>xmlSecMSCryptoTransformRsaOaepId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaOaepId</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecMSCryptoTransformRsaOaepGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformRsaOaepGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-OAEP key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40191"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-OAEP key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMMD5ID"></a><h3>xmlSecMSCryptoTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformMd5Id</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40213"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA1ID"></a><h3>xmlSecMSCryptoTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha1Id</pre> +<p>The SHA1 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40235"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA256ID"></a><h3>xmlSecMSCryptoTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha256Id</pre> +<p>The SHA256 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40257"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-256 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA384ID"></a><h3>xmlSecMSCryptoTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha384Id</pre> +<p>The SHA384 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40279"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-384 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA512ID"></a><h3>xmlSecMSCryptoTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha512Id</pre> +<p>The SHA512 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40301"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-512 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMGOSTR3411-94ID"></a><h3>xmlSecMSCryptoTransformGostR3411_94Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformGostR3411_94Id</pre> +<p>The GOSTR3411_94 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMGOSTR3411-94GETKLASS"></a><h3>xmlSecMSCryptoTransformGostR3411_94GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformGostR3411_94GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>GOSTR3411_94 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40323"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to GOSTR3411_94 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAAESID"></a><h3>xmlSecMSCryptoKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataAesId</pre> +<p>The AES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAAESGETKLASS"></a><h3>xmlSecMSCryptoKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40345"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAAESSET"></a><h3>xmlSecMSCryptoKeyDataAesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of AES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40368"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to AES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40373"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40378"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40383"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES128CBCID"></a><h3>xmlSecMSCryptoTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes128CbcId</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformAes128CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40405"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES192CBCID"></a><h3>xmlSecMSCryptoTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes192CbcId</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformAes192CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40427"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES256CBCID"></a><h3>xmlSecMSCryptoTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes256CbcId</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformAes256CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40449"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES128ID"></a><h3>xmlSecMSCryptoTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes128Id</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformKWAes128GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40471"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES192ID"></a><h3>xmlSecMSCryptoTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes192Id</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformKWAes192GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40493"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES256ID"></a><h3>xmlSecMSCryptoTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes256Id</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformKWAes256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40515"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATADESID"></a><h3>xmlSecMSCryptoKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataDesId</pre> +<p>The DES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATADESGETKLASS"></a><h3>xmlSecMSCryptoKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40537"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMDES3CBCID"></a><h3>xmlSecMSCryptoTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformDes3CbcId</pre> +<p>The DES3 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformDes3CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40559"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWDES3ID"></a><h3>xmlSecMSCryptoTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWDes3Id</pre> +<p>The DES3 KW transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecMSCryptoTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformKWDes3GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40581"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecMSCryptoHmacGetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoHmacGetMinOutputLength + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the value of min HMAC length.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40597"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the min HMAC output length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecMSCryptoHmacSetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecMSCryptoHmacSetMinOutputLength + (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>);</pre> +<p>Sets the min HMAC output length</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40614"><span style="white-space: nowrap"><code class="PARAMETER">min_length</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new min length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAHMACID"></a><h3>xmlSecMSCryptoKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataHmacId</pre> +<p>The DHMAC key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAHMACGETKLASS"></a><h3>xmlSecMSCryptoKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40636"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAHMACSET"></a><h3>xmlSecMSCryptoKeyDataHmacSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of HMAC key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40659"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to HMAC key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40664"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40669"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40674"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACMD5ID"></a><h3>xmlSecMSCryptoTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacMd5Id</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformHmacMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40696"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA1ID"></a><h3>xmlSecMSCryptoTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformHmacSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40718"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA256ID"></a><h3>xmlSecMSCryptoTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformHmacSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40740"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA384ID"></a><h3>xmlSecMSCryptoTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformHmacSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40762"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA512ID"></a><h3>xmlSecMSCryptoTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecMSCryptoTransformHmacSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40784"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-certkeys.html"><b><<< certkeys</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-keysstore.html"><b>keysstore >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-keysstore.html b/docs/api/xmlsec-mscrypto-keysstore.html new file mode 100644 index 00000000..160a9f3d --- /dev/null +++ b/docs/api/xmlsec-mscrypto-keysstore.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keysstore</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="PREVIOUS" title="crypto" href="xmlsec-mscrypto-crypto.html"> +<link rel="NEXT" title="x509" href="xmlsec-mscrypto-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MSCRYPTO-KEYSSTORE"></a>keysstore</h1> +<div class="REFNAMEDIV"> +<a name="AEN40794"></a><h2>Name</h2>keysstore -- Keys store implementation for MS Crypto.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MSCRYPTO-KEYSSTORE.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREID">xmlSecMSCryptoKeysStoreId</a> +<gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREGETKLASS">xmlSecMSCryptoKeysStoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREADOPTKEY">xmlSecMSCryptoKeysStoreAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORELOAD">xmlSecMSCryptoKeysStoreLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORESAVE">xmlSecMSCryptoKeysStoreSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-KEYSSTORE.DESCRIPTION"></a><h2>Description</h2> +<p>Keys store implementation for MS Crypto.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-KEYSSTORE.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSSTOREID"></a><h3>xmlSecMSCryptoKeysStoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeysStoreId xmlSecMSCryptoKeysStoreGetKlass()</pre> +<p>A MSCrypto keys store klass id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSSTOREGETKLASS"></a><h3>xmlSecMSCryptoKeysStoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink> xmlSecMSCryptoKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The MSCrypto list based keys store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN40861"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> MSCrypto list based keys store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSSTOREADOPTKEY"></a><h3>xmlSecMSCryptoKeysStoreAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40883"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCrypto keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40888"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40893"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSSTORELOAD"></a><h3>xmlSecMSCryptoKeysStoreLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Reads keys from an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40916"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCrypto keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40921"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40926"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to associated keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40931"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYSSTORESAVE"></a><h3>xmlSecMSCryptoKeysStoreSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Writes keys from <code class="PARAMETER">store</code> to an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40955"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCrypto keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40960"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40965"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the saved keys type (public, private, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN40970"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-crypto.html"><b><<< crypto</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-x509.html"><b>x509 >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-ref.html b/docs/api/xmlsec-mscrypto-ref.html new file mode 100644 index 00000000..3400a666 --- /dev/null +++ b/docs/api/xmlsec-mscrypto-ref.html @@ -0,0 +1,113 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library for MSCrypto API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="x509" href="xmlsec-nss-x509.html"> +<link rel="NEXT" title="app" href="xmlsec-mscrypto-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-MSCRYPTO-REF"></a>XML Security Library for MSCrypto API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-mscrypto-app.html">app</a> -- Application functions implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-certkeys.html">certkeys</a> -- MS Crypto certificates helper functions.</dt> +<dt> +<a href="xmlsec-mscrypto-crypto.html">crypto</a> -- Crypto transforms implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-keysstore.html">keysstore</a> -- Keys store implementation for MS Crypto.</dt> +<dt> +<a href="xmlsec-mscrypto-x509.html">x509</a> -- X509 certificates support implementation for MS Crypto.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec-mscrypto. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-x509.html"><b><<< x509</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto-x509.html b/docs/api/xmlsec-mscrypto-x509.html new file mode 100644 index 00000000..1dffe6da --- /dev/null +++ b/docs/api/xmlsec-mscrypto-x509.html @@ -0,0 +1,478 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>x509</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<link rel="PREVIOUS" title="keysstore" href="xmlsec-mscrypto-keysstore.html"> +<link rel="NEXT" title="XML Security Library Reference Index" href="xmlsec-index.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-mscrypto-keysstore.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-index.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-MSCRYPTO-X509"></a>x509</h1> +<div class="REFNAMEDIV"> +<a name="AEN40980"></a><h2>Name</h2>x509 -- X509 certificates support implementation for MS Crypto.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-MSCRYPTO-X509.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ID">xmlSecMSCryptoKeyDataX509Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKLASS">xmlSecMSCryptoKeyDataX509GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKEYCERT">xmlSecMSCryptoKeyDataX509GetKeyCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCERT">xmlSecMSCryptoKeyDataX509AdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>); +<gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERT">xmlSecMSCryptoKeyDataX509GetCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE">xmlSecMSCryptoKeyDataX509GetCertsSize</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCRL">xmlSecMSCryptoKeyDataX509AdoptCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCRL-CONTEXT:CAPS"><span class="TYPE">PCCRL_CONTEXT</span></gtkdoclink> crl</code>); +<gtkdoclink href="PCCRL-CONTEXT:CAPS"><span class="RETURNVALUE">PCCRL_CONTEXT</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRL">xmlSecMSCryptoKeyDataX509GetCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE">xmlSecMSCryptoKeyDataX509GetCrlsSize</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +#define <a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTID">xmlSecMSCryptoKeyDataRawX509CertId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREID">xmlSecMSCryptoX509StoreId</a> +<gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREGETKLASS">xmlSecMSCryptoX509StoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTCERT">xmlSecMSCryptoX509StoreAdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTKEYSTORE">xmlSecMSCryptoX509StoreAdoptKeyStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> keyStore</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptTrustedStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> trustedStore</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> untrustedStore</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> val</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-X509.DESCRIPTION"></a><h2>Description</h2> +<p>X509 certificates support implementation for MS Crypto.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-MSCRYPTO-X509.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509ID"></a><h3>xmlSecMSCryptoKeyDataX509Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataX509Id</pre> +<p>The MSCrypto X509 data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETKLASS"></a><h3>xmlSecMSCryptoKeyDataX509GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The MSCrypto X509 key data klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-X509DATA"><span class="TYPE">sec-X509Data</span></gtkdoclink>).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN41139"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the X509 data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETKEYCERT"></a><h3>xmlSecMSCryptoKeyDataX509GetKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink> xmlSecMSCryptoKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the certificate from which the key was extracted.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41156"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41161"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key's certificate or NULL if key data was not used for key +extraction or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecMSCryptoKeyDataX509AdoptKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeyDataX509AdoptKeyCert + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>);</pre> +<p>Sets the key's certificate in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41182"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41187"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCRYPTO X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41192"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTCERT"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>);</pre> +<p>Adds certificate to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41212"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41217"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCRYPTO X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41222"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETCERT"></a><h3>xmlSecMSCryptoKeyDataX509GetCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="RETURNVALUE">PCCERT_CONTEXT</span></gtkdoclink> xmlSecMSCryptoKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a certificate from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41242"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41247"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41252"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code> is larger than the +number of certificates in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecMSCryptoKeyDataX509GetCertsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecMSCryptoKeyDataX509GetCertsSize + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of certificates in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41272"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41277"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of certificates in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTCRL"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="PCCRL-CONTEXT:CAPS"><span class="TYPE">PCCRL_CONTEXT</span></gtkdoclink> crl</code>);</pre> +<p>Adds CRL to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41298"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41303"><span style="white-space: nowrap"><code class="PARAMETER">crl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to MSCrypto X509 CRL.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41308"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETCRL"></a><h3>xmlSecMSCryptoKeyDataX509GetCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PCCRL-CONTEXT:CAPS"><span class="RETURNVALUE">PCCRL_CONTEXT</span></gtkdoclink> xmlSecMSCryptoKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a CRL from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41328"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41333"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired CRL position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41338"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code> is larger than the +number of CRLs in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecMSCryptoKeyDataX509GetCrlsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecMSCryptoKeyDataX509GetCrlsSize + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of CRLs in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41358"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41363"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of CRLs in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATARAWX509CERTID"></a><h3>xmlSecMSCryptoKeyDataRawX509CertId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataRawX509CertId</pre> +<p>The MSCrypto raw X509 certificate klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecMSCryptoKeyDataRawX509CertGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecMSCryptoKeyDataRawX509CertGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The raw X509 certificates key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN41386"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> raw X509 certificates key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREID"></a><h3>xmlSecMSCryptoX509StoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecMSCryptoX509StoreId</pre> +<p>The MSCrypto X509 store klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREGETKLASS"></a><h3>xmlSecMSCryptoX509StoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink> xmlSecMSCryptoX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The MSCrypto X509 certificates key data store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN41408"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MSCrypto X509 certificates key data store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREADOPTCERT"></a><h3>xmlSecMSCryptoX509StoreAdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="PCCERT-CONTEXT:CAPS"><span class="TYPE">PCCERT_CONTEXT</span></gtkdoclink> cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Adds trusted (root) or untrusted certificate to the store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41431"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41436"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to PCCERT_CONTEXT X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41441"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41446"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREADOPTKEYSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptKeyStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoX509StoreAdoptKeyStore + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> keyStore</code>);</pre> +<p>Adds <code class="PARAMETER">keyStore</code> to the list of key stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41467"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41472"><span style="white-space: nowrap"><code class="PARAMETER">keyStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41477"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptTrustedStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoX509StoreAdoptTrustedStore + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> trustedStore</code>);</pre> +<p>Adds <code class="PARAMETER">trustedStore</code> to the list of trusted certs stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41498"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41503"><span style="white-space: nowrap"><code class="PARAMETER">trustedStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to certs store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41508"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptUntrustedStore ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecMSCryptoX509StoreAdoptUntrustedStore + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="HCERTSTORE:CAPS"><span class="TYPE">HCERTSTORE</span></gtkdoclink> untrustedStore</code>);</pre> +<p>Adds <code class="PARAMETER">trustedStore</code> to the list of un-trusted certs stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41529"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41534"><span style="white-space: nowrap"><code class="PARAMETER">untrustedStore</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to certs store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41539"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS"></a><h3>xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecMSCryptoX509StoreEnableSystemTrustedCerts + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> val</code>);</pre> +<p>Enables/disables the system trusted certs.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41559"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN41564"><span style="white-space: nowrap"><code class="PARAMETER">val</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the enable/disable flag</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-mscrypto-keysstore.html"><b><<< keysstore</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-index.html"><b>XML Security Library Reference Index >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-mscrypto.sgml b/docs/api/xmlsec-mscrypto.sgml new file mode 100644 index 00000000..dc58235d --- /dev/null +++ b/docs/api/xmlsec-mscrypto.sgml @@ -0,0 +1,21 @@ +<!doctype book PUBLIC "-//DavenPort//DTD DocBook V3.0//EN" [ +<!ENTITY xmlsec-mscrypto-certkeys SYSTEM "sgml/certkeys.sgml"> +<!ENTITY xmlsec-mscrypto-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-mscrypto-crypto SYSTEM "sgml/crypto.sgml"> +<!ENTITY xmlsec-mscrypto-keysstore SYSTEM "sgml/keysstore.sgml"> +<!ENTITY xmlsec-mscrypto-x509 SYSTEM "sgml/x509.sgml"> +]> +<book id="index"> + <bookinfo> + <title>[Insert name here] Reference Manual</title> + </bookinfo> + + <chapter> + <title>[Insert title here]</title> + &xmlsec-mscrypto-certkeys; + &xmlsec-mscrypto-app; + &xmlsec-mscrypto-crypto; + &xmlsec-mscrypto-keysstore; + &xmlsec-mscrypto-x509; + </chapter> +</book> diff --git a/docs/api/xmlsec-nodeset.html b/docs/api/xmlsec-nodeset.html new file mode 100644 index 00000000..32175e7d --- /dev/null +++ b/docs/api/xmlsec-nodeset.html @@ -0,0 +1,542 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>nodeset</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="membuf" href="xmlsec-membuf.html"> +<link rel="NEXT" title="parser" href="xmlsec-parser.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-membuf.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NODESET"></a>nodeset</h1> +<div class="REFNAMEDIV"> +<a name="AEN13894"></a><h2>Name</h2>nodeset -- Nodeset object implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NODESET.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">enum <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a>; +enum <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a>; +struct <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSet</a>; +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">*xmlSecNodeSetWalkCallback</a>) (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *data</code>); +<gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETCREATE">xmlSecNodeSetCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODESET"><span class="TYPE">xmlNodeSetPtr</span></gtkdoclink> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> type</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY">xmlSecNodeSetDestroy</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETDOCDESTROY">xmlSecNodeSetDocDestroy</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETCONTAINS">xmlSecNodeSetContains</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>); +<gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETADD">xmlSecNodeSetAdd</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>); +<gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETADDLIST">xmlSecNodeSetAddList</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>); +<gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETGETCHILDREN">xmlSecNodeSetGetChildren</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> withComments</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> invert</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETWALK">xmlSecNodeSetWalk</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK"><span class="TYPE">xmlSecNodeSetWalkCallback</span></a> walkFunc</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETDUMPTEXTNODES">xmlSecNodeSetDumpTextNodes</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLOUTPUTBUFFER"><span class="TYPE">xmlOutputBufferPtr</span></gtkdoclink> out</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-nodeset.html#XMLSECNODESETDEBUGDUMP">xmlSecNodeSetDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NODESET.DESCRIPTION"></a><h2>Description</h2> +<p>Nodeset object implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NODESET.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNODESETTYPE"></a><h3>enum xmlSecNodeSetType</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecNodeSetNormal = 0, + xmlSecNodeSetInvert, + xmlSecNodeSetTree, + xmlSecNodeSetTreeWithoutComments, + xmlSecNodeSetTreeInvert, + xmlSecNodeSetTreeWithoutCommentsInvert, + xmlSecNodeSetList +} xmlSecNodeSetType;</pre> +<p>The basic nodes sets types.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETNORMAL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetNormal</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = nodes in the list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetInvert</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = all document nodes minus nodes in the list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTree</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = nodes in the list and all their subtress.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEWITHOUTCOMMENTS"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeWithoutComments</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = nodes in the list and + all their subtress but no comment nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeInvert</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = all document nodes minus nodes in the + list and all their subtress.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEWITHOUTCOMMENTSINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeWithoutCommentsInvert</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = all document nodes + minus (nodes in the list and all their subtress + plus all comment nodes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETLIST"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetList</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>nodes set = all nodes in the chidren list of nodes sets.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETOP"></a><h3>enum xmlSecNodeSetOp</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecNodeSetIntersection = 0, + xmlSecNodeSetSubtraction, + xmlSecNodeSetUnion +} xmlSecNodeSetOp;</pre> +<p>The simple nodes sets operations.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETINTERSECTION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetIntersection</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>intersection.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETSUBTRACTION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetSubtraction</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>subtraction.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECNODESETUNION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetUnion</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>union.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESET"></a><h3>struct xmlSecNodeSet</h3> +<pre class="PROGRAMLISTING">struct xmlSecNodeSet { + xmlNodeSetPtr nodes; + xmlDocPtr doc; + int destroyDoc; + xmlSecNodeSetType type; + xmlSecNodeSetOp op; + xmlSecNodeSetPtr next; + xmlSecNodeSetPtr prev; + xmlSecNodeSetPtr children; +};</pre> +<p>The enchanced nodes set.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14099"><span style="white-space: nowrap"><gtkdoclink href="XMLNODESET"><span class="TYPE">xmlNodeSetPtr</span></gtkdoclink> <code class="STRUCTFIELD">nodes</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the nodes list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14106"><span style="white-space: nowrap"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> <code class="STRUCTFIELD">doc</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the parent XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14113"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">destroyDoc</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then <code class="PARAMETER">doc</code> will + be destroyed when node set is destroyed.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14121"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> <code class="STRUCTFIELD">type</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the nodes set type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14128"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> <code class="STRUCTFIELD">op</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the operation type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14135"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">next</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the next nodes set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14142"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">prev</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the previous nodes set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14149"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">children</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the children list (valid only if type + equal to <a href="xmlsec-nodeset.html#XMLSECNODESETLIST"><span class="TYPE">xmlSecNodeSetList</span></a>).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETWALKCALLBACK"></a><h3>xmlSecNodeSetWalkCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecNodeSetWalkCallback) (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *data</code>);</pre> +<p>The callback function called once per each node in the nodes set.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14179"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14186"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer current XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14191"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the <code class="PARAMETER">cur</code> parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14197"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to application specific data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14202"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs +an walk procedure should be interrupted.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETCREATE"></a><h3>xmlSecNodeSetCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink> xmlSecNodeSetCreate (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODESET"><span class="TYPE">xmlNodeSetPtr</span></gtkdoclink> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> type</code>);</pre> +<p>Creates new nodes set. Caller is responsible for freeing returned object +by calling <a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY"><span class="TYPE">xmlSecNodeSetDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14227"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to parent XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14232"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14237"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the nodes set type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14242"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated node set or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETDESTROY"></a><h3>xmlSecNodeSetDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecNodeSetDestroy (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>);</pre> +<p>Destroys the nodes set created with <a href="xmlsec-nodeset.html#XMLSECNODESETCREATE"><span class="TYPE">xmlSecNodeSetCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN14261"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETDOCDESTROY"></a><h3>xmlSecNodeSetDocDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecNodeSetDocDestroy (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>);</pre> +<p>Instructs node set to destroy nodes parent doc when node set is destroyed.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN14278"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETCONTAINS"></a><h3>xmlSecNodeSetContains ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNodeSetContains (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>);</pre> +<p>Checks whether the <code class="PARAMETER">node</code> is in the nodes set or not.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14302"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14307"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to XML node to check.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14312"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <code class="PARAMETER">node</code> parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14318"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if the <code class="PARAMETER">node</code> is in the nodes set <code class="PARAMETER">nset</code>, 0 if it is not +and a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETADD"></a><h3>xmlSecNodeSetAdd ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink> xmlSecNodeSetAdd (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>);</pre> +<p>Adds <code class="PARAMETER">newNSet</code> to the <code class="PARAMETER">nset</code> using operation <code class="PARAMETER">op</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14346"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to currrent nodes set (or NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14351"><span style="white-space: nowrap"><code class="PARAMETER">newNSet</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new nodes set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14356"><span style="white-space: nowrap"><code class="PARAMETER">op</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the operation type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14361"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to combined nodes set or NULL if an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETADDLIST"></a><h3>xmlSecNodeSetAddList ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink> xmlSecNodeSetAddList (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>);</pre> +<p>Adds <code class="PARAMETER">newNSet</code> to the <code class="PARAMETER">nset</code> as child using operation <code class="PARAMETER">op</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14387"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to currrent nodes set (or NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14392"><span style="white-space: nowrap"><code class="PARAMETER">newNSet</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new nodes set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14397"><span style="white-space: nowrap"><code class="PARAMETER">op</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the operation type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14402"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to combined nodes set or NULL if an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETGETCHILDREN"></a><h3>xmlSecNodeSetGetChildren ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECNODESETPTR"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></gtkdoclink> xmlSecNodeSetGetChildren (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> withComments</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> invert</code>);</pre> +<p>Creates a new nodes set that contains: + - if <code class="PARAMETER">withComments</code> is not 0 and <code class="PARAMETER">invert</code> is 0: + all nodes in the <code class="PARAMETER">parent</code> subtree; + - if <code class="PARAMETER">withComments</code> is 0 and <code class="PARAMETER">invert</code> is 0: + all nodes in the <code class="PARAMETER">parent</code> subtree except comment nodes; + - if <code class="PARAMETER">withComments</code> is not 0 and <code class="PARAMETER">invert</code> not is 0: + all nodes in the <code class="PARAMETER">doc</code> except nodes in the <code class="PARAMETER">parent</code> subtree; + - if <code class="PARAMETER">withComments</code> is 0 and <code class="PARAMETER">invert</code> is 0: + all nodes in the <code class="PARAMETER">doc</code> except nodes in the <code class="PARAMETER">parent</code> subtree + and comment nodes.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14442"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14447"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to parent XML node or NULL if we want to include all document nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14452"><span style="white-space: nowrap"><code class="PARAMETER">withComments</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag include comments or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14457"><span style="white-space: nowrap"><code class="PARAMETER">invert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the "invert" flag.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14462"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the newly created <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETWALK"></a><h3>xmlSecNodeSetWalk ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNodeSetWalk (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK"><span class="TYPE">xmlSecNodeSetWalkCallback</span></a> walkFunc</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *data</code>);</pre> +<p>Calls the function <code class="PARAMETER">walkFunc</code> once per each node in the nodes set <code class="PARAMETER">nset</code>. +If the <code class="PARAMETER">walkFunc</code> returns a negative value, then the walk procedure +is interrupted.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14490"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14495"><span style="white-space: nowrap"><code class="PARAMETER">walkFunc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the callback functions.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14500"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the application specific data passed to the <code class="PARAMETER">walkFunc</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14506"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETDUMPTEXTNODES"></a><h3>xmlSecNodeSetDumpTextNodes ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNodeSetDumpTextNodes (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="XMLOUTPUTBUFFER"><span class="TYPE">xmlOutputBufferPtr</span></gtkdoclink> out</code>);</pre> +<p>Dumps content of all the text nodes from <code class="PARAMETER">nset</code> to <code class="PARAMETER">out</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14528"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14533"><span style="white-space: nowrap"><code class="PARAMETER">out</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the output buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14538"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODESETDEBUGDUMP"></a><h3>xmlSecNodeSetDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecNodeSetDebugDump (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints information about <code class="PARAMETER">nset</code> to the <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14560"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14565"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-membuf.html"><b><<< membuf</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-parser.html"><b>parser >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-compiling-others.html b/docs/api/xmlsec-notes-compiling-others.html new file mode 100644 index 00000000..5741c750 --- /dev/null +++ b/docs/api/xmlsec-notes-compiling-others.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Compiling and linking on other systems.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<link rel="PREVIOUS" title="Compiling and linking on Windows." href="xmlsec-notes-compiling-windows.html"> +<link rel="NEXT" title="Initialization and shutdown." href="xmlsec-notes-init-shutdown.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-compiling-windows.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-init-shutdown.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-OTHERS">Compiling and linking on other systems.</a></h1> +<p>Well, nothing is impossible, it's only software (you managed to + compile the library itself, do you?). + I'll be happy to include in this manual your expirience with + compiling and linking applications with XML Security Library + on other platforms (if you would like to share it). + </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-windows.html"><b><<< Compiling and linking on Windows.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-init-shutdown.html"><b>Initialization and shutdown. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-compiling-unix.html b/docs/api/xmlsec-notes-compiling-unix.html new file mode 100644 index 00000000..476552ea --- /dev/null +++ b/docs/api/xmlsec-notes-compiling-unix.html @@ -0,0 +1,223 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Compiling and linking on Unix.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<link rel="PREVIOUS" title="Include files." href="xmlsec-notes-include-files.html"> +<link rel="NEXT" title="Compiling and linking on Windows." href="xmlsec-notes-compiling-windows.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-include-files.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-compiling-windows.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-UNIX">Compiling and linking on Unix.</a></h1> +<p>There are several ways to get necessary compilation + and linking information on Unix and application can use + any of these methods to do crypto engine selection either + at linking or run time. + + </p> +<p></p> +<ul> +<li> +<p>PKG_CHECK_MODULES() macro + </p> +<div class="EXAMPLE"> +<a name="AEN70"></a><p><b>Example 2. Using PKG_CHECK_MODULES() macro in a configure.in file + to select crypto engine (openssl) at linking time.</b></p> +<pre class="PROGRAMLISTING">dnl +dnl Check for xmlsec and friends +dnl +PKG_CHECK_MODULES(XMLSEC, xmlsec1-openssl >= 1.0.0 xml2 libxslt,,exit) +CFLAGS="$CFLAGS $XMLSEC_CFLAGS" +CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS" +LDFLAGS="$LDFLAGS $XMLSEC_LIBS" + </pre> +</div> + + <div class="EXAMPLE"> +<a name="AEN73"></a><p><b>Example 3. Using PKG_CHECK_MODULES() macro in a configure.in file + to enable dynamical loading of xmlsec-crypto library.</b></p> +<pre class="PROGRAMLISTING">dnl +dnl Check for xmlsec and friends +dnl +PKG_CHECK_MODULES(XMLSEC, xmlsec1 >= 1.0.0 xml2 libxslt,,exit) +CFLAGS="$CFLAGS $XMLSEC_CFLAGS" +CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS" +LDFLAGS="$LDFLAGS $XMLSEC_LIBS" + </pre> +</div> + + </li> +<li> +<p>pkg-config script + </p> +<div class="EXAMPLE"> +<a name="AEN78"></a><p><b>Example 4. Using pkg-config script in a Makefile + to select crypto engine (nss) at linking time.</b></p> +<pre class="PROGRAMLISTING">PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell pkg-config --cflags xmlsec1-nss) +LDFLAGS += -g +LIBS += $(shell pkg-config --libs xmlsec1-nss) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + </pre> +</div> + + + <div class="EXAMPLE"> +<a name="AEN81"></a><p><b>Example 5. Using pkg-config script in a Makefile + to enable dynamical loading of xmlsec-crypto library.</b></p> +<pre class="PROGRAMLISTING">PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell pkg-config --cflags xmlsec1) +LDFLAGS += -g +LIBS += $(shell pkg-config --libs xmlsec1) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + </pre> +</div> + + </li> +<li> +<p>xmlsec1-config script + </p> +<div class="EXAMPLE"> +<a name="AEN86"></a><p><b>Example 6. Using xmlsec1-config script in a Makefile + to select crypto engine (e.g. gnutls) at linking time.</b></p> +<pre class="PROGRAMLISTING">PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell xmlsec1-config --crypto gnutls --cflags) +LDFLAGS += -g +LIBS += $(shell xmlsec1-config --crypto gnutls --libs) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + </pre> +</div> + + <div class="EXAMPLE"> +<a name="AEN89"></a><p><b>Example 7. Using xmlsec1-config script in a Makefile + to enable dynamical loading of xmlsec-crypto library.</b></p> +<pre class="PROGRAMLISTING">PROGRAM = test +PROGRAM_FILES = test.c + +CFLAGS += -g $(shell xmlsec1-config --cflags) +LDFLAGS += -g +LIBS += $(shell xmlsec1-config --libs) + +all: $(PROGRAM) + +%: %.c + $(cc) $(PROGRAM_FILES) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(LIBS) + +clean: + @rm -rf $(PROGRAM) + </pre> +</div> + </li> +</ul> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-include-files.html"><b><<< Include files.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-windows.html"><b>Compiling and linking on Windows. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-compiling-windows.html b/docs/api/xmlsec-notes-compiling-windows.html new file mode 100644 index 00000000..7ba8fc63 --- /dev/null +++ b/docs/api/xmlsec-notes-compiling-windows.html @@ -0,0 +1,138 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Compiling and linking on Windows.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<link rel="PREVIOUS" title="Compiling and linking on Unix." href="xmlsec-notes-compiling-unix.html"> +<link rel="NEXT" title="Compiling and linking on other systems." href="xmlsec-notes-compiling-others.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-compiling-unix.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-compiling-others.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-WINDOWS">Compiling and linking on Windows.</a></h1> +<p>On Windows there is no such simple and elegant solution. + Please check <tt class="FILENAME">README</tt> file in <tt class="FILENAME">win32</tt> + folder of the library package for latest instructions. + However, there are few general things, that you need to remember: + </p> +<p></p> +<ul> +<li><p> + <span class="emphasis"><i class="EMPHASIS">All libraries linked to your application must be compiled + with the same Microsoft Runtime Libraries.</i></span> + </p></li> +<li> +<p> + <span class="emphasis"><i class="EMPHASIS">Static linking with XML Security Library requires + additional global defines:</i></span> + </p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN104"></a><pre class="PROGRAMLISTING">#define LIBXML_STATIC +#define LIBXSLT_STATIC +#define XMLSEC_STATIC + </pre> +<p></p> +</div> + </li> +<li><p> If you do not want to dynamicaly load xmlsec-crypto library + and prefer to select crypto engine at linking then you should + link your application with xmlsec and at least one of + xmlsec-crypto libraries. + </p></li> +<li> +<p> In order to enable dynamic loading for xmlsec-crypto library + you should add additional global define: + </p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN110"></a><pre class="PROGRAMLISTING">#define XMLSEC_CRYPTO_DYNAMIC_LOADING + </pre> +<p></p> +</div> + </li> +</ul> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-unix.html"><b><<< Compiling and linking on Unix.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-others.html"><b>Compiling and linking on other systems. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-compiling.html b/docs/api/xmlsec-notes-compiling.html new file mode 100644 index 00000000..3e7d1f60 --- /dev/null +++ b/docs/api/xmlsec-notes-compiling.html @@ -0,0 +1,117 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Building the application with XML Security Library.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="XML Security Library Structure." href="xmlsec-notes-structure.html"> +<link rel="NEXT" title="Include files." href="xmlsec-notes-include-files.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-structure.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-include-files.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-COMPILING"></a>Building the application with XML Security Library.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-compiling.html#XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-include-files.html">Include files.</a></dt> +<dt><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></dt> +<dt><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></dt> +<dt><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></h1> +<p>Compiling and linking application with XML Security + Library requires specifying correct compilation flags, library files + and paths to include and library files. As we discussed before, + XML Security Library consist of the core xmlsec library and several + xmlsec-crypto libraries. Application has a choice of selecting crypto + library at link time or dynamicaly loading it at run time. Please note, + that loading crypto engines dynamicaly may introduce security problems + on some platforms. + </p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-structure.html"><b><<< XML Security Library Structure.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-include-files.html"><b>Include files. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-contexts.html b/docs/api/xmlsec-notes-contexts.html new file mode 100644 index 00000000..247f83f6 --- /dev/null +++ b/docs/api/xmlsec-notes-contexts.html @@ -0,0 +1,229 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Using context objects.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Transforms and transforms chain." href="xmlsec-notes-transforms.html"> +<link rel="NEXT" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-transforms.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-CONTEXTS"></a>Using context objects.</h1> +<p>The great flexibility of XML Digital Signature and XML Encryption + specification is one of the most interesting and in the same time, + most dangerouse feature for an application developer. + For example, XPath and XSLT transform can make it very difficult + to find out what exactly was signed by just looking at the + transforms and the input data. Many protocols based on + XML Digital Signature and XML Encryption restrict allowed + key data types, allowed transforms or possible input data. + For example, signature in a simple SAML Response should have only + one <dsig:Reference/> element with an empty or NULL + URI attribute and only one enveloped transform. + XML Security Library uses "context" objects to let application + enable or disable particular features, return the result + data and the information collected during the processing. + Also all the context objects defined in XML Security library have + a special <code class="STRUCTFIELD">userData</code> member which could + be used by application to pass application specific data around. + XML Security Library never use this field. + The application creates a new + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + or <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> object for each + operation, sets necessary options and consumes result returned + in the context after signature, verification, encryption or decryption. + </p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN489"></a><p><b>Example 1. SAML signature validation.</b></p> +<pre class="PROGRAMLISTING">/** + * verify_file: + * @mngr: the pointer to keys manager. + * @xml_file: the signed XML file name. + * + * Verifies XML signature in #xml_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context */ + dsigCtx = xmlSecDSigCtxCreate(mngr); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* limit the Reference URI attributes to empty or NULL */ + dsigCtx->enabledReferenceUris = xmlSecTransformUriTypeEmpty; + + /* limit allowed transforms for siganture and reference processing */ + if((xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformRsaSha1Id) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed siganture transforms\n"); + goto done; + } + if((xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformEnvelopedId) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed reference transforms\n"); + goto done; + } + + /* in addition, limit possible key data to valid X509 certificates only */ + if(xmlSecPtrListAdd(&(dsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecKeyDataX509Id) < 0) { + fprintf(stderr,"Error: failed to limit allowed key data\n"); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* check that we have only one Reference */ + if((dsigCtx->status == xmlSecDSigStatusSucceeded) && + (xmlSecPtrListGetSize(&(dsigCtx->signedInfoReferences)) != 1)) { + + fprintf(stderr,"Error: only one reference is allowed\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + + </pre> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-transforms.html"><b><<< Transforms and transforms chain.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto.html"><b>Adding support for new cryptographic library. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-custom-keys-store.html b/docs/api/xmlsec-notes-custom-keys-store.html new file mode 100644 index 00000000..7c81c23b --- /dev/null +++ b/docs/api/xmlsec-notes-custom-keys-store.html @@ -0,0 +1,250 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Implementing a custom keys store.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<link rel="PREVIOUS" title="Using keys manager for verification/decryption." href="xmlsec-notes-keys-mngr-verify-decrypt.html"> +<link rel="NEXT" title="Using X509 Certificates." href="xmlsec-notes-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-CUSTOM-KEYS-STORE">Implementing a custom keys store.</a></h1> +<p>In many cases, a default built-in list based keys store + is not good enough. For example, XML Security Library (and + the built-in default keys store) have no synchronization and + you'll need to implement a custom keys store if you want to + add or remove keys while other threads use the store.</p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN400"></a><p><b>Example 4. Creating a custom keys manager.</b></p> +<pre class="PROGRAMLISTING">/** + * create_files_keys_mngr: + * + * Creates a files based keys manager: we assume that key name is + * the key file name, + * + * Returns pointer to newly created keys manager or NULL if an error occurs. + */ +xmlSecKeysMngrPtr +create_files_keys_mngr(void) { + xmlSecKeyStorePtr keysStore; + xmlSecKeysMngrPtr mngr; + + /* create files based keys store */ + keysStore = xmlSecKeyStoreCreate(files_keys_store_get_klass()); + if(keysStore == NULL) { + fprintf(stderr, "Error: failed to create keys store.\n"); + return(NULL); + } + + /* create keys manager */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + return(NULL); + } + + /* add store to keys manager, from now on keys manager destroys the store if needed */ + if(xmlSecKeysMngrAdoptKeysStore(mngr, keysStore) < 0) { + fprintf(stderr, "Error: failed to add keys store to keys manager.\n"); + xmlSecKeyStoreDestroy(keysStore); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* initialize crypto library specific data in keys manager */ + if(xmlSecCryptoKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize crypto data in keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set the get key callback */ + mngr->getKey = xmlSecKeysMngrGetKey; + return(mngr); +} + +/**************************************************************************** + * + * Files Keys Store: we assume that key's name (content of the + * <dsig:KeyName/> element is a name of the file with a key. + * Attention: this probably not a good solution for high traffic systems. + * + ***************************************************************************/ +static xmlSecKeyPtr files_keys_store_find_key (xmlSecKeyStorePtr store, + const xmlChar* name, + xmlSecKeyInfoCtxPtr keyInfoCtx); +static xmlSecKeyStoreKlass files_keys_store_klass = { + sizeof(xmlSecKeyStoreKlass), + sizeof(xmlSecKeyStore), + BAD_CAST "files-based-keys-store", /* const xmlChar* name; */ + NULL, /* xmlSecKeyStoreInitializeMethod initialize; */ + NULL, /* xmlSecKeyStoreFinalizeMethod finalize; */ + files_keys_store_find_key, /* xmlSecKeyStoreFindKeyMethod findKey; */ + + /* reserved for the future */ + NULL, /* void* reserved0; */ + NULL, /* void* reserved1; */ +}; + +/** + * files_keys_store_get_klass: + * + * The files based keys store klass: we assume that key name is the + * key file name, + * + * Returns files based keys store klass. + */ +xmlSecKeyStoreId +files_keys_store_get_klass(void) { + return(&files_keys_store_klass); +} + +/** + * files_keys_store_find_key: + * @store: the pointer to default keys store. + * @name: the desired key name. + * @keyInfoCtx: the pointer to <dsig:KeyInfo/> node processing context. + * + * Lookups key in the @store. + * + * Returns pointer to key or NULL if key not found or an error occurs. + */ +static xmlSecKeyPtr +files_keys_store_find_key(xmlSecKeyStorePtr store, const xmlChar* name, xmlSecKeyInfoCtxPtr keyInfoCtx) { + xmlSecKeyPtr key; + const xmlChar* p; + + assert(store); + assert(keyInfoCtx); + + /* it's possible to do not have the key name or desired key type + * but we could do nothing in this case */ + if((name == NULL) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataIdUnknown)){ + return(NULL); + } + + /* we don't want to open files in a folder other than "current"; + * to prevent it limit the characters in the key name to alpha/digit, + * '.', '-' or '_'. + */ + for(p = name; (*p) != '\0'; ++p) { + if(!isalnum((*p)) && ((*p) != '.') && ((*p) != '-') && ((*p) != '_')) { + return(NULL); + } + } + + if((keyInfoCtx->keyReq.keyId == xmlSecKeyDataDsaId) || (keyInfoCtx->keyReq.keyId == xmlSecKeyDataRsaId)) { + /* load key from a pem file, if key is not found then it's an error (is it?) */ + key = xmlSecCryptoAppKeyLoad(name, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load pem key from \"%s\"\n", name); + return(NULL); + } + } else { + /* otherwise it's a binary key, if key is not found then it's an error (is it?) */ + key = xmlSecKeyReadBinaryFile(keyInfoCtx->keyReq.keyId, name); + if(key == NULL) { + fprintf(stderr,"Error: failed to load key from binary file \"%s\"\n", name); + return(NULL); + } + } + + /* set key name */ + if(xmlSecKeySetName(key, name) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", name); + xmlSecKeyDestroy(key); + return(NULL); + } + + return(key); +} + </pre> +<p><a href="xmlsec-custom-keys-manager.html#XMLSEC-EXAMPLE-DECRYPT3">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><b><<< Using keys manager for verification/decryption.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-x509.html"><b>Using X509 Certificates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-decrypt.html b/docs/api/xmlsec-notes-decrypt.html new file mode 100644 index 00000000..829f800f --- /dev/null +++ b/docs/api/xmlsec-notes-decrypt.html @@ -0,0 +1,205 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Decrypting an encrypted document</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html"> +<link rel="PREVIOUS" title="Verifying a signed document" href="xmlsec-notes-verify.html"> +<link rel="NEXT" title="Keys." href="xmlsec-notes-keys.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-verify.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-keys.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-DECRYPT">Decrypting an encrypted document</a></h1> +<p>The typical decryption process includes following steps: + </p> +<p></p> +<ul> +<li><p> Load keys, X509 certificates, etc. in the <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> . + </p></li> +<li><p> Create encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> + using <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> or + <a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a> + functions. + </p></li> +<li><p> Select start decryption <enc:EncryptedData> node. + </p></li> +<li><p> Decrypt by calling <a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecencCtxDecrypt</a> + function. + </p></li> +<li><p> Check returned value and if necessary consume encrypted data. + </p></li> +<li><p> Destroy encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> + using <a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> or + <a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a> + functions. + </p></li> +</ul> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN333"></a><p><b>Example 2. Decrypting a document.</b></p> +<pre class="PROGRAMLISTING">int +decrypt_file(const char* enc_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(enc_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(enc_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", enc_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", enc_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* decrypt the data */ + if((xmlSecEncCtxDecrypt(encCtx, node) < 0) || (encCtx->result == NULL)) { + fprintf(stderr,"Error: decryption failed\n"); + goto done; + } + + /* print decrypted data to stdout */ + if(encCtx->resultReplaced != 0) { + fprintf(stdout, "Decrypted XML data:\n"); + xmlDocDump(stdout, doc); + } else { + fprintf(stdout, "Decrypted binary data (%d bytes):\n", xmlSecBufferGetSize(encCtx->result)); + if(xmlSecBufferGetData(encCtx->result) != NULL) { + fwrite(xmlSecBufferGetData(encCtx->result), + 1, + xmlSecBufferGetSize(encCtx->result), + stdout); + } + } + fprintf(stdout, "\n"); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-decrypt-with-signle-key.html#XMLSEC-EXAMPLE-DECRYPT1">Full Program Listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-verify.html"><b><<< Verifying a signed document</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-keys.html"><b>Keys. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-dynamic-encryption-templates.html b/docs/api/xmlsec-notes-dynamic-encryption-templates.html new file mode 100644 index 00000000..afe4147a --- /dev/null +++ b/docs/api/xmlsec-notes-dynamic-encryption-templates.html @@ -0,0 +1,240 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Creating dynamic encryption templates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Creating dynamic templates." href="xmlsec-notes-templates.html"> +<link rel="PREVIOUS" title="Creating dynamic signature templates." href="xmlsec-notes-dynamic-signature-templates.html"> +<link rel="NEXT" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-dynamic-signature-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-verify-decrypt.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-DYNAMIC-ENCRYPTION-TEMPLATES">Creating dynamic encryption templates.</a></h1> +<p>The encryption template has structure similar + to the XML Encryption structure as it is described in + <a href="http://www.w3.org/TR/xmlenc-core" target="_top">specification</a>. + The only difference is that some nodes (for example, + <enc:CipherValue/>) + are empty. The XML Security Library sets the content of these + nodes after doing necessary calculations. + </p> +<div class="FIGURE"> +<a name="AEN256"></a><p><b>Figure 2. XML Encryption structure</b></p> +<pre class="PROGRAMLISTING"><enc:EncryptedData Id? Type? MimeType? Encoding?> + <enc:EncryptionMethod Algorithm />? + (<dsig:KeyInfo> + <dsig:KeyName>? + <dsig:KeyValue>? + <dsig:RetrievalMethod>? + <dsig:X509Data>? + <dsig:PGPData>? + <enc:EncryptedKey>? + <enc:AgreementMethod>? + <dsig:KeyName>? + <dsig:RetrievalMethod>? + <*>? + </dsig:KeyInfo>)? + <enc:CipherData> + <enc:CipherValue>? + <enc:CipherReference URI?>? + </enc:CipherData> + <enc:EncryptionProperties>? +</enc:EncryptedData> + </pre> +</div> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN260"></a><p><b>Example 2. Creating dynamic encrytion template.</b></p> +<pre class="PROGRAMLISTING">/** + * encrypt_file: + * @xml_file: the encryption template file name. + * @key_file: the Triple DES key file. + * + * Encrypts #xml_file using a dynamicaly created template and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key, assuming that there is not password */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-encrypt-dynamic-template.html#XMLSEC-EXAMPLE-ENCRYPT2">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-dynamic-signature-templates.html"><b><<< Creating dynamic signature templates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-verify-decrypt.html"><b>Verifing and decrypting documents. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-dynamic-signature-templates.html b/docs/api/xmlsec-notes-dynamic-signature-templates.html new file mode 100644 index 00000000..7e912a9b --- /dev/null +++ b/docs/api/xmlsec-notes-dynamic-signature-templates.html @@ -0,0 +1,250 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Creating dynamic signature templates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Creating dynamic templates." href="xmlsec-notes-templates.html"> +<link rel="PREVIOUS" title="Creating dynamic templates." href="xmlsec-notes-templates.html"> +<link rel="NEXT" title="Creating dynamic encryption templates." href="xmlsec-notes-dynamic-encryption-templates.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-dynamic-encryption-templates.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-DYNAMIC-SIGNATURE-TEMPLATES">Creating dynamic signature templates.</a></h1> +<p>The signature template has structure similar + to the XML Digital Signature structure as it is described in + <a href="http://www.w3.org/TR/xmldsig-core" target="_top">specification</a>. + The only difference is that some nodes (for example, + <dsig:DigestValue/> or <SignatureValue/>) + are empty. The XML Security Library sets the content of these + nodes after doing necessary calculations. + </p> +<div class="FIGURE"> +<a name="AEN243"></a><p><b>Figure 1. XML Digital Signature structure</b></p> +<pre class="PROGRAMLISTING"><dsig:Signature ID?> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm /> + <dsig:SignatureMethod Algorithm /> + (<dsig:Reference URI? > + (<dsig:Transforms> + (<dsig:Transform Algorithm />)+ + </dsig:Transforms>)? + <dsig:DigestMethod Algorithm > + <dsig:DigestValue> + </dsig:Reference>)+ + </dsig:SignedInfo> + <dsig:SignatureValue> + (<dsig:KeyInfo> + <dsig:KeyName>? + <dsig:KeyValue>? + <dsig:RetrievalMethod>? + <dsig:X509Data>? + <dsig:PGPData>? + <enc:EncryptedKey>? + <enc:AgreementMethod>? + <dsig:KeyName>? + <dsig:RetrievalMethod>? + <*>? + </dsig:KeyInfo>)? + (<dsig:Object ID?>)* +</dsig:Signature> + </pre> +</div> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN247"></a><p><b>Example 1. Creating dynamic signature template.</b></p> +<pre class="PROGRAMLISTING">/** + * sign_file: + * @xml_file: the XML file name. + * @key_file: the PEM private key file name. + * + * Signs the #xml_file using private key from #key_file and dynamicaly + * created enveloped signature template. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr signNode = NULL; + xmlNodePtr refNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load doc file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to put key name in the signed document */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode, NULL) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, signNode) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-examples-sign-dynamimc-template.html#XMLSEC-EXAMPLE-SIGN2">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-templates.html"><b><<< Creating dynamic templates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-dynamic-encryption-templates.html"><b>Creating dynamic encryption templates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-encrypt.html b/docs/api/xmlsec-notes-encrypt.html new file mode 100644 index 00000000..656d2df7 --- /dev/null +++ b/docs/api/xmlsec-notes-encrypt.html @@ -0,0 +1,223 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Encrypting data.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html"> +<link rel="PREVIOUS" title="Signing a document." href="xmlsec-notes-sign.html"> +<link rel="NEXT" title="Creating dynamic templates." href="xmlsec-notes-templates.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-sign.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-templates.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-ENCRYPT">Encrypting data.</a></h1> +<p>The typical encryption process includes following steps: + </p> +<p></p> +<ul> +<li><p> Prepare data for encryption. + </p></li> +<li><p> Create or load encryption template and select start + <enc:EncryptedData/> node. + </p></li> +<li><p> Create encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> + using <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> or + <a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a> + functions. + </p></li> +<li><p> Load encryption key in <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> + or generate a session key and set it in the encryption context + (<code class="STRUCTFIELD">encKey</code> member of + <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure). + </p></li> +<li> +<p> Encrypt data by calling one of the following functions: + </p> +<p></p> +<ul> +<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a> + </p></li> +<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a> + </p></li> +<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a> + </p></li> +</ul> +</li> +<li><p> Check returned value and if necessary consume encrypted data. + </p></li> +<li><p> Destroy encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> + using <a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> or + <a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a> + functions. + </p></li> +</ul> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN227"></a><p><b>Example 2. Encrypting binary data with a template.</b></p> +<pre class="PROGRAMLISTING">/** + * encrypt_file: + * @tmpl_file: the encryption template file name. + * @key_file: the Triple DES key file. + * @data: the binary data to encrypt. + * @dataSize: the binary data size. + * + * Encrypts binary #data using template from #tmpl_file and DES key from + * #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(const char* tmpl_file, const char* key_file, const unsigned char* data, size_t dataSize) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + assert(data); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeEncryptedData, xmlSecEncNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create encryption context, we don't need keys manager in this example */ + encCtx = xmlSecEncCtxCreate(NULL); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* load DES key */ + encCtx->encKey = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, key_file); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(encCtx->encKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxBinaryEncrypt(encCtx, node, data, dataSize) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-encrypt-template-file.html#XMLSEC-EXAMPLE-ENCRYPT1">Full program listing</a></p> +<p><a href="xmlsec-encrypt-template-file.html#XMLSEC-EXAMPLE-ENCRYPT1-TMPL">Simple encryption template file</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-sign.html"><b><<< Signing a document.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-templates.html"><b>Creating dynamic templates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-include-files.html b/docs/api/xmlsec-notes-include-files.html new file mode 100644 index 00000000..749e66cd --- /dev/null +++ b/docs/api/xmlsec-notes-include-files.html @@ -0,0 +1,141 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Include files.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<link rel="PREVIOUS" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<link rel="NEXT" title="Compiling and linking on Unix." href="xmlsec-notes-compiling-unix.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-compiling.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-compiling-unix.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-INCLUDE-FILES">Include files.</a></h1> +<p>In order to use XML Security Library an application should include + one or more of the following files: + </p> +<p></p> +<ul> +<li><p><a href="xmlsec-xmlsec.html">xmlsec/xmlsec.h</a> - + XML Security Library initialization and shutdown functions; + </p></li> +<li><p><a href="xmlsec-xmldsig.html">xmlsec/xmldsig.h</a> - + XML Digital Signature functions;</p></li> +<li><p><a href="xmlsec-xmlenc.html">xmlsec/xmlenc.h</a> - + XML Encryption functions;</p></li> +<li><p><a href="xmlsec-xmltree.html">xmlsec/xmltree.h</a> - + helper functions for XML documents manipulation; + </p></li> +<li><p><a href="xmlsec-templates.html">xmlsec/templates.h</a> - + helper functions for dynamic XML Digital Signature and + XML Encryption templates creation; + </p></li> +<li><p><font>xmlsec/crypto.h</font> - + automatic XML Security Crypto Library selection. + </p></li> +</ul> +<p>If necessary, the application should also include LibXML, + LibXSLT and crypto library header files. + </p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN61"></a><p><b>Example 1. Example includes file section.</b></p> +<pre class="PROGRAMLISTING">#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/xmlenc.h> +#include <xmlsec/templates.h> +#include <xmlsec/crypto.h> + </pre> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-compiling.html"><b><<< Building the application with XML Security Library.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-unix.html"><b>Compiling and linking on Unix. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-init-shutdown.html b/docs/api/xmlsec-notes-init-shutdown.html new file mode 100644 index 00000000..a86c318d --- /dev/null +++ b/docs/api/xmlsec-notes-init-shutdown.html @@ -0,0 +1,194 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Initialization and shutdown.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Compiling and linking on other systems." href="xmlsec-notes-compiling-others.html"> +<link rel="NEXT" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-compiling-others.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-sign-encrypt.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-INIT-SHUTDOWN"></a>Initialization and shutdown.</h1> +<p>XML Security Library initialization/shutdown + process includes initialization and shutdown of the + dependent libraries: + </p> +<p></p> +<ul> +<li><p>libxml library;</p></li> +<li><p>libxslt library;</p></li> +<li><p>crypto library (OpenSSL, GnuTLS, GCrypt, NSS, ...);</p></li> +<li><p>xmlsec library + (<a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a> + and <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a> + functions); + </p></li> +<li><p>xmlsec-crypto library + (<a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a> + to load xmlsec-crypto library dynamicaly if needed, + <a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a> + and <a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a> + functions); + </p></li> +</ul> + xmlsec-crypto library also provides a convinient functions + <font>xmlSecAppCryptoInit</font> + and <font>xmlSecAppCryptoShutdown</font> + to initialize the crypto library itself but application can do it + by itself. + <p> </p> +<div class="EXAMPLE"> +<a name="AEN137"></a><p><b>Example 1. Initializing application.</b></p> +<pre class="PROGRAMLISTING"> /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + </pre> +</div> + <p> </p> +<div class="EXAMPLE"> +<a name="AEN141"></a><p><b>Example 2. Shutting down application.</b></p> +<pre class="PROGRAMLISTING"> /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + </pre> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-others.html"><b><<< Compiling and linking on other systems.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-sign-encrypt.html"><b>Signing and encrypting documents. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-keys-manager-sign-enc.html b/docs/api/xmlsec-notes-keys-manager-sign-enc.html new file mode 100644 index 00000000..a94af2ec --- /dev/null +++ b/docs/api/xmlsec-notes-keys-manager-sign-enc.html @@ -0,0 +1,307 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Using keys manager for signatures/encryption.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<link rel="PREVIOUS" title="Simple keys store." href="xmlsec-notes-simple-keys-store.html"> +<link rel="NEXT" title="Using keys manager for verification/decryption." href="xmlsec-notes-keys-mngr-verify-decrypt.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-simple-keys-store.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYS-MANAGER-SIGN-ENC">Using keys manager for signatures/encryption.</a></h1> +<p>Instead of specifiying signature or encryption key in the + corresponding context object (<code class="STRUCTFIELD">signKey</code> + member of <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + structure or <code class="STRUCTFIELD">encKey</code> member of + <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure), + the application can use keys manager to select the + signature or encryption key. This is especialy useful + when you are encrypting or signing something with a session key + which is by itself should be encrypted. The key for the + session key encryption in the + <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><EncryptedKey/></a> + node could be selected using + <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> + node in the template. + </p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN378"></a><p><b>Example 2. Encrypting file using a session key and a permanent key from keys manager.</b></p> +<pre class="PROGRAMLISTING">/** + * load_rsa_keys: + * @key_file: the key filename. + * + * Creates default keys manager and load RSA key from #key_file in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_rsa_keys(char* key_file) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + + assert(key_file); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* load private RSA key */ + key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load rsa key from file \"%s\"\n", key_file); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", key_file); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + return(mngr); +} + +/** + * encrypt_file: + * @mngr: the pointer to keys manager. + * @xml_file: the encryption template file name. + * @key_name: the RSA key name. + * + * Encrypts #xml_file using a dynamicaly created template, a session DES key + * and an RSA key from keys manager. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name) { + xmlDocPtr doc = NULL; + xmlNodePtr encDataNode = NULL; + xmlNodePtr keyInfoNode = NULL; + xmlNodePtr encKeyNode = NULL; + xmlNodePtr keyInfoNode2 = NULL; + xmlSecEncCtxPtr encCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + assert(key_name); + + /* load template */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* create encryption template to encrypt XML file and replace + * its content with encryption result */ + encDataNode = xmlSecTmplEncDataCreate(doc, xmlSecTransformDes3CbcId, + NULL, xmlSecTypeEncElement, NULL, NULL); + if(encDataNode == NULL) { + fprintf(stderr, "Error: failed to create encryption template\n"); + goto done; + } + + /* we want to put encrypted data in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> */ + keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* add <enc:EncryptedKey/> to store the encrypted session key */ + encKeyNode = xmlSecTmplKeyInfoAddEncryptedKey(keyInfoNode, + xmlSecTransformRsaOaepId, + NULL, NULL, NULL); + if(encKeyNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* we want to put encrypted key in the <enc:CipherValue/> node */ + if(xmlSecTmplEncDataEnsureCipherValue(encKeyNode) == NULL) { + fprintf(stderr, "Error: failed to add CipherValue node\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:KeyName/> nodes to <enc:EncryptedKey/> */ + keyInfoNode2 = xmlSecTmplEncDataEnsureKeyInfo(encKeyNode, NULL); + if(keyInfoNode2 == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + /* set key name so we can lookup key when needed */ + if(xmlSecTmplKeyInfoAddKeyName(keyInfoNode2, key_name) == NULL) { + fprintf(stderr, "Error: failed to add key name\n"); + goto done; + } + + /* create encryption context */ + encCtx = xmlSecEncCtxCreate(mngr); + if(encCtx == NULL) { + fprintf(stderr,"Error: failed to create encryption context\n"); + goto done; + } + + /* generate a Triple DES key */ + encCtx->encKey = xmlSecKeyGenerate(xmlSecKeyDataDesId, 192, xmlSecKeyDataTypeSession); + if(encCtx->encKey == NULL) { + fprintf(stderr,"Error: failed to generate session des key\n"); + goto done; + } + + /* encrypt the data */ + if(xmlSecEncCtxXmlEncrypt(encCtx, encDataNode, xmlDocGetRootElement(doc)) < 0) { + fprintf(stderr,"Error: encryption failed\n"); + goto done; + } + + /* we template is inserted in the doc */ + encDataNode = NULL; + + /* print encrypted data with document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + + /* cleanup */ + if(encCtx != NULL) { + xmlSecEncCtxDestroy(encCtx); + } + + if(encDataNode != NULL) { + xmlFreeNode(encDataNode); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + + </pre> +<p><a href="xmlsec-encrypt-with-session-key.html#XMLSEC-EXAMPLE-ENCRYPT3">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-simple-keys-store.html"><b><<< Simple keys store.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><b>Using keys manager for verification/decryption. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html b/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html new file mode 100644 index 00000000..bb10b75c --- /dev/null +++ b/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html @@ -0,0 +1,179 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Using keys manager for verification/decryption.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<link rel="PREVIOUS" title="Using keys manager for signatures/encryption." href="xmlsec-notes-keys-manager-sign-enc.html"> +<link rel="NEXT" title="Implementing a custom keys store." href="xmlsec-notes-custom-keys-store.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-keys-manager-sign-enc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-custom-keys-store.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYS-MNGR-VERIFY-DECRYPT">Using keys manager for verification/decryption.</a></h1> +<p>If more than one key could be used for signature or encryption, + then using <code class="STRUCTFIELD">signKey</code> member of + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure or + <code class="STRUCTFIELD">encKey</code> member of + <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure + is not possible. Instead, the application should load known keys in + the keys manager and use <dsig:KeyName/> element to specify + the key name. + </p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN391"></a><p><b>Example 3. Initializing keys manager and loading DES keys from binary files.</b></p> +<pre class="PROGRAMLISTING">/** + * load_des_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates default keys manager and load DES keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_des_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load DES key */ + key = xmlSecKeyReadBinaryFile(xmlSecKeyDataDesId, files[i]); + if(key == NULL) { + fprintf(stderr,"Error: failed to load des key from binary file \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + </pre> +<p><a href="xmlsec-decrypt-with-keys-mngr.html#XMLSEC-EXAMPLE-DECRYPT2">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-keys-manager-sign-enc.html"><b><<< Using keys manager for signatures/encryption.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-custom-keys-store.html"><b>Implementing a custom keys store. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-keys.html b/docs/api/xmlsec-notes-keys.html new file mode 100644 index 00000000..7913bee5 --- /dev/null +++ b/docs/api/xmlsec-notes-keys.html @@ -0,0 +1,120 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Keys.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Decrypting an encrypted document" href="xmlsec-notes-decrypt.html"> +<link rel="NEXT" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-decrypt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-keysmngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-KEYS"></a>Keys.</h1> +<p>A key in XML Security Library is a representation of the + <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> + element and consist of several key data objects. + The "value" key data usually contains raw key material (or handlers to + key material) required to execute particular crypto transform. Other + key data objects may contain any additional information about the key. + All the key data objects in the key are associated with the same key + material. For example, if a DSA key material has both an X509 + certificate and a PGP data associated with it then such a key can + have a DSA key "value" and two key data objects for X509 certificate + and PGP key data. + </p> +<div class="FIGURE"> +<a name="AEN342"></a><p><b>Figure 1. The key structure.</b></p> +<p><img src="images/key.png" align="CENTER"></p> +</div> +<p>XML Security Library has several "invisible" key data classes. + These classes never show up in the keys data list of a key but are used for + <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> + children processing (<a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a>, + <enc:EncryptedKey/>, ...). As with transforms, application might + add any new key data objects or replace the default ones. + </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-decrypt.html"><b><<< Decrypting an encrypted document</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-keysmngr.html"><b>Keys manager. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-keysmngr.html b/docs/api/xmlsec-notes-keysmngr.html new file mode 100644 index 00000000..1bf5861f --- /dev/null +++ b/docs/api/xmlsec-notes-keysmngr.html @@ -0,0 +1,140 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Keys manager.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Keys." href="xmlsec-notes-keys.html"> +<link rel="NEXT" title="Simple keys store." href="xmlsec-notes-simple-keys-store.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-keys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-simple-keys-store.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-KEYSMNGR"></a>Keys manager.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-keysmngr.html#XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></dt> +<dt><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></dt> +<dt><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></dt> +<dt><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></h1> +<p>Processing some of the key data objects require additional + information which is global across the application (or in the + particular area of the application). For example, X509 certificates + processing require a common list of trusted certificates to be + available. XML Security Library keeps all the common information + for key data processing in a a collection of key data stores called + "keys manager". + </p> +<div class="FIGURE"> +<a name="AEN353"></a><p><b>Figure 1. The keys manager structure.</b></p> +<p><img src="images/keysmngr.png" align="CENTER"></p> +</div> +<p>Keys manager has a special "keys store" which lists the keys + known to the application. This "keys store" is used by XML Security + Library to lookup keys by name, type and crypto algorithm (for example, + during + <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> + processing). The XML Security Library + provides default simple "flat list" based implementation of a default keys + store. The application can replace it with any other keys store + (for example, based on an SQL database). + </p> +<p>Keys manager is the only object in XML Security Library which + is supposed to be shared by many different operations. Usually keys + manager is initialized once at the application startup and later is + used by XML Security library routines in "read-only" mode. If + application or crypto function need to modify any of the key data + stores inside keys manager then proper synchronization must be + implemented. In the same time, application can create a new keys + manager each time it needs to perform XML signature, verification, + encryption or decryption. + </p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-keys.html"><b><<< Keys.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-simple-keys-store.html"><b>Simple keys store. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-functions.html b/docs/api/xmlsec-notes-new-crypto-functions.html new file mode 100644 index 00000000..baeda08d --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-functions.html @@ -0,0 +1,151 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>xmlSecCryptoApp* functions.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Creating a framework from the skeleton." href="xmlsec-notes-new-crypto-skeleton.html"> +<link rel="NEXT" title="Klasses and objects." href="xmlsec-notes-new-crypto-klasses.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-FUNCTIONS">xmlSecCryptoApp* functions.</a></h1> +<p> The XML Security Library allows application to load multiple + "xmlsec-<crypto> libraries. To prevent symbol conflicts, + all "xmlsec-mycrypto" library names MUST start with "xmlSecMyCrypto". + However, in some applications (for example, the xmlsec command line + utility) that can use any crypto library, would prefer to + use a generic function names where possible. + The "include/xmlsec/crypto.h" and "include/xmlsec/mycrypto/symbols.h" + include files do the magic by mapping "xmlSecMyCrypto*" to + "xmlSecCrypto*" names using "XMLSEC_CRYPTO_*" defines. + </p> +<p> In order to build xmlsec command line utility, the + "xmlsec-<crypto>" library must implement several functions. + The stubs for all these functions are provided in the "skeleton" + we've created. While these functions are not required to be + implemented by "xmlsec-<crypto>" library, you should consider + doing so (if possible) to simplify testing (thru xmlsec command line + utility) and application development. + </p> +<p> In adition to xmlSecCryptoApp* functions, the xmlsec-<crypto> + library MUST implement following xmlSecCrypto* functions: + </p> +<div class="TABLE"> +<a name="AEN540"></a><p><b>Table 1. xmlSecCrypto* functions.</b></p> +<table border="1" class="CALSTABLE"> +<col> +<col> +<tbody> +<tr> +<td>xmlSecCryptoInit()</td> +<td>Initializes xmlsec-<crypto> library: registers cryptographic + transforms implemented by the library, keys, etc. + Please note, that the application might want to intialize + the cryprographic library by itself. The default cryprographic + library initialization (for example, used by xmlsec utility) + is implemented in xmlSecCryptoAppInit() function. + </td> +</tr> +<tr> +<td>xmlSecCryptoShutdown()</td> +<td>Shuts down xmlsec-<crypto> library. + Please note, that the application might want to shutdown + the cryprographic library by itself. The default cryprographic + library shutdown (for example, used by xmlsec utility) + is implemented in xmlSecCryptoAppShutdown() function. + </td> +</tr> +<tr> +<td>xmlSecCryptoKeysMngrInit()</td> +<td>Adds keys stores implemented by the xmlsec-<crypto> library + to the keys manager object. + </td> +</tr> +</tbody> +</table> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><b><<< Creating a framework from the skeleton.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><b>Klasses and objects. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-key-stores.html b/docs/api/xmlsec-notes-new-crypto-key-stores.html new file mode 100644 index 00000000..d9bd24d7 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-key-stores.html @@ -0,0 +1,83 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Key stores.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.76b+ +"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Keys." href="xmlsec-notes-new-crypto-keys.html"> +<link rel="NEXT" title="Simple keys manager." href="xmlsec-notes-new-crypto-simple-keys-mngr.html"> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<div class="NAVHEADER"><table width="100%" border="0" bgcolor="#000000" cellpadding="1" cellspacing="0"> +<tr><th colspan="4" align="center"><font color="#FFFFFF" size="5">XML Security Library Reference Manual</font></th></tr> +<tr> +<td width="25%" bgcolor="#C00000" align="left"><a href="xmlsec-notes-new-crypto-keys.html"><font color="#FFFFFF" size="3"><b><<< Previous Page</b></font></a></td> +<td width="25%" bgcolor="#0000C0" align="center"><font color="#FFFFFF" size="3"><b><a href="index.html"><font color="#FFFFFF" size="3"><b>Home</b></font></a></b></font></td> +<td width="25%" bgcolor="#00C000" align="center"><font color="#FFFFFF" size="3"><b><a href="xmlsec-notes-new-crypto.html"><font color="#FFFFFF" size="3"><b>Up</b></font></a></b></font></td> +<td width="25%" bgcolor="#C00000" align="right"><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><font color="#FFFFFF" size="3"><b>Next Page >>></b></font></a></td> +</tr> +</table></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"> +<a name="XMLSEC-NOTES-NEW-CRYPTO-KEY-STORES"></a>Key stores.</h1> +<p> TODO + </p> +</div> +<div class="NAVFOOTER"> +<br clear="all"><br><table width="100%" border="0" bgcolor="#000000" cellpadding="1" cellspacing="0"> +<tr> +<td width="25%" bgcolor="#C00000" align="left"><a href="xmlsec-notes-new-crypto-keys.html"><font color="#FFFFFF" size="3"><b><<< Previous Page</b></font></a></td> +<td width="25%" bgcolor="#0000C0" align="center"><font color="#FFFFFF" size="3"><b><a href="index.html"><font color="#FFFFFF" size="3"><b>Home</b></font></a></b></font></td> +<td width="25%" bgcolor="#00C000" align="center"><font color="#FFFFFF" size="3"><b><a href="xmlsec-notes-new-crypto.html"><font color="#FFFFFF" size="3"><b>Up</b></font></a></b></font></td> +<td width="25%" bgcolor="#C00000" align="right"><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><font color="#FFFFFF" size="3"><b>Next Page >>></b></font></a></td> +</tr> +<tr> +<td colspan="2" align="left"><font color="#FFFFFF" size="3"><b>Keys.</b></font></td> +<td colspan="2" align="right"><font color="#FFFFFF" size="3"><b>Simple keys manager.</b></font></td> +</tr> +</table> +</div> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-keys.html b/docs/api/xmlsec-notes-new-crypto-keys.html new file mode 100644 index 00000000..c253ee76 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-keys.html @@ -0,0 +1,103 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Keys data and keys data stores.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Cryptographic transforms." href="xmlsec-notes-new-crypto-transforms.html"> +<link rel="NEXT" title="Default keys manager." href="xmlsec-notes-new-crypto-simple-keys-mngr.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-transforms.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-KEYS">Keys data and keys data stores.</a></h1> +<p> There are two key data types: key value data (for example, AES, DES, DSA, + HMAC or RSA key data) and others (for example, key name, X509 or PGP data). + The key data implementation should implement at least one of + <a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">xmlRead</a> + or <a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">binRead</a> methods. + </p> +<p>TODO</p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-transforms.html"><b><<< Cryptographic transforms.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><b>Default keys manager. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-klasses.html b/docs/api/xmlsec-notes-new-crypto-klasses.html new file mode 100644 index 00000000..530832d5 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-klasses.html @@ -0,0 +1,217 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Klasses and objects.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="xmlSecCryptoApp* functions." href="xmlsec-notes-new-crypto-functions.html"> +<link rel="NEXT" title="Cryptographic transforms." href="xmlsec-notes-new-crypto-transforms.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-functions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-transforms.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-KLASSES">Klasses and objects.</a></h1> +<p>The XML Security Library is written in C but it uses some OOP techniques: + the objects in the library have "klasses" and there is "klasses" inheritance. + (see <a href="xmlsec-signature-klasses.html">signature</a> and + <a href="xmlsec-encryption-klasses.html">encryption</a> klasses + diagrams). The "klass" is different from C++ "class" (btw, this is + one of the reasons why it is spelled differently). The idea of "klasses" + used in XML Security Library are close to one in the GLIB/GTK/GNOME + and many other C projects. If you ever seen an OOP code written in C + you should find everything familiar. + </p> +<p>XML Security Library "klass" includes three main parts: + </p> +<p></p> +<ul> +<li> +<p>"Klass" declaration structure that defines "klass" interfaces + and global constant data (for example, the human-readable name of + the "klass"). + </p> +<div class="EXAMPLE"> +<a name="AEN562"></a><p><b>Example 6. Base transform "klass" and its child XPath transform "klass" structure.</b></p> +<pre class="PROGRAMLISTING">struct _xmlSecTransformKlass { + /* data */ + size_t klassSize; + size_t objSize; + const xmlChar* name; + const xmlChar* href; + xmlSecTransformUsage usage; + + /* methods */ + xmlSecTransformInitializeMethod initialize; + xmlSecTransformFinalizeMethod finalize; + + xmlSecTransformNodeReadMethod readNode; + xmlSecTransformNodeWriteMethod writeNode; + + ... +}; + +... + +static xmlSecTransformKlass xmlSecTransformXPathKlass = { + /* klass/object sizes */ + sizeof(xmlSecTransformKlass), /* size_t klassSize */ + xmlSecXPathTransformSize, /* size_t objSize */ + + xmlSecNameXPath, /* const xmlChar* name; */ + xmlSecXPathNs, /* const xmlChar* href; */ + xmlSecTransformUsageDSigTransform, /* xmlSecTransformUsage usage; */ + + xmlSecTransformXPathInitialize, /* xmlSecTransformInitializeMethod initialize; */ + xmlSecTransformXPathFinalize, /* xmlSecTransformFinalizeMethod finalize; */ + xmlSecTransformXPathNodeRead, /* xmlSecTransformNodeReadMethod readNode; */ + NULL, /* xmlSecTransformNodeWriteMethod writeNode; */ + + ... +}; + </pre> +</div> + </li> +<li> +<p>"Klass" id which is simply a pointer to the "klass" + declaration strucutre. "Klass" id is used to bind "klass" objects + to the "klass" declaration and to pass "klass" strucutre to functions. + </p> +<div class="EXAMPLE"> +<a name="AEN567"></a><p><b>Example 7. Base transform "klass" id declaration and its child XPath transform "klass" id implementation.</b></p> +<pre class="PROGRAMLISTING">typedef const struct _xmlSecTransformKlass xmlSecTransformKlass, *xmlSecTransformId; + +... + +#define xmlSecTransformXPathId xmlSecTransformXPathGetKlass() + +... + +xmlSecTransformId +xmlSecTransformXPathGetKlass(void) { + return(&xmlSecTransformXPathKlass); +} + </pre> +</div> + </li> +<li> +<p>"Klass" object structure that contains object specific + data. The child object specific data are placed after the parent "klass" + object data. + </p> +<div class="EXAMPLE"> +<a name="AEN572"></a><p><b>Example 8. Base transform object strucutre and its child XPath transform object.</b></p> +<pre class="PROGRAMLISTING">struct _xmlSecTransform { + xmlSecTransformId id; + xmlSecTransformOperation operation; + xmlSecTransformStatus status; + xmlNodePtr hereNode; + + /* transforms chain */ + xmlSecTransformPtr next; + xmlSecTransformPtr prev; + + ... +}; + +... + +/****************************************************************************** + * + * XPath/XPointer transforms + * + * xmlSecPtrList with XPath expressions is located after xmlSecTransform structure + * + *****************************************************************************/ +#define xmlSecXPathTransformSize \ + (sizeof(xmlSecTransform) + sizeof(xmlSecPtrList)) +#define xmlSecXPathTransformGetDataList(transform) \ + ((xmlSecTransformCheckSize((transform), xmlSecXPathTransformSize)) ? \ + (xmlSecPtrListPtr)(((unsigned char*)(transform)) + sizeof(xmlSecTransform)) : \ + (xmlSecPtrListPtr)NULL) + </pre> +</div> + </li> +</ul> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-functions.html"><b><<< xmlSecCryptoApp* functions.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-transforms.html"><b>Cryptographic transforms. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-sharing-results.html b/docs/api/xmlsec-notes-new-crypto-sharing-results.html new file mode 100644 index 00000000..872ef5ac --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-sharing-results.html @@ -0,0 +1,125 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Sharing the results.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Default keys manager." href="xmlsec-notes-new-crypto-simple-keys-mngr.html"> +<link rel="NEXT" title="Examples." href="xmlsec-examples.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-examples.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SHARING-RESULTS">Sharing the results.</a></h1> +<p>If you implemented support for new cryptographic library + (or extended an existing one) and both you and your company/university/... + are willing to share the code I would be glad to add your work + to XML Security Library. Many people will thank you for this + and will use your library. Of course, you'll get all the credits + for your work. + </p> +<p>The best way to submit your enchancements is to provide a diff + with the current CVS version. In order to do this, + </p> +<p></p> +<ul> +<li><p>Checkout the sources from <a href="http://developer.gnome.org/tools/cvs.html" target="_top">GNOME CVS</a> + (module name is "xmlsec"). + </p></li> +<li><p>Add all the new files with "cvs add" command (this will not + create files in CVS but mark them as "added" localy). You'll not be able + to create new folders without a valid GNOME CVS account, let me know + what you need and I'll be happy to help. + </p></li> +<li><p>Get a diff of all existing and new files using + "cvs -z3 diff -u -N" command. + </p></li> +<li><p>Send the resulting diff file to the xmlsec mailing list + with some information about yourself so I can update the authors + and coping information. + </p></li> +</ul> + I will try to review and check in your patch as soon as possible. + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><b><<< Default keys manager.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-examples.html"><b>Examples. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html b/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html new file mode 100644 index 00000000..ac1d4693 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Default keys manager.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Keys data and keys data stores." href="xmlsec-notes-new-crypto-keys.html"> +<link rel="NEXT" title="Sharing the results." href="xmlsec-notes-new-crypto-sharing-results.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-keys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-sharing-results.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SIMPLE-KEYS-MNGR">Default keys manager.</a></h1> +<p>Any "xmlsec-<crypto>" library implementation must provide + a default keys store. The XML Security Library has a built-in flat + list based <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">simple keys + store</a> which could be used if cryptographic library does not + have one itself. + </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-keys.html"><b><<< Keys data and keys data stores.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-sharing-results.html"><b>Sharing the results. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-skeleton.html b/docs/api/xmlsec-notes-new-crypto-skeleton.html new file mode 100644 index 00000000..979bbe34 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-skeleton.html @@ -0,0 +1,254 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Creating a framework from the skeleton.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="NEXT" title="xmlSecCryptoApp* functions." href="xmlsec-notes-new-crypto-functions.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-functions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SKELETON">Creating a framework from the skeleton.</a></h1> +<p> The XML Security Library contains a "skeleton" for creating new + "xmlsec-<crypto>" libraries. In order to create "xmlsec-mycrypto" + library framework, do the following (this example assumes that you + are using *nix system, adjust the commands if you are using something else): + </p> +<p></p> +<ul> +<li> +<p> Copy src/skeleton and include/xmlsec/skeleton folders to src/mycrypto and + include/xmlsec/mycrypto folders and remove CVS folders from the result: + </p> +<div class="EXAMPLE"> +<a name="AEN512"></a><p><b>Example 1. Coping skeleton folders.</b></p> +<pre class="PROGRAMLISTING">cd src +cp -r skeleton mycrypto +cd mycrypto +rm -rf CVS +cd ../.. +cd include/xmlsec +cp -r skeleton mycrypto +cd mycrypto +rm -rf CVS +cd ../../.. + </pre> +</div> + </li> +<li> +<p> Replace "skeleton" with "mycrypto" in the copied files (note that there + are different possible cases here): + </p> +<div class="EXAMPLE"> +<a name="AEN517"></a><p><b>Example 2. Replacing "skeleton" with "mycrypto".</b></p> +<pre class="PROGRAMLISTING">for i in `ls include/xmlsec/mycrypto/* src/mycrypto/*`; do + echo Processing $i ..; + sed 's/skeleton/mycrypto/g' $i | \ + sed 's/SKELETON/MYCRYPTO/g' | \ + sed 's/Skeleton/MyCrypto/g' > $i.tmp; + mv $i.tmp $i; +done + </pre> +</div> + </li> +<li> +<p> Add "xmlsec-mycrypto" library to the "include/xmlsec/crypto.h" file: + </p> +<div class="EXAMPLE"> +<a name="AEN522"></a><p><b>Example 3. Modifying include/xmlsec/crypto.h file.</b></p> +<pre class="PROGRAMLISTING">... +#ifdef XMLSEC_CRYPTO_MYCRYPTO +#include <xmlsec/mycrypto/app.h> +#include <xmlsec/mycrypto/crypto.h> +#include <xmlsec/mycrypto/symbols.h> +#else /* XMLSEC_CRYPTO_MYCRYPTO */ +... +#endif /* XMLSEC_CRYPTO_MYCRYPTO */ +... + </pre> +</div> + </li> +<li> +<p> Add "xmlsec-crypto" library to the configure.in file (for *nix systems; + for Windows you need to modify win32/confgure.js and win32/Makefile.msvc + files, see win32/README.txt for details): + </p> +<div class="EXAMPLE"> +<a name="AEN527"></a><p><b>Example 4. Modifying configure.in file.</b></p> +<pre class="PROGRAMLISTING">dnl ========================================================================== +dnl See if we can find MyCrypto +dnl ========================================================================== +XMLSEC_MYCRYPTO_DEFINES="" +MYCRYPTO_CONFIG="mycrypto-config" # TODO +XMLSEC_NO_MYCRYPTO="1" +MYCRYPTO_MIN_VERSION="0.0.0" # TODO +MYCRYPTO_VERSION="" +MYCRYPTO_PREFIX="" +MYCRYPTO_CFLAGS="" +MYCRYPTO_LIBS="" +MYCRYPTO_LDADDS="" +AC_MSG_CHECKING(for mycrypto libraries >= $MYCRYPTO_MIN_VERSION) +AC_ARG_WITH(mycrypto, [ --with-mycrypto=[PFX] mycrypto location]) +if test "$with_mycrypto" = "no" ; then + XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mycrypto" + AC_MSG_RESULT(no) +else + if test "$with_mycrypto" != "" ; then + MYCRYPTO_PREFIX=$with_mycrypto + MYCRYPTO_CONFIG=$MYCRYPTO_PREFIX/bin/$MYCRYPTO_CONFIG + fi + if ! $MYCRYPTO_CONFIG --version > /dev/null 2>&1 ; then + if test "$with_mycrypto" != "" ; then + AC_MSG_ERROR(Unable to find mycrypto at '$with_mycrypto') + fi + else + vers=`$MYCRYPTO_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` + minvers=`echo $MYCRYPTO_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` + if test "$vers" -ge "$minvers" ; then + MYCRYPTO_LIBS="`$MYCRYPTO_CONFIG --libs`" + MYCRYPTO_CFLAGS="`$MYCRYPTO_CONFIG --cflags`" + MYCRYPTO_VERSION="`$MYCRYPTO_CONFIG --version`" + XMLSEC_NO_MYCRYPTO="0" + else + AC_MSG_ERROR(You need at least mycrypto $MYCRYPTO_MIN_VERSION for this version of $PACKAGE) + fi + fi + + dnl update crypt libraries list + if test "z$XMLSEC_NO_MYCRYPTO" = "z0" ; then + dnl first crypto library is default one + if test "z$XMLSEC_CRYPTO" = "z" ; then + XMLSEC_CRYPTO="mycrypto" + XMLSEC_CRYPTO_LIB="xmlsec1-mycrypto" + XMLSEC_CRYPTO_CFLAGS="$MYCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MYCRYPTO=1" + XMLSEC_CRYPTO_LIBS="$MYCRYPTO_LIBS" + XMLSEC_CRYPTO_LDADDS="$MYCRYPTO_LDADDS" + fi + XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST mycrypto" + AC_MSG_RESULT(yes ('$MYCRYPTO_VERSION')) + else + XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mycrypto" + AC_MSG_RESULT(no) + fi +fi +AC_SUBST(XMLSEC_NO_MYCRYPTO) +AC_SUBST(MYCRYPTO_MIN_VERSION) +AC_SUBST(MYCRYPTO_VERSION) +AC_SUBST(MYCRYPTO_CONFIG) +AC_SUBST(MYCRYPTO_PREFIX) +AC_SUBST(MYCRYPTO_CFLAGS) +AC_SUBST(MYCRYPTO_LIBS) +AC_SUBST(MYCRYPTO_LDADDS) +AC_SUBST(XMLSEC_MYCRYPTO_DEFINES) + +... +AC_OUTPUT([ +... +include/xmlsec/mycrypto/Makefile +src/mycrypto/Makefile +... +]) + </pre> +</div> + </li> +<li><p>Modify "xmlsec.spec.in" file to create "xmlsec-mycrypto" + RPM (if necessary). + </p></li> +</ul> + + By now you should be able to sucessfuly compile XML Security Library + with MyCrypto library (we disable all other libraries to make sure + that xmlsec command line utility is linked against xmlsec-mycrypto + library): + <div class="EXAMPLE"> +<a name="AEN532"></a><p><b>Example 5. Compiling the results.</b></p> +<pre class="PROGRAMLISTING">./autogen.sh --without-openssl --without-nss --without-gnutls --without-gcrypt \ + --with-mycrypto=$HOME --disable-tmpl-tests +make + </pre> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto.html"><b><<< Adding support for new cryptographic library.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-functions.html"><b>xmlSecCryptoApp* functions. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto-transforms.html b/docs/api/xmlsec-notes-new-crypto-transforms.html new file mode 100644 index 00000000..71e935cc --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto-transforms.html @@ -0,0 +1,170 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Cryptographic transforms.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html"> +<link rel="PREVIOUS" title="Klasses and objects." href="xmlsec-notes-new-crypto-klasses.html"> +<link rel="NEXT" title="Keys data and keys data stores." href="xmlsec-notes-new-crypto-keys.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-new-crypto-klasses.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-keys.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-TRANSFORMS">Cryptographic transforms.</a></h1> +<p>The cryptographic transforms (digests, signatures and encryption) + implementation is the main goal of "xmlsec-<crypto>" library. + Most of the cryptographic <a href="xmlsec-notes-transforms.html">transforms</a> + use default <code class="STRUCTFIELD">pushBin</code> and <code class="STRUCTFIELD">popBin</code> + methods and provide custom <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method. + The binary transform <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method + processes data from the input buffer + <code class="STRUCTFIELD">inBuf</code> and pushes results to + <code class="STRUCTFIELD">outBuf</code>. The transform should try to + consume and remove data from <code class="STRUCTFIELD">inBuf</code> buffer + as soon as the data became available. However, it might happen + that current data size in the input buffer is not enough (for example, + RSA-PKCS1 algorithm requires that all the data are available in + one buffer). In this case, transform might keep the data in the + input buffer till the next call to + <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> + method. The "last" parameter of the + <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> + indicates that transform MUST process all the data in the input buffer + and return as much as possible in the output buffer. The + <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method + might be called multiple times with non-zero "last" parameter until + the transforms returns nothing + in the output buffer. In addition, the transform implementation is + responsible for managing the transform <code class="STRUCTFIELD">status</code> + variable. + </p> +<div class="TABLE"> +<a name="AEN590"></a><p><b>Table 2. Typical transform status managing.</b></p> +<table border="1" class="CALSTABLE"> +<col> +<col> +<tbody> +<tr> +<td>xmlSecTransformStatusNone</td> +<td>Transform initializes itself (for example, cipher transform + generates or reads IV) and sets <code class="STRUCTFIELD">status</code> + variable to xmlSecTransformStatusWorking.</td> +</tr> +<tr> +<td>xmlSecTransformStatusWorking</td> +<td>Transform process the next (if "last" parameter is zero) or + last block of data (if "last" parameter is non-zero). + When transform returns all the data, it sets the + <code class="STRUCTFIELD">status</code> variable to + xmlSecTransformStatusFinished.</td> +</tr> +<tr> +<td>xmlSecTransformStatusFinished</td> +<td>Transform returns no data to indicate that it finished + processing.</td> +</tr> +</tbody> +</table> +</div> + <p>In adition to <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> + methods, signature, hmac or digest transforms + MUST implement <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method. + The <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method is called + after transform execution is finished. The + <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method implementation + must set the "status" member to <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK">xmlSecTransformStatusOk</a> + if signature, hmac or digest is successfuly verified or to + <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL">xmlSecTransformStatusFail</a> + otherwise. + </p> +<p>The transforms that require a key (signature or encryption + transforms, for example) MUST imlpement + <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">setKeyReq</a> + (prepares the <a href="xmlsec-keys.html#XMLSECKEYREQ">key requirements</a> + for key search) and + <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">setKey</a> + (sets the key in the transform) methods. + </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-klasses.html"><b><<< Klasses and objects.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-keys.html"><b>Keys data and keys data stores. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-new-crypto.html b/docs/api/xmlsec-notes-new-crypto.html new file mode 100644 index 00000000..ef8b4d00 --- /dev/null +++ b/docs/api/xmlsec-notes-new-crypto.html @@ -0,0 +1,136 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Adding support for new cryptographic library.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Using context objects." href="xmlsec-notes-contexts.html"> +<link rel="NEXT" title="Creating a framework from the skeleton." href="xmlsec-notes-new-crypto-skeleton.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-contexts.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-new-crypto-skeleton.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-NEW-CRYPTO"></a>Adding support for new cryptographic library.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-new-crypto.html#XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></dt> +<dt><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></h1> +<p>XML Security Library can support practicaly any cryptographic + library. Currently, it has "out-of-the-box" support for OpenSSL, + MSCrypto, NSS, GnuTLS and GCrypt. If your favorite library is not supported yet then + you can write necessary code yourself. If you and your company + (university, ...) are willing to share the results of your work I would + be happy to add support for new libraries to the main XML Security + Library distribution.</p> +<p> The XML Security Library + <a href="xmlsec-notes-structure.html">separates</a> + the cryptographic library (engine) + specific code in an "xmlsec-<crypto>" library (where "<crypto>" is + "openssl", "mscrypt", "gnutls", "gcrypt", "nss", etc.) which includes following items: + </p> +<p></p> +<ul> +<li><p> xmlSecCryptoApp* functions. + </p></li> +<li><p> Cryptographic transforms and keys data implementation. + </p></li> +<li><p> Keys store support (X509, PGP, etc.). + </p></li> +</ul> + In this chapter, we will discuss + a task of creating "xmlsec-mycrypto" library that provides support + for your favorite "MyCrypto" cryptographic library. + </div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-contexts.html"><b><<< Using context objects.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-skeleton.html"><b>Creating a framework from the skeleton. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-overview.html b/docs/api/xmlsec-notes-overview.html new file mode 100644 index 00000000..c27b9be9 --- /dev/null +++ b/docs/api/xmlsec-notes-overview.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Overview.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="NEXT" title="XML Security Library Structure." href="xmlsec-notes-structure.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-structure.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-OVERVIEW"></a>Overview.</h1> +<p>XML Security Library provides support for XML Digital Signature + and XML Encryption. It is based on LibXML/LibXSLT and can use + practicaly any crypto library (currently there is "out of the box" + support for OpenSSL, MSCrypto, GnuTLS, GCrypt and NSS). + </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes.html"><b><<< XML Security Library Tutorial</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-structure.html"><b>XML Security Library Structure. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-sign-encrypt.html b/docs/api/xmlsec-notes-sign-encrypt.html new file mode 100644 index 00000000..7599ea49 --- /dev/null +++ b/docs/api/xmlsec-notes-sign-encrypt.html @@ -0,0 +1,120 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing and encrypting documents.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Initialization and shutdown." href="xmlsec-notes-init-shutdown.html"> +<link rel="NEXT" title="Signing a document." href="xmlsec-notes-sign.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-init-shutdown.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-sign.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-SIGN-ENCRYPT"></a>Signing and encrypting documents.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-sign-encrypt.html#XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-sign.html">Signing a document.</a></dt> +<dt><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></h1> +<p>XML Security Library performs signature or encryption by processing + input xml or binary data and a template that specifies a signature or + encryption skeleton: the transforms, algorithms, the key selection + process. A template has the same structure as the desired result but + some of the nodes are empty. XML Security Library gets the key for + signature/encryption from keys managers using the information from + the template, does necessary computations and puts the results in + the template. Signature or encryption context controls the whole + process and stores the required temporary data. + </p> +<div class="FIGURE"> +<a name="AEN149"></a><p><b>Figure 1. The signature or encryption processing model.</b></p> +<p><img src="images/sign-enc-model.png" align="CENTER"></p> +</div> + </div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-init-shutdown.html"><b><<< Initialization and shutdown.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-sign.html"><b>Signing a document. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-sign-x509.html b/docs/api/xmlsec-notes-sign-x509.html new file mode 100644 index 00000000..52fd1a66 --- /dev/null +++ b/docs/api/xmlsec-notes-sign-x509.html @@ -0,0 +1,176 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing data with X509 certificate.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Using X509 Certificates." href="xmlsec-notes-x509.html"> +<link rel="PREVIOUS" title="Using X509 Certificates." href="xmlsec-notes-x509.html"> +<link rel="NEXT" title="Verifing document signed with X509 certificates." href="xmlsec-notes-verify-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-verify-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN-X509">Signing data with X509 certificate.</a></h1> +<p>To sign a file using X509 certificate, + an application need to associate the certificate (or certificates) + with the private key using one of the following functions: + </p> +<p></p> +<ul> +<li><p> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a> - loads + certificate from a file and adds to the key; + </p></li> +<li><p> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a> - + loads private key and all the certificates associated with it from a PKCS12 file; + </p></li> +<li><p> <a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> - low level + function to add key data (including X509 key data) to the key. + </p></li> +</ul> +<div class="EXAMPLE"> +<a name="AEN423"></a><p><b>Example 1. Loading private key and X509 certificate.</b></p> +<pre class="PROGRAMLISTING"> /* load private key, assuming that there is not password */ + key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* load certificate and add to the key */ + if(xmlSecCryptoAppKeyCertLoad(key, cert_file, xmlSecKeyDataFormatPem) < 0) { + fprintf(stderr,"Error: failed to load pem certificate \"%s\"\n", cert_file); + goto done; + } + </pre> +<p><a href="xmlsec-examples-sign-x509.html#XMLSEC-EXAMPLE-SIGN3">Full program listing</a></p> +</div> + <p>Next step is to prepare signature template with <dsig:X509Data/> + child of the <dsig:KeyInfo/> element. When XML Security Library finds + this node in the template, it automaticaly creates <dsig:X509Certificate/> + children of the <dsig:X509Data/> element and writes to result XML document + all the certificates associated with the signature key. + </p> +<div class="EXAMPLE"> +<a name="AEN429"></a><p><b>Example 2. Dynamicaly creating a signature template for signing document using X509 certificate.</b></p> +<pre class="PROGRAMLISTING"> /* create signature template for RSA-SHA1 enveloped signature */ + signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId, + xmlSecTransformRsaSha1Id, NULL); + if(signNode == NULL) { + fprintf(stderr, "Error: failed to create signature template\n"); + goto done; + } + + /* add <dsig:Signature/> node to the doc */ + xmlAddChild(xmlDocGetRootElement(doc), signNode); + + /* add reference */ + refNode = xmlSecTmplSignatureAddReference(signNode, xmlSecTransformSha1Id, + NULL, NULL, NULL); + if(refNode == NULL) { + fprintf(stderr, "Error: failed to add reference to signature template\n"); + goto done; + } + + /* add enveloped transform */ + if(xmlSecTmplReferenceAddTransform(refNode, xmlSecTransformEnvelopedId) == NULL) { + fprintf(stderr, "Error: failed to add enveloped transform to reference\n"); + goto done; + } + + /* add <dsig:KeyInfo/> and <dsig:X509Data/> */ + keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL); + if(keyInfoNode == NULL) { + fprintf(stderr, "Error: failed to add key info\n"); + goto done; + } + + if(xmlSecTmplKeyInfoAddX509Data(keyInfoNode) == NULL) { + fprintf(stderr, "Error: failed to add X509Data node\n"); + goto done; + } + </pre> +<p><a href="xmlsec-examples-sign-x509.html#XMLSEC-EXAMPLE-SIGN3">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-x509.html"><b><<< Using X509 Certificates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-verify-x509.html"><b>Verifing document signed with X509 certificates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-sign.html b/docs/api/xmlsec-notes-sign.html new file mode 100644 index 00000000..4e746c66 --- /dev/null +++ b/docs/api/xmlsec-notes-sign.html @@ -0,0 +1,210 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Signing a document.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html"> +<link rel="PREVIOUS" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html"> +<link rel="NEXT" title="Encrypting data." href="xmlsec-notes-encrypt.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-sign-encrypt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-encrypt.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN">Signing a document.</a></h1> +<p>The typical siganture process includes following steps: + </p> +<p></p> +<ul> +<li><p> Prepare data for signature. + </p></li> +<li><p> Create or load signature template and select start + <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> + node. + </p></li> +<li><p> Create signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> or + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> + functions. + </p></li> +<li><p> Load signature key in <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> + or generate a session key and set it in the signature context + (<code class="STRUCTFIELD">signKey</code> member of + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure). + </p></li> +<li><p> Sign data by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a> + function. + </p></li> +<li><p> Check returned value and consume signed data. + </p></li> +<li><p> Destroy signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> or + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> + functions. + </p></li> +</ul> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN182"></a><p><b>Example 1. Signing a template.</b></p> +<pre class="PROGRAMLISTING">/** + * sign_file: + * @tmpl_file: the signature template file name. + * @key_file: the PEM private key file name. + * + * Signs the #tmpl_file using private key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +sign_file(const char* tmpl_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(tmpl_file); + assert(key_file); + + /* load template */ + doc = xmlParseFile(tmpl_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load private key, assuming that there is not password */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* sign the template */ + if(xmlSecDSigCtxSign(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature failed\n"); + goto done; + } + + /* print signed document to stdout */ + xmlDocDump(stdout, doc); + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-examples-sign-template-file.html#XMLSEC-EXAMPLE-SIGN1">Full program listing</a></p> +<p><a href="xmlsec-examples-sign-template-file.html#XMLSEC-EXAMPLE-SIGN1-TMPL">Simple signature template file</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-sign-encrypt.html"><b><<< Signing and encrypting documents.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-encrypt.html"><b>Encrypting data. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-simple-keys-store.html b/docs/api/xmlsec-notes-simple-keys-store.html new file mode 100644 index 00000000..55cf4dbe --- /dev/null +++ b/docs/api/xmlsec-notes-simple-keys-store.html @@ -0,0 +1,177 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Simple keys store.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<link rel="PREVIOUS" title="Keys manager." href="xmlsec-notes-keysmngr.html"> +<link rel="NEXT" title="Using keys manager for signatures/encryption." href="xmlsec-notes-keys-manager-sign-enc.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-keysmngr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-keys-manager-sign-enc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-SIMPLE-KEYS-STORE">Simple keys store.</a></h1> +<p> XML Security Library has a built-in simple keys store + implemented using a keys list. You can use it in your application + if you have a small number of keys. However, this might be not a + best option from performance point of view if you have a lot of keys. + In this case, you probably should implement your own keys store + using an SQL database or some other keys storage. + </p> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN363"></a><p><b>Example 1. Initializing keys manager and loading keys from PEM files.</b></p> +<pre class="PROGRAMLISTING">/** + * load_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates default keys manager and load PEM keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a default list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load key */ + key = xmlSecCryptoAppKeyLoad(files[i], xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load pem key from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + </pre> +<p><a href="xmlsec-verify-with-keys-mngr.html#XMLSEC-EXAMPLE-VERIFY2">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-keysmngr.html"><b><<< Keys manager.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-keys-manager-sign-enc.html"><b>Using keys manager for signatures/encryption. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-structure.html b/docs/api/xmlsec-notes-structure.html new file mode 100644 index 00000000..ba89d19f --- /dev/null +++ b/docs/api/xmlsec-notes-structure.html @@ -0,0 +1,115 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library Structure.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Overview." href="xmlsec-notes-overview.html"> +<link rel="NEXT" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-overview.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-compiling.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-STRUCTURE"></a>XML Security Library Structure.</h1> +<p>In order to provide the an ability to use different crypto engines, + the XML Security Library is splitted in two parts: core library (xmlsec) + and crypto library (xmlsec-openssl, xmlsec-mscrypt, xmlsec-gnutls, + xmlsec-gcrypt, xmlsec-nss, ...). + </p> +<div class="FIGURE"> +<a name="AEN28"></a><p><b>Figure 1. The library structure and dependencies.</b></p> +<p><img src="images/structure.png" align="CENTER"></p> +</div> + <p>The core library has no dependency on any crypto library and provides + implementation of all the engines as well as support for all the non + crypto transforms (xml parser, c14n transforms, xpath and xslt + transforms,...). The XML Security Crypto library provides + implementations for crypto transforms, crypto keys data and key + data stores. Application is linked with particular XML Security + Crypto library (or even libraries), but the actual application + code might be general enough so switching crypto engine would be + a matter of changing several #include directives.</p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-overview.html"><b><<< Overview.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-compiling.html"><b>Building the application with XML Security Library. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-templates.html b/docs/api/xmlsec-notes-templates.html new file mode 100644 index 00000000..63171afb --- /dev/null +++ b/docs/api/xmlsec-notes-templates.html @@ -0,0 +1,114 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Creating dynamic templates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Encrypting data." href="xmlsec-notes-encrypt.html"> +<link rel="NEXT" title="Creating dynamic signature templates." href="xmlsec-notes-dynamic-signature-templates.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-encrypt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-dynamic-signature-templates.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-TEMPLATES"></a>Creating dynamic templates.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-templates.html#XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></dt> +<dt><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></h1> +<p>The XML Security Library uses templates to describe + how and what data should be signed or encrypted. The template + is a regular XML file. You can create templates in advance + using your favorite XML files editor, load them from a file + and use for creating signature or encrypting data. You can + also create templates dynamicaly. The XML Security Library + provides helper functions to quickly create dynamic templates + inside your application.</p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-encrypt.html"><b><<< Encrypting data.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-dynamic-signature-templates.html"><b>Creating dynamic signature templates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-transforms.html b/docs/api/xmlsec-notes-transforms.html new file mode 100644 index 00000000..3bda65e1 --- /dev/null +++ b/docs/api/xmlsec-notes-transforms.html @@ -0,0 +1,154 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Transforms and transforms chain.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Verifing document signed with X509 certificates." href="xmlsec-notes-verify-x509.html"> +<link rel="NEXT" title="Using context objects." href="xmlsec-notes-contexts.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-verify-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-contexts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-TRANSFORMS"></a>Transforms and transforms chain.</h1> +<p>XML Digital Signature and XML Encryption standards are + very flexible and provide an XML developer many different ways to + sign or encrypt any part (or even parts) of an XML document. + The key for such great flexibility is the "transforms" model. + Transform is defined as a method of pre-processing binary or XML data + before calculating digest or signature. XML Security Library extends + this definition and names "transform" any operation performed on + the data: reading data from an URI, xml parsing, xml transformation, + calculation digest, encrypting or decrypting. Each XML Security Library + transform provides at least one of the following callbacks: + </p> +<p></p> +<ul> +<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">push binary data</a>; + </p></li> +<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">push xml data</a>; + </p></li> +<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">pop binary data</a>; + </p></li> +<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">pop xml data</a>. + </p></li> +</ul> +<p>One additional <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> + callback was added to simplify the development and reduce code size. + This callback is used by default + implementations of the four external callbacks from the list above. + For example, most of the crypto transforms could be implemented by + just implementing one "execute" callback and using default push/pop + binary data callbacks. However, in some cases using push/pop callbacks + directly is more efficient. + </p> +<div class="FIGURE"> +<a name="AEN470"></a><p><b>Figure 1. The XML Security Library transform.</b></p> +<p><img src="images/transform.png" align="CENTER"></p> +</div> +<p>XML Security Library constructs transforms chain according to the + signature/encryption template or signed/encrypted document. + If necessary, XML Security Library inserts XML parser or defaul + canonicalization to ensure that the output data type (binary or XML) + of previous transform matches the input of the next transform. + </p> +<p>The data are processed by pushing through or poping from the chain + depending on the transforms in the chain. For example, then binary + data chunk is pushed through a binary-to-binary transform, it + processes this chunk and pushes the result to the next transform + in the chain. + </p> +<div class="FIGURE"> +<a name="AEN475"></a><p><b>Figure 2. Transforms chain created for <dsig:Reference/> element processing.</b></p> +<p><img src="images/transforms-chain.png" align="CENTER"></p> +</div> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN479"></a><p><b>Example 1. Walking through transforms chain.</b></p> +<pre class="PROGRAMLISTING">TODO + </pre> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-verify-x509.html"><b><<< Verifing document signed with X509 certificates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-contexts.html"><b>Using context objects. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-verify-decrypt.html b/docs/api/xmlsec-notes-verify-decrypt.html new file mode 100644 index 00000000..d00a137b --- /dev/null +++ b/docs/api/xmlsec-notes-verify-decrypt.html @@ -0,0 +1,120 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifing and decrypting documents.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Creating dynamic encryption templates." href="xmlsec-notes-dynamic-encryption-templates.html"> +<link rel="NEXT" title="Verifying a signed document" href="xmlsec-notes-verify.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-dynamic-encryption-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-verify.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-VERIFY-DECRYPT"></a>Verifing and decrypting documents.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-verify-decrypt.html#XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-verify.html">Verifying a signed document</a></dt> +<dt><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></h1> +<p>Since the template is just an XML file, it might be created in advance + and saved in a file. It's also possible for application to create + templates without using XML Security Library functions. Also in some + cases template should be inserted in the signed or encrypted data + (for example, if you want to create an enveloped or enveloping + signature).</p> +<p>Signature verification and data decryption do not require template + because all the necessary information is provided in the signed or + encrypted document. + </p> +<div class="FIGURE"> +<a name="AEN271"></a><p><b>Figure 1. The verification or decryption processing model.</b></p> +<p><img src="images/verif-dec-model.png" align="CENTER"></p> +</div> + </div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-dynamic-encryption-templates.html"><b><<< Creating dynamic encryption templates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-verify.html"><b>Verifying a signed document >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-verify-x509.html b/docs/api/xmlsec-notes-verify-x509.html new file mode 100644 index 00000000..9e8c87d9 --- /dev/null +++ b/docs/api/xmlsec-notes-verify-x509.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifing document signed with X509 certificates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Using X509 Certificates." href="xmlsec-notes-x509.html"> +<link rel="PREVIOUS" title="Signing data with X509 certificate." href="xmlsec-notes-sign-x509.html"> +<link rel="NEXT" title="Transforms and transforms chain." href="xmlsec-notes-transforms.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-sign-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-transforms.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY-X509">Verifing document signed with X509 certificates.</a></h1> +<p> If the document is signed with an X509 certificate then the signature + verification consist of two steps: + </p> +<p></p> +<ul> +<li><p>Creating and verifing X509 certificates chain. + </p></li> +<li><p>Verifing signature itself using key exrtacted from + a certificate verified on previous step. + </p></li> +</ul> + Certificates chain is constructed from certificates in a way that + each certificate in the chain is signed with previous one: + <div class="FIGURE"> +<a name="AEN442"></a><p><b>Figure 1. Certificates chain.</b></p> +<pre class="PROGRAMLISTING">Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself) + </pre> +</div> + At the end of the chain there is a "Root Certificate" which + is signed by itself. There is no way to verify the validity of the + root certificate and application have to "trust" it + (another name for root certificates is "trusted" certificates). + <p> Application can use <a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a> + function to load both "trusted" and "un-trusted" + certificates. However, the selection of "trusted" + certificates is very sensitive process and this function might be + not implemented for some crypto engines. In this case, the + "trusted" certificates list is loaded during initialization + or specified in crypto engine configuration files. + Check XML Security Library API reference for more details. + </p> +<div class="EXAMPLE"> +<a name="AEN447"></a><p><b>Example 3. Loading trusted X509 certificate.</b></p> +<pre class="PROGRAMLISTING">/** + * load_trusted_certs: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load trusted certificates from PEM #files. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_trusted_certs(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load trusted cert */ + if(xmlSecCryptoAppKeysMngrCertLoad(mngr, files[i], xmlSecKeyDataFormatPem, xmlSecKeyDataTypeTrusted) < 0) { + fprintf(stderr,"Error: failed to load pem certificate from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + </pre> +<p><a href="xmlsec-verify-with-x509.html#XMLSEC-EXAMPLE-VERIFY3">Full program listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-sign-x509.html"><b><<< Signing data with X509 certificate.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-transforms.html"><b>Transforms and transforms chain. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-verify.html b/docs/api/xmlsec-notes-verify.html new file mode 100644 index 00000000..05a95fb9 --- /dev/null +++ b/docs/api/xmlsec-notes-verify.html @@ -0,0 +1,210 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifying a signed document</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html"> +<link rel="PREVIOUS" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html"> +<link rel="NEXT" title="Decrypting an encrypted document" href="xmlsec-notes-decrypt.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-verify-decrypt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-decrypt.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY">Verifying a signed document</a></h1> +<p>The typical siganture verification process includes following steps: + </p> +<p></p> +<ul> +<li><p> Load keys, X509 certificates, etc. in the <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> . + </p></li> +<li><p> Create signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> or + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> + functions. + </p></li> +<li><p> Select start verification + <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> + node in the signed XML document. + </p></li> +<li><p> Verify signature by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a> + function. + </p></li> +<li><p> Check returned value and verification status (<code class="STRUCTFIELD">status</code> + member of <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure). + If necessary, consume returned data from the <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">context</a>. + </p></li> +<li><p> Destroy signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> + using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> or + <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> + functions. + </p></li> +</ul> +<p> </p> +<div class="EXAMPLE"> +<a name="AEN303"></a><p><b>Example 1. Verifying a document.</b></p> +<pre class="PROGRAMLISTING">/** + * verify_file: + * @xml_file: the signed XML file name. + * @key_file: the PEM public key file name. + * + * Verifies XML signature in #xml_file using public key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load public key */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load public pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} + </pre> +<p><a href="xmlsec-verify-with-key.html#XMLSEC-EXAMPLE-VERIFY1">Full Program Listing</a></p> +</div> + </div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-verify-decrypt.html"><b><<< Verifing and decrypting documents.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-decrypt.html"><b>Decrypting an encrypted document >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes-x509.html b/docs/api/xmlsec-notes-x509.html new file mode 100644 index 00000000..8ad0e3e8 --- /dev/null +++ b/docs/api/xmlsec-notes-x509.html @@ -0,0 +1,114 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Using X509 Certificates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Implementing a custom keys store." href="xmlsec-notes-custom-keys-store.html"> +<link rel="NEXT" title="Signing data with X509 certificate." href="xmlsec-notes-sign-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-notes-custom-keys-store.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-sign-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NOTES-X509"></a>Using X509 Certificates.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-x509.html#XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></dt> +<dt><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></dt> +<dt><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></dt> +</dl></div> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></h1> +<p>X509 certificate is one of many possible keys data object that can be + associated with a key. Application may read and write X509 data + from/to XML file. The X509 certificates management policies significantly + vary from one crypto library to another. The examples in this chapter + were tested with OpenSSL and they might be broken if anither crypto + engine is used. Check API reference documentation for more specific + information about your crypto engine. + </p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-notes-custom-keys-store.html"><b><<< Implementing a custom keys store.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-sign-x509.html"><b>Signing data with X509 certificate. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-notes.html b/docs/api/xmlsec-notes.html new file mode 100644 index 00000000..8301f51b --- /dev/null +++ b/docs/api/xmlsec-notes.html @@ -0,0 +1,115 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library Tutorial</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="PREVIOUS" title="XML Security Library Reference Manual" href="index.html"> +<link rel="NEXT" title="Overview." href="xmlsec-notes-overview.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-notes-overview.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="PART"> +<a name="XMLSEC-NOTES"></a><div class="TITLEPAGE"> +<h1 class="TITLE">I. XML Security Library Tutorial</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-notes-overview.html">Overview.</a></dt> +<dt><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></dt> +<dt><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></dt> +<dt><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></dt> +<dt><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></dt> +<dt><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></dt> +<dt><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></dt> +<dt><a href="xmlsec-notes-keys.html">Keys.</a></dt> +<dt><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></dt> +<dt><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></dt> +<dt><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></dt> +<dt><a href="xmlsec-notes-contexts.html">Using context objects.</a></dt> +<dt><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></dt> +<dt><a href="xmlsec-examples.html">Examples.</a></dt> +<dt><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></dt> +<dt><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></dt> +</dl></div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="index.html"><b><<< XML Security Library Reference Manual</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-notes-overview.html"><b>Overview. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-app.html b/docs/api/xmlsec-nss-app.html new file mode 100644 index 00000000..769bfa7e --- /dev/null +++ b/docs/api/xmlsec-nss-app.html @@ -0,0 +1,740 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="NEXT" title="bignum" href="xmlsec-nss-bignum.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-bignum.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN34441"></a><h2>Name</h2>app -- Application functions implementation for NSS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPINIT">xmlSecNssAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPSHUTDOWN">xmlSecNssAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT">xmlSecNssAppDefaultKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecNssAppDefaultKeysMngrAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRLOAD">xmlSecNssAppDefaultKeysMngrLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRSAVE">xmlSecNssAppDefaultKeysMngrSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOAD">xmlSecNssAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY">xmlSecNssAppKeysMngrCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM">xmlSecNssAppKeysMngrCertLoadSECItem</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOAD">xmlSecNssAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADMEMORY">xmlSecNssAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADSECITEM">xmlSecNssAppKeyLoadSECItem</a> (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOAD">xmlSecNssAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADMEMORY">xmlSecNssAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADSECITEM">xmlSecNssAppPkcs12LoadSECItem</a> (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOAD">xmlSecNssAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADMEMORY">xmlSecNssAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADSECITEM">xmlSecNssAppKeyCertLoadSECItem</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYFROMCERTLOADSECITEM">xmlSecNssAppKeyFromCertLoadSECItem</a> (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-nss-app.html#XMLSECNSSAPPGETDEFAULTPWDCALLBACK">xmlSecNssAppGetDefaultPwdCallback</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Application functions implementation for NSS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPINIT"></a><h3>xmlSecNssAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34718"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to NSS database files.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34723"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPSHUTDOWN"></a><h3>xmlSecNssAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN34740"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecNssAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with NSS keys store <a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID"><span class="TYPE">xmlSecNssKeysStoreId</span></a> +and a default NSS crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34760"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34765"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecNssAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppDefaultKeysMngrAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecNssAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34789"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34794"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34799"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecNssAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecNssAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34823"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34828"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34833"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecNssAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34857"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34862"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34867"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34872"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecNssAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code></p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34900"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34905"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34910"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format (PEM or DER).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34915"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34920"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecNssAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeysMngrCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code></p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34951"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34956"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34961"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34966"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate format (PEM or DER).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34971"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN34976"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM"></a><h3>xmlSecNssAppKeysMngrCertLoadSECItem ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeysMngrCertLoadSECItem (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">secItem</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code></p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35004"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35009"><span style="white-space: nowrap"><code class="PARAMETER">secItem</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to SECItem.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35014"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate format (PEM or DER).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35019"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35024"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYLOAD"></a><h3>xmlSecNssAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from a file</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35053"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35058"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35063"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35068"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35073"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35078"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYLOADMEMORY"></a><h3>xmlSecNssAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from a binary <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35111"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35116"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35121"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35126"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key data2 password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35131"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35136"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35141"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYLOADSECITEM"></a><h3>xmlSecNssAppKeyLoadSECItem ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppKeyLoadSECItem (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from a file</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35170"><span style="white-space: nowrap"><code class="PARAMETER">secItem</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to sec item.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35175"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35180"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35185"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35190"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35195"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPPKCS12LOAD"></a><h3>xmlSecNssAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file. +For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35221"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35226"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35231"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35236"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35241"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPPKCS12LOADMEMORY"></a><h3>xmlSecNssAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 binary data. +For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35270"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35275"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35280"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35285"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35290"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35295"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPPKCS12LOADSECITEM"></a><h3>xmlSecNssAppPkcs12LoadSECItem ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppPkcs12LoadSECItem (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 SECItem. +For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35321"><span style="white-space: nowrap"><code class="PARAMETER">secItem</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <code class="PARAMETER">SECItem</code> object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35327"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35332"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35337"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35342"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYCERTLOAD"></a><h3>xmlSecNssAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35366"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35371"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35376"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35381"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYCERTLOADMEMORY"></a><h3>xmlSecNssAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from <code class="PARAMETER">data</code> and adds it to key</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35408"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35413"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35418"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35423"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35428"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYCERTLOADSECITEM"></a><h3>xmlSecNssAppKeyCertLoadSECItem ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssAppKeyCertLoadSECItem (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from <code class="PARAMETER">secItem</code> and adds it to key</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35452"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35457"><span style="white-space: nowrap"><code class="PARAMETER">secItem</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to SECItem.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35462"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35467"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPKEYFROMCERTLOADSECITEM"></a><h3>xmlSecNssAppKeyFromCertLoadSECItem ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecNssAppKeyFromCertLoadSECItem (<code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *secItem</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Loads public key from cert.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35487"><span style="white-space: nowrap"><code class="PARAMETER">secItem</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <code class="PARAMETER">SECItem</code> object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35493"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the cert format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35498"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecNssAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecNssAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN35514"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-ref.html"><b><<< XML Security Library for NSS API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-bignum.html"><b>bignum >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-bignum.html b/docs/api/xmlsec-nss-bignum.html new file mode 100644 index 00000000..a092a03c --- /dev/null +++ b/docs/api/xmlsec-nss-bignum.html @@ -0,0 +1,176 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>bignum</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-nss-app.html"> +<link rel="NEXT" title="crypto" href="xmlsec-nss-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-BIGNUM"></a>bignum</h1> +<div class="REFNAMEDIV"> +<a name="AEN35524"></a><h2>Name</h2>bignum -- Big numbers helper functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-BIGNUM.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="SECITEM"><span class="RETURNVALUE">SECItem</span></gtkdoclink>* <a href="xmlsec-nss-bignum.html#XMLSECNSSNODEGETBIGNUMVALUE">xmlSecNssNodeGetBigNumValue</a> (<code class="PARAMETER"><gtkdoclink href="PRARENAPOOL"><span class="TYPE">PRArenaPool</span></gtkdoclink> *arena</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *a</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-bignum.html#XMLSECNSSNODESETBIGNUMVALUE">xmlSecNssNodeSetBigNumValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *a</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-BIGNUM.DESCRIPTION"></a><h2>Description</h2> +<p>Big numbers helper functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-BIGNUM.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNSSNODEGETBIGNUMVALUE"></a><h3>xmlSecNssNodeGetBigNumValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="SECITEM"><span class="RETURNVALUE">SECItem</span></gtkdoclink>* xmlSecNssNodeGetBigNumValue (<code class="PARAMETER"><gtkdoclink href="PRARENAPOOL"><span class="TYPE">PRArenaPool</span></gtkdoclink> *arena</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *a</code>);</pre> +<p>Converts the node content from CryptoBinary format +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-CRYPTOBINARY"><span class="TYPE">sec-CryptoBinary</span></gtkdoclink>) +to a SECItem. If no SECItem object provided then a new +one is created (caller is responsible for freeing it).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35579"><span style="white-space: nowrap"><code class="PARAMETER">arena</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the arena from which to allocate memory</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35584"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poitner to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35589"><span style="white-space: nowrap"><code class="PARAMETER">a</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>a SECItem object to hold the BigNum value</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35594"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to SECItem produced from CryptoBinary string +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSNODESETBIGNUMVALUE"></a><h3>xmlSecNssNodeSetBigNumValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssNodeSetBigNumValue (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="SECITEM"><span class="TYPE">SECItem</span></gtkdoclink> *a</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +<p>Converts SECItem to CryptoBinary string +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-CRYPTOBINARY"><span class="TYPE">sec-CryptoBinary</span></gtkdoclink>) +and sets it as the content of the given node. If the +addLineBreaks is set then line breaks are added +before and after the CryptoBinary string.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35619"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35624"><span style="white-space: nowrap"><code class="PARAMETER">a</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>a SECItem containing the BigNum value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35629"><span style="white-space: nowrap"><code class="PARAMETER">addLineBreaks</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>if the flag is equal to 1 then + linebreaks will be added before and after + new buffer content.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN35634"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or -1 otherwise.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-crypto.html"><b>crypto >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-crypto.html b/docs/api/xmlsec-nss-crypto.html new file mode 100644 index 00000000..02522a00 --- /dev/null +++ b/docs/api/xmlsec-nss-crypto.html @@ -0,0 +1,978 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>crypto</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="bignum" href="xmlsec-nss-bignum.html"> +<link rel="NEXT" title="keysstore" href="xmlsec-nss-keysstore.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-bignum.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-keysstore.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-CRYPTO"></a>crypto</h1> +<div class="REFNAMEDIV"> +<a name="AEN35644"></a><h2>Name</h2>crypto -- Crypto transforms implementation for NSS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-CRYPTO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECCRYPTOGETFUNCTIONS-NSS">xmlSecCryptoGetFunctions_nss</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSINIT">xmlSecNssInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSSHUTDOWN">xmlSecNssShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYSMNGRINIT">xmlSecNssKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSGENERATERANDOM">xmlSecNssGenerateRandom</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSERRORSDEFAULTCALLBACK">xmlSecNssErrorsDefaultCallback</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>); +<gtkdoclink href="PK11SLOTINFO"><span class="RETURNVALUE">PK11SlotInfo</span></gtkdoclink> * <a href="xmlsec-nss-crypto.html#XMLSECNSSGETINTERNALKEYSLOT">xmlSecNssGetInternalKeySlot</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESID">xmlSecNssKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESGETKLASS">xmlSecNssKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESSET">xmlSecNssKeyDataAesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCID">xmlSecNssTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCGETKLASS">xmlSecNssTransformAes128CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCID">xmlSecNssTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCGETKLASS">xmlSecNssTransformAes192CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCID">xmlSecNssTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCGETKLASS">xmlSecNssTransformAes256CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128ID">xmlSecNssTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128GETKLASS">xmlSecNssTransformKWAes128GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192ID">xmlSecNssTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192GETKLASS">xmlSecNssTransformKWAes192GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256ID">xmlSecNssTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256GETKLASS">xmlSecNssTransformKWAes256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESID">xmlSecNssKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESGETKLASS">xmlSecNssKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESSET">xmlSecNssKeyDataDesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCID">xmlSecNssTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCGETKLASS">xmlSecNssTransformDes3CbcGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3ID">xmlSecNssTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3GETKLASS">xmlSecNssTransformKWDes3GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAID">xmlSecNssKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAGETKLASS">xmlSecNssKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1ID">xmlSecNssTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1GETKLASS">xmlSecNssTransformDsaSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACGETMINOUTPUTLENGTH">xmlSecNssHmacGetMinOutputLength</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACSETMINOUTPUTLENGTH">xmlSecNssHmacSetMinOutputLength</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACID">xmlSecNssKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACGETKLASS">xmlSecNssKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACSET">xmlSecNssKeyDataHmacSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5ID">xmlSecNssTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5GETKLASS">xmlSecNssTransformHmacMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160ID">xmlSecNssTransformHmacRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecNssTransformHmacRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1ID">xmlSecNssTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1GETKLASS">xmlSecNssTransformHmacSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256ID">xmlSecNssTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256GETKLASS">xmlSecNssTransformHmacSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384ID">xmlSecNssTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384GETKLASS">xmlSecNssTransformHmacSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512ID">xmlSecNssTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512GETKLASS">xmlSecNssTransformHmacSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAID">xmlSecNssKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAGETKLASS">xmlSecNssKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5ID">xmlSecNssTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5GETKLASS">xmlSecNssTransformRsaMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1ID">xmlSecNssTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1GETKLASS">xmlSecNssTransformRsaSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256ID">xmlSecNssTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256GETKLASS">xmlSecNssTransformRsaSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384ID">xmlSecNssTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384GETKLASS">xmlSecNssTransformRsaSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512ID">xmlSecNssTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512GETKLASS">xmlSecNssTransformRsaSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1ID">xmlSecNssTransformRsaPkcs1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1GETKLASS">xmlSecNssTransformRsaPkcs1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPID">xmlSecNssTransformRsaOaepId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPGETKLASS">xmlSecNssTransformRsaOaepGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1ID">xmlSecNssTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1GETKLASS">xmlSecNssTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256ID">xmlSecNssTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256GETKLASS">xmlSecNssTransformSha256GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384ID">xmlSecNssTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384GETKLASS">xmlSecNssTransformSha384GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512ID">xmlSecNssTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512GETKLASS">xmlSecNssTransformSha512GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5ID">xmlSecNssTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5GETKLASS">xmlSecNssTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-CRYPTO.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto transforms implementation for NSS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-CRYPTO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOGETFUNCTIONS-NSS"></a><h3>xmlSecCryptoGetFunctions_nss ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoGetFunctions_nss + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the pointer to xmlsec-nss functions table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN35964"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the xmlsec-nss functions table or NULL if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSINIT"></a><h3>xmlSecNssInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN35980"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSSHUTDOWN"></a><h3>xmlSecNssShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN35996"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSMNGRINIT"></a><h3>xmlSecNssKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds NSS specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36013"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36018"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSGENERATERANDOM"></a><h3>xmlSecNssGenerateRandom ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Generates <code class="PARAMETER">size</code> random bytes and puts result in <code class="PARAMETER">buffer</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36040"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36045"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the numer of bytes to generate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36050"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSERRORSDEFAULTCALLBACK"></a><h3>xmlSecNssErrorsDefaultCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecNssErrorsDefaultCallback (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +<p>The default errors reporting callback function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36085"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location file name (__FILE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36090"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36095"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function name (__FUNCTION__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36100"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36105"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36110"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36115"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the additional error message.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSGETINTERNALKEYSLOT"></a><h3>xmlSecNssGetInternalKeySlot ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="PK11SLOTINFO"><span class="RETURNVALUE">PK11SlotInfo</span></gtkdoclink> * xmlSecNssGetInternalKeySlot (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets internal NSS key slot.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36131"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> internal key slot and initializes it if needed.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAAESID"></a><h3>xmlSecNssKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataAesId</pre> +<p>The AES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAAESGETKLASS"></a><h3>xmlSecNssKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36153"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAAESSET"></a><h3>xmlSecNssKeyDataAesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of AES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36176"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to AES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36181"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36186"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36191"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES128CBCID"></a><h3>xmlSecNssTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes128CbcId</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecNssTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformAes128CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36213"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES192CBCID"></a><h3>xmlSecNssTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes192CbcId</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecNssTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformAes192CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36235"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES256CBCID"></a><h3>xmlSecNssTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes256CbcId</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecNssTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformAes256CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36257"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES128ID"></a><h3>xmlSecNssTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes128Id</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecNssTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36279"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES192ID"></a><h3>xmlSecNssTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes192Id</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecNssTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36301"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES256ID"></a><h3>xmlSecNssTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes256Id</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecNssTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36323"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATADESID"></a><h3>xmlSecNssKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataDesId</pre> +<p>The DES key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATADESGETKLASS"></a><h3>xmlSecNssKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36345"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATADESSET"></a><h3>xmlSecNssKeyDataDesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of DES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36368"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36373"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36378"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36383"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMDES3CBCID"></a><h3>xmlSecNssTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformDes3CbcId</pre> +<p>The Triple DES CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecNssTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36405"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWDES3ID"></a><h3>xmlSecNssTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWDes3Id</pre> +<p>The DES3 KW transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecNssTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36427"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATADSAID"></a><h3>xmlSecNssKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataDsaId</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATADSAGETKLASS"></a><h3>xmlSecNssKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36449"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to DSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMDSASHA1ID"></a><h3>xmlSecNssTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformDsaSha1Id</pre> +<p>The DSA SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecNssTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36471"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecNssHmacGetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the value of min HMAC length.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36487"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the min HMAC output length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecNssHmacSetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecNssHmacSetMinOutputLength (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>);</pre> +<p>Sets the min HMAC output length</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36504"><span style="white-space: nowrap"><code class="PARAMETER">min_length</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new min length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAHMACID"></a><h3>xmlSecNssKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataHmacId</pre> +<p>The DHMAC key data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAHMACGETKLASS"></a><h3>xmlSecNssKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36526"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAHMACSET"></a><h3>xmlSecNssKeyDataHmacSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of HMAC key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36549"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to HMAC key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36554"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36559"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN36564"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACMD5ID"></a><h3>xmlSecNssTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacMd5Id</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecNssTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36586"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecNssTransformHmacRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacRipemd160Id</pre> +<p>The HMAC with RipeMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecNssTransformHmacRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-RIPEMD160 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36608"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-RIPEMD160 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA1ID"></a><h3>xmlSecNssTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecNssTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36630"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA256ID"></a><h3>xmlSecNssTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecNssTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36652"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA384ID"></a><h3>xmlSecNssTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecNssTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36674"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA512ID"></a><h3>xmlSecNssTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecNssTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformHmacSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36696"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATARSAID"></a><h3>xmlSecNssKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataRsaId</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATARSAGETKLASS"></a><h3>xmlSecNssKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36718"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to RSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAMD5ID"></a><h3>xmlSecNssTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaMd5Id</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecNssTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36740"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA1ID"></a><h3>xmlSecNssTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha1Id</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecNssTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36762"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA256ID"></a><h3>xmlSecNssTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha256Id</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecNssTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36784"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA384ID"></a><h3>xmlSecNssTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha384Id</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecNssTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36806"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA512ID"></a><h3>xmlSecNssTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha512Id</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecNssTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36828"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAPKCS1ID"></a><h3>xmlSecNssTransformRsaPkcs1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaPkcs1Id</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecNssTransformRsaPkcs1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaPkcs1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-PKCS1 key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36850"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-PKCS1 key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAOAEPID"></a><h3>xmlSecNssTransformRsaOaepId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaOaepId</pre> +<p>The RSA OAEP key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecNssTransformRsaOaepGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformRsaOaepGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-PKCS1 key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36872"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-PKCS1 key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA1ID"></a><h3>xmlSecNssTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha1Id</pre> +<p>The SHA1 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA1GETKLASS"></a><h3>xmlSecNssTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36894"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA256ID"></a><h3>xmlSecNssTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha256Id</pre> +<p>The SHA256 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA256GETKLASS"></a><h3>xmlSecNssTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36916"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA256 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA384ID"></a><h3>xmlSecNssTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha384Id</pre> +<p>The SHA384 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA384GETKLASS"></a><h3>xmlSecNssTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36938"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA384 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA512ID"></a><h3>xmlSecNssTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha512Id</pre> +<p>The SHA512 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMSHA512GETKLASS"></a><h3>xmlSecNssTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36960"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA512 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMMD5ID"></a><h3>xmlSecNssTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssTransformMd5Id</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSTRANSFORMMD5GETKLASS"></a><h3>xmlSecNssTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecNssTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>MD5 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN36982"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MD5 digest transform klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-bignum.html"><b><<< bignum</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-keysstore.html"><b>keysstore >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-keysstore.html b/docs/api/xmlsec-nss-keysstore.html new file mode 100644 index 00000000..810d5cfe --- /dev/null +++ b/docs/api/xmlsec-nss-keysstore.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>keysstore</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="crypto" href="xmlsec-nss-crypto.html"> +<link rel="NEXT" title="pkikeys" href="xmlsec-nss-pkikeys.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-pkikeys.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-KEYSSTORE"></a>keysstore</h1> +<div class="REFNAMEDIV"> +<a name="AEN36992"></a><h2>Name</h2>keysstore -- Keys store implementation for NSS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-KEYSSTORE.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID">xmlSecNssKeysStoreId</a> +<gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREGETKLASS">xmlSecNssKeysStoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREADOPTKEY">xmlSecNssKeysStoreAdoptKey</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORELOAD">xmlSecNssKeysStoreLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORESAVE">xmlSecNssKeysStoreSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-KEYSSTORE.DESCRIPTION"></a><h2>Description</h2> +<p>Keys store implementation for NSS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-KEYSSTORE.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSSTOREID"></a><h3>xmlSecNssKeysStoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeysStoreId xmlSecNssKeysStoreGetKlass()</pre> +<p>A Nss keys store klass id.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSSTOREGETKLASS"></a><h3>xmlSecNssKeysStoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYSTOREID"><span class="RETURNVALUE">xmlSecKeyStoreId</span></gtkdoclink> xmlSecNssKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Nss list based keys store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN37059"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Nss list based keys store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSSTOREADOPTKEY"></a><h3>xmlSecNssKeysStoreAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37081"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Nss keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37086"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37091"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSSTORELOAD"></a><h3>xmlSecNssKeysStoreLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Reads keys from an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37114"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Nss keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37119"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37124"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to associated keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37129"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYSSTORESAVE"></a><h3>xmlSecNssKeysStoreSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Writes keys from <code class="PARAMETER">store</code> to an XML file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37153"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Nss keys store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37158"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37163"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the saved keys type (public, private, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37168"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-crypto.html"><b><<< crypto</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-pkikeys.html"><b>pkikeys >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-pkikeys.html b/docs/api/xmlsec-nss-pkikeys.html new file mode 100644 index 00000000..765ed71e --- /dev/null +++ b/docs/api/xmlsec-nss-pkikeys.html @@ -0,0 +1,211 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>pkikeys</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="keysstore" href="xmlsec-nss-keysstore.html"> +<link rel="NEXT" title="x509" href="xmlsec-nss-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-keysstore.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-PKIKEYS"></a>pkikeys</h1> +<div class="REFNAMEDIV"> +<a name="AEN37178"></a><h2>Name</h2>pkikeys -- PKI keys data implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-PKIKEYS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIADOPTKEY">xmlSecNssPKIAdoptKey</a> (<code class="PARAMETER"><gtkdoclink href="SECKEYPRIVATEKEY"><span class="TYPE">SECKEYPrivateKey</span></gtkdoclink> *privkey</code>, + <code class="PARAMETER"><gtkdoclink href="SECKEYPUBLICKEY"><span class="TYPE">SECKEYPublicKey</span></gtkdoclink> *pubkey</code>); +<gtkdoclink href="SECKEYPUBLICKEY"><span class="RETURNVALUE">SECKEYPublicKey</span></gtkdoclink>* <a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPUBKEY">xmlSecNssPKIKeyDataGetPubKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="SECKEYPRIVATEKEY"><span class="RETURNVALUE">SECKEYPrivateKey</span></gtkdoclink>* <a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPRIVKEY">xmlSecNssPKIKeyDataGetPrivKey</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="KEYTYPE"><span class="RETURNVALUE">KeyType</span></gtkdoclink><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETKEYTYPE">xmlSecNssPKIKeyDataGetKeyType</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATADUPLICATE">xmlSecNssPKIKeyDataDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-PKIKEYS.DESCRIPTION"></a><h2>Description</h2> +<p>PKI keys data implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-PKIKEYS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNSSPKIADOPTKEY"></a><h3>xmlSecNssPKIAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecNssPKIAdoptKey (<code class="PARAMETER"><gtkdoclink href="SECKEYPRIVATEKEY"><span class="TYPE">SECKEYPrivateKey</span></gtkdoclink> *privkey</code>, + <code class="PARAMETER"><gtkdoclink href="SECKEYPUBLICKEY"><span class="TYPE">SECKEYPublicKey</span></gtkdoclink> *pubkey</code>);</pre> +<p>Build a KeyData object from the given Private Key and Public +Key handles.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37240"><span style="white-space: nowrap"><code class="PARAMETER">privkey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the NSS Private Key handle</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37245"><span style="white-space: nowrap"><code class="PARAMETER">pubkey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the NSS Public Key handle</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37250"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to KeyData object or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSPKIKEYDATAGETPUBKEY"></a><h3>xmlSecNssPKIKeyDataGetPubKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="SECKEYPUBLICKEY"><span class="RETURNVALUE">SECKEYPublicKey</span></gtkdoclink>* xmlSecNssPKIKeyDataGetPubKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the Public Key from the key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37267"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS Key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37272"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SECKEYPublicKey or NULL if an error occurs. +Caller is responsible for freeing the key when done</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSPKIKEYDATAGETPRIVKEY"></a><h3>xmlSecNssPKIKeyDataGetPrivKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="SECKEYPRIVATEKEY"><span class="RETURNVALUE">SECKEYPrivateKey</span></gtkdoclink>* xmlSecNssPKIKeyDataGetPrivKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the Private Key from the key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37289"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS Key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37294"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SECKEYPrivateKey or NULL if an error occurs. +Caller is responsible for freeing the key when done</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSPKIKEYDATAGETKEYTYPE"></a><h3>xmlSecNssPKIKeyDataGetKeyType ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="KEYTYPE"><span class="RETURNVALUE">KeyType</span></gtkdoclink> xmlSecNssPKIKeyDataGetKeyType (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the Key Type from the key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37311"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS Key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37316"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Key Type</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSPKIKEYDATADUPLICATE"></a><h3>xmlSecNssPKIKeyDataDuplicate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssPKIKeyDataDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre> +<p>Duplicates the keydata from src to dst</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37336"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS Key data to copy to.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37341"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS Key data to copy from.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37346"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> -1 on error, 0 on success</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-keysstore.html"><b><<< keysstore</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-x509.html"><b>x509 >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-ref.html b/docs/api/xmlsec-nss-ref.html new file mode 100644 index 00000000..81b0c6d7 --- /dev/null +++ b/docs/api/xmlsec-nss-ref.html @@ -0,0 +1,115 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library for NSS API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="crypto" href="xmlsec-gcrypt-crypto.html"> +<link rel="NEXT" title="app" href="xmlsec-nss-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-gcrypt-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-nss-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-NSS-REF"></a>XML Security Library for NSS API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-nss-app.html">app</a> -- Application functions implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-bignum.html">bignum</a> -- Big numbers helper functions.</dt> +<dt> +<a href="xmlsec-nss-crypto.html">crypto</a> -- Crypto transforms implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-keysstore.html">keysstore</a> -- Keys store implementation for NSS.</dt> +<dt> +<a href="xmlsec-nss-pkikeys.html">pkikeys</a> -- PKI keys data implementation.</dt> +<dt> +<a href="xmlsec-nss-x509.html">x509</a> -- X509 certificates support implementation for NSS.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec-nss. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-gcrypt-crypto.html"><b><<< crypto</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-nss-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss-x509.html b/docs/api/xmlsec-nss-x509.html new file mode 100644 index 00000000..410e110d --- /dev/null +++ b/docs/api/xmlsec-nss-x509.html @@ -0,0 +1,467 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>x509</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html"> +<link rel="PREVIOUS" title="pkikeys" href="xmlsec-nss-pkikeys.html"> +<link rel="NEXT" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nss-pkikeys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-mscrypto-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-NSS-X509"></a>x509</h1> +<div class="REFNAMEDIV"> +<a name="AEN37356"></a><h2>Name</h2>x509 -- X509 certificates support implementation for NSS.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-NSS-X509.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ID">xmlSecNssKeyDataX509Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKLASS">xmlSecNssKeyDataX509GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKEYCERT">xmlSecNssKeyDataX509GetKeyCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTKEYCERT">xmlSecNssKeyDataX509AdoptKeyCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCERT">xmlSecNssKeyDataX509AdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>); +<gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERT">xmlSecNssKeyDataX509GetCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERTSSIZE">xmlSecNssKeyDataX509GetCertsSize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCRL">xmlSecNssKeyDataX509AdoptCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTSIGNEDCRL"><span class="TYPE">CERTSignedCrl</span></gtkdoclink> *crl</code>); +<gtkdoclink href="CERTSIGNEDCRL"><span class="RETURNVALUE">CERTSignedCrl</span></gtkdoclink>* <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRL">xmlSecNssKeyDataX509GetCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRLSSIZE">xmlSecNssKeyDataX509GetCrlsSize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-nss-x509.html#XMLSECNSSX509CERTGETKEY">xmlSecNssX509CertGetKey</a> (<code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>); +#define <a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTID">xmlSecNssKeyDataRawX509CertId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTGETKLASS">xmlSecNssKeyDataRawX509CertGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREID">xmlSecNssX509StoreId</a> +<gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREGETKLASS">xmlSecNssX509StoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* <a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREFINDCERT">xmlSecNssX509StoreFindCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *subjectName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerSerial</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ski</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>); +<gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* <a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREVERIFY">xmlSecNssX509StoreVerify</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTLIST"><span class="TYPE">CERTCertList</span></gtkdoclink> *certs</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREADOPTCERT">xmlSecNssX509StoreAdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-X509.DESCRIPTION"></a><h2>Description</h2> +<p>X509 certificates support implementation for NSS.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-NSS-X509.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509ID"></a><h3>xmlSecNssKeyDataX509Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataX509Id</pre> +<p>The NSS X509 data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETKLASS"></a><h3>xmlSecNssKeyDataX509GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The NSS X509 key data klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-X509DATA"><span class="TYPE">sec-X509Data</span></gtkdoclink>).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN37518"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the X509 data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETKEYCERT"></a><h3>xmlSecNssKeyDataX509GetKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* xmlSecNssKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the certificate from which the key was extracted.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37535"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37540"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key's certificate or NULL if key data was not used for key +extraction or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecNssKeyDataX509AdoptKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataX509AdoptKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>);</pre> +<p>Sets the key's certificate in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37561"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37566"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37571"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509ADOPTCERT"></a><h3>xmlSecNssKeyDataX509AdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>);</pre> +<p>Adds certificate to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37591"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37596"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37601"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETCERT"></a><h3>xmlSecNssKeyDataX509GetCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* xmlSecNssKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a certificate from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37621"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37626"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37631"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code> is larger than the +number of certificates in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecNssKeyDataX509GetCertsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecNssKeyDataX509GetCertsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of certificates in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37651"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37656"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of certificates in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509ADOPTCRL"></a><h3>xmlSecNssKeyDataX509AdoptCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="CERTSIGNEDCRL"><span class="TYPE">CERTSignedCrl</span></gtkdoclink> *crl</code>);</pre> +<p>Adds CRL to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37677"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37682"><span style="white-space: nowrap"><code class="PARAMETER">crl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS X509 CRL.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37687"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETCRL"></a><h3>xmlSecNssKeyDataX509GetCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CERTSIGNEDCRL"><span class="RETURNVALUE">CERTSignedCrl</span></gtkdoclink>* xmlSecNssKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a CRL from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37707"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37712"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired CRL position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37717"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code> is larger than the +number of CRLs in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecNssKeyDataX509GetCrlsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecNssKeyDataX509GetCrlsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of CRLs in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37737"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37742"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of CRLs in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509CERTGETKEY"></a><h3>xmlSecNssX509CertGetKey ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecNssX509CertGetKey (<code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>);</pre> +<p>Extracts public key from the <code class="PARAMETER">cert</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37761"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37766"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> public key value or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATARAWX509CERTID"></a><h3>xmlSecNssKeyDataRawX509CertId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataRawX509CertId</pre> +<p>The NSS raw X509 certificate klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecNssKeyDataRawX509CertGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecNssKeyDataRawX509CertGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The raw X509 certificates key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN37788"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> raw X509 certificates key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509STOREID"></a><h3>xmlSecNssX509StoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecNssX509StoreId</pre> +<p>The NSS X509 store klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509STOREGETKLASS"></a><h3>xmlSecNssX509StoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink> xmlSecNssX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The NSS X509 certificates key data store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN37810"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to NSS X509 certificates key data store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509STOREFINDCERT"></a><h3>xmlSecNssX509StoreFindCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* xmlSecNssX509StoreFindCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *subjectName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerSerial</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ski</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre> +<p>Searches <code class="PARAMETER">store</code> for a certificate that matches given criteria.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37843"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37848"><span style="white-space: nowrap"><code class="PARAMETER">subjectName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37853"><span style="white-space: nowrap"><code class="PARAMETER">issuerName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate issuer name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37858"><span style="white-space: nowrap"><code class="PARAMETER">issuerSerial</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate issuer serial number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37863"><span style="white-space: nowrap"><code class="PARAMETER">ski</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate SKI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37868"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37874"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to found certificate or NULL if certificate is not found +or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509STOREVERIFY"></a><h3>xmlSecNssX509StoreVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="CERTCERTIFICATE"><span class="RETURNVALUE">CERTCertificate</span></gtkdoclink>* xmlSecNssX509StoreVerify (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTLIST"><span class="TYPE">CERTCertList</span></gtkdoclink> *certs</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre> +<p>Verifies <code class="PARAMETER">certs</code> list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37898"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37903"><span style="white-space: nowrap"><code class="PARAMETER">certs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the untrusted certificates stack.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37908"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37914"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the first verified certificate from <code class="PARAMETER">certs</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNSSX509STOREADOPTCERT"></a><h3>xmlSecNssX509StoreAdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNssX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="CERTCERTIFICATE"><span class="TYPE">CERTCertificate</span></gtkdoclink> *cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Adds trusted (root) or untrusted certificate to the store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37938"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37943"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to NSS X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37948"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN37953"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nss-pkikeys.html"><b><<< pkikeys</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-mscrypto-ref.html"><b>XML Security Library for MSCrypto API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-nss.sgml b/docs/api/xmlsec-nss.sgml new file mode 100644 index 00000000..9aa211bd --- /dev/null +++ b/docs/api/xmlsec-nss.sgml @@ -0,0 +1,23 @@ +<!doctype book PUBLIC "-//DavenPort//DTD DocBook V3.0//EN" [ +<!ENTITY xmlsec-nss-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-nss-bignum SYSTEM "sgml/bignum.sgml"> +<!ENTITY xmlsec-nss-crypto SYSTEM "sgml/crypto.sgml"> +<!ENTITY xmlsec-nss-keysstore SYSTEM "sgml/keysstore.sgml"> +<!ENTITY xmlsec-nss-pkikeys SYSTEM "sgml/pkikeys.sgml"> +<!ENTITY xmlsec-nss-x509 SYSTEM "sgml/x509.sgml"> +]> +<book id="index"> + <bookinfo> + <title>[Insert name here] Reference Manual</title> + </bookinfo> + + <chapter> + <title>[Insert title here]</title> + &xmlsec-nss-app; + &xmlsec-nss-bignum; + &xmlsec-nss-crypto; + &xmlsec-nss-keysstore; + &xmlsec-nss-pkikeys; + &xmlsec-nss-x509; + </chapter> +</book> diff --git a/docs/api/xmlsec-openssl-app.html b/docs/api/xmlsec-openssl-app.html new file mode 100644 index 00000000..8f71383e --- /dev/null +++ b/docs/api/xmlsec-openssl-app.html @@ -0,0 +1,800 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>app</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="PREVIOUS" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="NEXT" title="bn" href="xmlsec-openssl-bn.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-bn.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-OPENSSL-APP"></a>app</h1> +<div class="REFNAMEDIV"> +<a name="AEN25918"></a><h2>Name</h2>app -- Application functions implementation for OpenSSL.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-OPENSSL-APP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPINIT">xmlSecOpenSSLAppInit</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPSHUTDOWN">xmlSecOpenSSLAppShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT">xmlSecOpenSSLAppDefaultKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD">xmlSecOpenSSLAppDefaultKeysMngrLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE">xmlSecOpenSSLAppDefaultKeysMngrSave</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOAD">xmlSecOpenSSLAppKeysMngrCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH">xmlSecOpenSSLAppKeysMngrAddCertsPath</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *path</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE">xmlSecOpenSSLAppKeysMngrAddCertsFile</a> + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOAD">xmlSecOpenSSLAppKeyLoad</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADMEMORY">xmlSecOpenSSLAppKeyLoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADBIO">xmlSecOpenSSLAppKeyLoadBIO</a> (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADMEMORY">xmlSecOpenSSLAppPkcs12LoadMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADBIO">xmlSecOpenSSLAppPkcs12LoadBIO</a> (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADMEMORY">xmlSecOpenSSLAppKeyCertLoadMemory</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADBIO">xmlSecOpenSSLAppKeyCertLoadBIO</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYFROMCERTLOADBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</a> (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK">xmlSecOpenSSLAppGetDefaultPwdCallback</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-APP.DESCRIPTION"></a><h2>Description</h2> +<p>Application functions implementation for OpenSSL.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-APP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPINIT"></a><h3>xmlSecOpenSSLAppInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppInit (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *config</code>);</pre> +<p>General crypto engine initialization. This function is used +by XMLSec command line utility and called before +<code class="PARAMETER">xmlSecInit</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26213"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to certs.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26218"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPSHUTDOWN"></a><h3>xmlSecOpenSSLAppShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>General crypto engine shutdown. This function is used +by XMLSec command line utility and called after +<code class="PARAMETER">xmlSecShutdown</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN26235"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a> +and a default OpenSSL crypto key data stores.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26255"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26260"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppDefaultKeysMngrAdoptKey + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26284"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26289"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26294"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *uri</code>);</pre> +<p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created +with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26318"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26323"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26328"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrSave ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Saves keys from <code class="PARAMETER">mngr</code> to XML keys file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26352"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26357"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26362"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of keys to save (public/private/symmetric).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26367"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26395"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26400"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26405"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26410"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code> + trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26416"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeysMngrCertLoadMemory + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from binary buffer <code class="PARAMETER">data</code> and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26447"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26452"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26457"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26462"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26467"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26472"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadBIO ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeysMngrCertLoadBIO (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Reads cert from an OpenSSL BIO object and adds to the list of trusted or known +untrusted certs in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26499"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26504"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate BIO.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26509"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26514"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates is the certificate trusted or not.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26519"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsPath ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeysMngrAddCertsPath + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *path</code>);</pre> +<p>Reads cert from <code class="PARAMETER">path</code> and adds to the list of trusted certificates.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26540"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26545"><span style="white-space: nowrap"><code class="PARAMETER">path</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to trusted certificates.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26550"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsFile ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeysMngrAddCertsFile + (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>);</pre> +<p>Reads certs from <code class="PARAMETER">file</code> and adds to the list of trusted certificates. +It is possible for <code class="PARAMETER">file</code> to contain multiple certs.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26572"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26577"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the file containing trusted certificates.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26582"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYLOAD"></a><h3>xmlSecOpenSSLAppKeyLoad ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppKeyLoad (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the a file.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26611"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26616"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26621"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26626"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26631"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26636"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the memory buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26668"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26673"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of binary key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26678"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26683"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26688"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26693"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26698"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYLOADBIO"></a><h3>xmlSecOpenSSLAppKeyLoadBIO ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppKeyLoadBIO (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key from the an OpenSSL BIO object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26727"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key BIO.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26732"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26737"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26742"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26747"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26752"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPPKCS12LOAD"></a><h3>xmlSecOpenSSLAppPkcs12Load ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppPkcs12Load (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 file. +For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26778"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26783"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26788"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26793"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26798"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPPKCS12LOADMEMORY"></a><h3>xmlSecOpenSSLAppPkcs12LoadMemory ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 data in memory buffer. +For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26827"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26832"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26837"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26842"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26847"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26852"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPPKCS12LOADBIO"></a><h3>xmlSecOpenSSLAppPkcs12LoadBIO ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppPkcs12LoadBIO (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *pwd</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallback</code>, + <code class="PARAMETER"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *pwdCallbackCtx</code>);</pre> +<p>Reads key and all associated certificates from the PKCS12 data in an OpenSSL BIO object. +For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass +in format=xmlSecKeyDataFormatPkcs12.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26878"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 key bio.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26883"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the PKCS12 file password.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26888"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26893"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the user context for password callback.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26898"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYCERTLOAD"></a><h3>xmlSecOpenSSLAppKeyCertLoad ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26922"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26927"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26932"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26937"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyCertLoadMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from memory buffer and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26963"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26968"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26973"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate binary data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26978"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN26983"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyCertLoadBIO ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLAppKeyCertLoadBIO (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>, + <code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Reads the certificate from memory buffer and adds it to key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27006"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27011"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate bio.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27016"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate file format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27021"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPKEYFROMCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyFromCertLoadBIO ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecOpenSSLAppKeyFromCertLoadBIO (<code class="PARAMETER"><gtkdoclink href="BIO:CAPS"><span class="TYPE">BIO</span></gtkdoclink> *bio</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre> +<p>Loads public key from cert.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27041"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BIO.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27046"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the cert format.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27051"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecOpenSSLAppGetDefaultPwdCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink>* xmlSecOpenSSLAppGetDefaultPwdCallback + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets default password callback.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27067"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> default password callback.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-ref.html"><b><<< XML Security Library for OpenSLL API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-bn.html"><b>bn >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl-bn.html b/docs/api/xmlsec-openssl-bn.html new file mode 100644 index 00000000..9f99727a --- /dev/null +++ b/docs/api/xmlsec-openssl-bn.html @@ -0,0 +1,170 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>bn</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="PREVIOUS" title="app" href="xmlsec-openssl-app.html"> +<link rel="NEXT" title="crypto" href="xmlsec-openssl-crypto.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-app.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-OPENSSL-BN"></a>bn</h1> +<div class="REFNAMEDIV"> +<a name="AEN27077"></a><h2>Name</h2>bn -- Big numbers helper functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-OPENSSL-BN.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="BIGNUM:CAPS"><span class="RETURNVALUE">BIGNUM</span></gtkdoclink>* <a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODEGETBNVALUE">xmlSecOpenSSLNodeGetBNValue</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="BIGNUM:CAPS"><span class="TYPE">BIGNUM</span></gtkdoclink> **a</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODESETBNVALUE">xmlSecOpenSSLNodeSetBNValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="BIGNUM:CAPS"><span class="TYPE">BIGNUM</span></gtkdoclink> *a</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-BN.DESCRIPTION"></a><h2>Description</h2> +<p>Big numbers helper functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-BN.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLNODEGETBNVALUE"></a><h3>xmlSecOpenSSLNodeGetBNValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="BIGNUM:CAPS"><span class="RETURNVALUE">BIGNUM</span></gtkdoclink>* xmlSecOpenSSLNodeGetBNValue (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER"><gtkdoclink href="BIGNUM:CAPS"><span class="TYPE">BIGNUM</span></gtkdoclink> **a</code>);</pre> +<p>Converts the node content from CryptoBinary format +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-CRYPTOBINARY"><span class="TYPE">sec-CryptoBinary</span></gtkdoclink>) +to a BIGNUM. If no BIGNUM buffer provided then a new +BIGNUM is created (caller is responsible for freeing it).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27126"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the poitner to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27131"><span style="white-space: nowrap"><code class="PARAMETER">a</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BIGNUM buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27136"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> a pointer to BIGNUM produced from CryptoBinary string +or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLNODESETBNVALUE"></a><h3>xmlSecOpenSSLNodeSetBNValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLNodeSetBNValue (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="BIGNUM:CAPS"><span class="TYPE">BIGNUM</span></gtkdoclink> *a</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> addLineBreaks</code>);</pre> +<p>Converts BIGNUM to CryptoBinary string +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-CRYPTOBINARY"><span class="TYPE">sec-CryptoBinary</span></gtkdoclink>) +and sets it as the content of the given node. If the +addLineBreaks is set then line breaks are added +before and after the CryptoBinary string.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27161"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27166"><span style="white-space: nowrap"><code class="PARAMETER">a</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the BIGNUM.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27171"><span style="white-space: nowrap"><code class="PARAMETER">addLineBreaks</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>if the flag is equal to 1 then + linebreaks will be added before and after + new buffer content.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27176"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or -1 otherwise.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-app.html"><b><<< app</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-crypto.html"><b>crypto >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl-crypto.html b/docs/api/xmlsec-openssl-crypto.html new file mode 100644 index 00000000..1d4f42cd --- /dev/null +++ b/docs/api/xmlsec-openssl-crypto.html @@ -0,0 +1,1329 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>crypto</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="PREVIOUS" title="bn" href="xmlsec-openssl-bn.html"> +<link rel="NEXT" title="evp" href="xmlsec-openssl-evp.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-bn.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-evp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-OPENSSL-CRYPTO"></a>crypto</h1> +<div class="REFNAMEDIV"> +<a name="AEN27186"></a><h2>Name</h2>crypto -- Crypto transforms implementation for OpenSSL.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-OPENSSL-CRYPTO.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECCRYPTOGETFUNCTIONS-OPENSSL">xmlSecCryptoGetFunctions_openssl</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLINIT">xmlSecOpenSSLInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSHUTDOWN">xmlSecOpenSSLShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYSMNGRINIT">xmlSecOpenSSLKeysMngrInit</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGENERATERANDOM">xmlSecOpenSSLGenerateRandom</a> (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a> + (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *path</code>); +const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESID">xmlSecOpenSSLKeyDataAesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESGETKLASS">xmlSecOpenSSLKeyDataAesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESSET">xmlSecOpenSSLKeyDataAesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCID">xmlSecOpenSSLTransformAes128CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS">xmlSecOpenSSLTransformAes128CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCID">xmlSecOpenSSLTransformAes192CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS">xmlSecOpenSSLTransformAes192CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCID">xmlSecOpenSSLTransformAes256CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS">xmlSecOpenSSLTransformAes256CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128ID">xmlSecOpenSSLTransformKWAes128Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128GETKLASS">xmlSecOpenSSLTransformKWAes128GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192ID">xmlSecOpenSSLTransformKWAes192Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192GETKLASS">xmlSecOpenSSLTransformKWAes192GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256ID">xmlSecOpenSSLTransformKWAes256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256GETKLASS">xmlSecOpenSSLTransformKWAes256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESID">xmlSecOpenSSLKeyDataDesId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESGETKLASS">xmlSecOpenSSLKeyDataDesGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESSET">xmlSecOpenSSLKeyDataDesSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCID">xmlSecOpenSSLTransformDes3CbcId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS">xmlSecOpenSSLTransformDes3CbcGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3ID">xmlSecOpenSSLTransformKWDes3Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3GETKLASS">xmlSecOpenSSLTransformKWDes3GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAID">xmlSecOpenSSLKeyDataDsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETKLASS">xmlSecOpenSSLKeyDataDsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTDSA">xmlSecOpenSSLKeyDataDsaAdoptDsa</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="DSA:CAPS"><span class="TYPE">DSA</span></gtkdoclink> *dsa</code>); +<gtkdoclink href="DSA:CAPS"><span class="RETURNVALUE">DSA</span></gtkdoclink>* <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETDSA">xmlSecOpenSSLKeyDataDsaGetDsa</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTEVP">xmlSecOpenSSLKeyDataDsaAdoptEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>); +<gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETEVP">xmlSecOpenSSLKeyDataDsaGetEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1ID">xmlSecOpenSSLTransformDsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS">xmlSecOpenSSLTransformDsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACGETMINOUTPUTLENGTH">xmlSecOpenSSLHmacGetMinOutputLength</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACSETMINOUTPUTLENGTH">xmlSecOpenSSLHmacSetMinOutputLength</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACID">xmlSecOpenSSLKeyDataHmacId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACGETKLASS">xmlSecOpenSSLKeyDataHmacGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACSET">xmlSecOpenSSLKeyDataHmacSet</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5ID">xmlSecOpenSSLTransformHmacMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS">xmlSecOpenSSLTransformHmacMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID">xmlSecOpenSSLTransformHmacRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1ID">xmlSecOpenSSLTransformHmacSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS">xmlSecOpenSSLTransformHmacSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224ID">xmlSecOpenSSLTransformHmacSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS">xmlSecOpenSSLTransformHmacSha224GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256ID">xmlSecOpenSSLTransformHmacSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS">xmlSecOpenSSLTransformHmacSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384ID">xmlSecOpenSSLTransformHmacSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS">xmlSecOpenSSLTransformHmacSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512ID">xmlSecOpenSSLTransformHmacSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS">xmlSecOpenSSLTransformHmacSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5ID">xmlSecOpenSSLTransformMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5GETKLASS">xmlSecOpenSSLTransformMd5GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160ID">xmlSecOpenSSLTransformRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS">xmlSecOpenSSLTransformRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAID">xmlSecOpenSSLKeyDataRsaId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETKLASS">xmlSecOpenSSLKeyDataRsaGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTRSA">xmlSecOpenSSLKeyDataRsaAdoptRsa</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="RSA:CAPS"><span class="TYPE">RSA</span></gtkdoclink> *rsa</code>); +<gtkdoclink href="RSA:CAPS"><span class="RETURNVALUE">RSA</span></gtkdoclink>* <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETRSA">xmlSecOpenSSLKeyDataRsaGetRsa</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTEVP">xmlSecOpenSSLKeyDataRsaAdoptEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>); +<gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETEVP">xmlSecOpenSSLKeyDataRsaGetEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5ID">xmlSecOpenSSLTransformRsaMd5Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS">xmlSecOpenSSLTransformRsaMd5GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160ID">xmlSecOpenSSLTransformRsaRipemd160Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1ID">xmlSecOpenSSLTransformRsaSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS">xmlSecOpenSSLTransformRsaSha1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224ID">xmlSecOpenSSLTransformRsaSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS">xmlSecOpenSSLTransformRsaSha224GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256ID">xmlSecOpenSSLTransformRsaSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS">xmlSecOpenSSLTransformRsaSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384ID">xmlSecOpenSSLTransformRsaSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS">xmlSecOpenSSLTransformRsaSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512ID">xmlSecOpenSSLTransformRsaSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS">xmlSecOpenSSLTransformRsaSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1ID">xmlSecOpenSSLTransformRsaPkcs1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPID">xmlSecOpenSSLTransformRsaOaepId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS">xmlSecOpenSSLTransformRsaOaepGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1ID">xmlSecOpenSSLTransformSha1Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1GETKLASS">xmlSecOpenSSLTransformSha1GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224ID">xmlSecOpenSSLTransformSha224Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224GETKLASS">xmlSecOpenSSLTransformSha224GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256ID">xmlSecOpenSSLTransformSha256Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256GETKLASS">xmlSecOpenSSLTransformSha256GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384ID">xmlSecOpenSSLTransformSha384Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384GETKLASS">xmlSecOpenSSLTransformSha384GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512ID">xmlSecOpenSSLTransformSha512Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512GETKLASS">xmlSecOpenSSLTransformSha512GetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-ERRORS-LIB:CAPS">XMLSEC_OPENSSL_ERRORS_LIB</a> +#define <a href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-ERRORS-FUNCTION:CAPS">XMLSEC_OPENSSL_ERRORS_FUNCTION</a> +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLERRORSDEFAULTCALLBACK">xmlSecOpenSSLErrorsDefaultCallback</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-CRYPTO.DESCRIPTION"></a><h2>Description</h2> +<p>Crypto transforms implementation for OpenSSL.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-CRYPTO.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECCRYPTOGETFUNCTIONS-OPENSSL"></a><h3>xmlSecCryptoGetFunctions_openssl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECCRYPTODLFUNCTIONS"><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></gtkdoclink> xmlSecCryptoGetFunctions_openssl + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the pointer to xmlsec-openssl functions table.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27604"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the xmlsec-openssl functions table or NULL if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLINIT"></a><h3>xmlSecOpenSSLInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine initialization.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27620"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLSHUTDOWN"></a><h3>xmlSecOpenSSLShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XMLSec library specific crypto engine shutdown.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27636"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYSMNGRINIT"></a><h3>xmlSecOpenSSLKeysMngrInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre> +<p>Adds OpenSSL specific key data stores in keys manager.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27653"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27658"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLGENERATERANDOM"></a><h3>xmlSecOpenSSLGenerateRandom ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Generates <code class="PARAMETER">size</code> random bytes and puts result in <code class="PARAMETER">buffer</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27680"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27685"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the numer of bytes to generate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27690"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER"></a><h3>xmlSecOpenSSLSetDefaultTrustedCertsFolder ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLSetDefaultTrustedCertsFolder + (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *path</code>);</pre> +<p>Sets the default trusted certs folder.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27707"><span style="white-space: nowrap"><code class="PARAMETER">path</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the default trusted certs path.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27712"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER"></a><h3>xmlSecOpenSSLGetDefaultTrustedCertsFolder ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecOpenSSLGetDefaultTrustedCertsFolder + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the default trusted certs folder.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27728"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the default trusted cert folder.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAAESID"></a><h3>xmlSecOpenSSLKeyDataAesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataAesId</pre> +<p>The AES key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAAESGETKLASS"></a><h3>xmlSecOpenSSLKeyDataAesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27750"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAAESSET"></a><h3>xmlSecOpenSSLKeyDataAesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of AES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27773"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to AES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27778"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27783"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27788"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES128CBCID"></a><h3>xmlSecOpenSSLTransformAes128CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes128CbcId</pre> +<p>The AES128 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes128CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformAes128CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 128 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27810"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 128 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES192CBCID"></a><h3>xmlSecOpenSSLTransformAes192CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes192CbcId</pre> +<p>The AES192 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes192CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformAes192CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 192 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27832"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 192 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES256CBCID"></a><h3>xmlSecOpenSSLTransformAes256CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes256CbcId</pre> +<p>The AES256 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes256CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformAes256CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>AES 256 CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27854"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to AES 256 CBC encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES128ID"></a><h3>xmlSecOpenSSLTransformKWAes128Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes128Id</pre> +<p>The AES 128 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes128GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformKWAes128GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-128 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27876"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-128 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES192ID"></a><h3>xmlSecOpenSSLTransformKWAes192Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes192Id</pre> +<p>The AES 192 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes192GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformKWAes192GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-192 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27898"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-192 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES256ID"></a><h3>xmlSecOpenSSLTransformKWAes256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes256Id</pre> +<p>The AES 256 key wrap transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformKWAes256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The AES-256 kew wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27920"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> AES-256 kew wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADESID"></a><h3>xmlSecOpenSSLKeyDataDesId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataDesId</pre> +<p>The DES key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADESGETKLASS"></a><h3>xmlSecOpenSSLKeyDataDesGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DES key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN27942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DES key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADESSET"></a><h3>xmlSecOpenSSLKeyDataDesSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of DES key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27965"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DES key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27970"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27975"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN27980"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMDES3CBCID"></a><h3>xmlSecOpenSSLTransformDes3CbcId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformDes3CbcId</pre> +<p>The DES3 CBC cipher transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformDes3CbcGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformDes3CbcGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Triple DES CBC encryption transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28002"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to Triple DES encryption transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWDES3ID"></a><h3>xmlSecOpenSSLTransformKWDes3Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWDes3Id</pre> +<p>The DES3 KW transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecOpenSSLTransformKWDes3GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformKWDes3GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Triple DES key wrapper transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28024"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Triple DES key wrapper transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAID"></a><h3>xmlSecOpenSSLKeyDataDsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataDsaId</pre> +<p>The DSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAGETKLASS"></a><h3>xmlSecOpenSSLKeyDataDsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28046"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to DSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAADOPTDSA"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptDsa ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataDsaAdoptDsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="DSA:CAPS"><span class="TYPE">DSA</span></gtkdoclink> *dsa</code>);</pre> +<p>Sets the value of DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28066"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28071"><span style="white-space: nowrap"><code class="PARAMETER">dsa</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL DSA key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28076"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAGETDSA"></a><h3>xmlSecOpenSSLKeyDataDsaGetDsa ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="DSA:CAPS"><span class="RETURNVALUE">DSA</span></gtkdoclink>* xmlSecOpenSSLKeyDataDsaGetDsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the OpenSSL DSA key from DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28093"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28098"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL DSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAADOPTEVP"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataDsaAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +<p>Sets the DSA key data value to OpenSSL EVP key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28118"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28123"><span style="white-space: nowrap"><code class="PARAMETER">pKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL EVP key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28128"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATADSAGETEVP"></a><h3>xmlSecOpenSSLKeyDataDsaGetEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* xmlSecOpenSSLKeyDataDsaGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the OpenSSL EVP key from DSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28145"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to DSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28150"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL EVP key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMDSASHA1ID"></a><h3>xmlSecOpenSSLTransformDsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformDsaSha1Id</pre> +<p>The DSA SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformDsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformDsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The DSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28172"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> DSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecOpenSSLHmacGetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets the value of min HMAC length.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28188"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the min HMAC output length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecOpenSSLHmacSetMinOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecOpenSSLHmacSetMinOutputLength (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> min_length</code>);</pre> +<p>Sets the min HMAC output length</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28205"><span style="white-space: nowrap"><code class="PARAMETER">min_length</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new min length</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAHMACID"></a><h3>xmlSecOpenSSLKeyDataHmacId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataHmacId</pre> +<p>The DHMAC key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAHMACGETKLASS"></a><h3>xmlSecOpenSSLKeyDataHmacGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28227"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> HMAC key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAHMACSET"></a><h3>xmlSecOpenSSLKeyDataHmacSet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre> +<p>Sets the value of HMAC key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28250"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to HMAC key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28255"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28260"><span style="white-space: nowrap"><code class="PARAMETER">bufSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key value size (in bytes).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28265"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACMD5ID"></a><h3>xmlSecOpenSSLTransformHmacMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacMd5Id</pre> +<p>The HMAC with MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-MD5 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28287"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-MD5 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecOpenSSLTransformHmacRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacRipemd160Id</pre> +<p>The HMAC with RipeMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-RIPEMD160 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28309"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-RIPEMD160 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA1ID"></a><h3>xmlSecOpenSSLTransformHmacSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha1Id</pre> +<p>The HMAC with SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA1 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28331"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA1 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA224ID"></a><h3>xmlSecOpenSSLTransformHmacSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha224Id</pre> +<p>The HMAC with SHA224 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacSha224GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA224 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28353"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA224 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA256ID"></a><h3>xmlSecOpenSSLTransformHmacSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha256Id</pre> +<p>The HMAC with SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA256 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28375"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA256 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA384ID"></a><h3>xmlSecOpenSSLTransformHmacSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha384Id</pre> +<p>The HMAC with SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA384 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28397"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA384 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA512ID"></a><h3>xmlSecOpenSSLTransformHmacSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha512Id</pre> +<p>The HMAC with SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformHmacSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The HMAC-SHA512 transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28419"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the HMAC-SHA512 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMMD5ID"></a><h3>xmlSecOpenSSLTransformMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformMd5Id</pre> +<p>The MD5 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>MD5 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28441"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to MD5 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRIPEMD160ID"></a><h3>xmlSecOpenSSLTransformRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRipemd160Id</pre> +<p>The RIPEMD160 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>RIPEMD-160 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28463"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to RIPEMD-160 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAID"></a><h3>xmlSecOpenSSLKeyDataRsaId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataRsaId</pre> +<p>The RSA key klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAGETKLASS"></a><h3>xmlSecOpenSSLKeyDataRsaGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The OpenSSL RSA key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28485"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL RSA key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAADOPTRSA"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptRsa ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataRsaAdoptRsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="RSA:CAPS"><span class="TYPE">RSA</span></gtkdoclink> *rsa</code>);</pre> +<p>Sets the value of RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28505"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28510"><span style="white-space: nowrap"><code class="PARAMETER">rsa</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL RSA key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28515"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAGETRSA"></a><h3>xmlSecOpenSSLKeyDataRsaGetRsa ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="RSA:CAPS"><span class="RETURNVALUE">RSA</span></gtkdoclink>* xmlSecOpenSSLKeyDataRsaGetRsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the OpenSSL RSA key from RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28532"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28537"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL RSA key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAADOPTEVP"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataRsaAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +<p>Sets the RSA key data value to OpenSSL EVP key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28557"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28562"><span style="white-space: nowrap"><code class="PARAMETER">pKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL EVP key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28567"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARSAGETEVP"></a><h3>xmlSecOpenSSLKeyDataRsaGetEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* xmlSecOpenSSLKeyDataRsaGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the OpenSSL EVP key from RSA key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28584"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to RSA key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28589"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL EVP key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAMD5ID"></a><h3>xmlSecOpenSSLTransformRsaMd5Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaMd5Id</pre> +<p>The RSA-MD5 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaMd5GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaMd5GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-MD5 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28611"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-MD5 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecOpenSSLTransformRsaRipemd160Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaRipemd160Id</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaRipemd160GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaRipemd160GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-RIPEMD160 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28633"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-RIPEMD160 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA1ID"></a><h3>xmlSecOpenSSLTransformRsaSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha1Id</pre> +<p>The RSA-SHA1 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaSha1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA1 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28655"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA1 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA224ID"></a><h3>xmlSecOpenSSLTransformRsaSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha224Id</pre> +<p>The RSA-SHA224 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaSha224GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA224 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28677"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA224 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA256ID"></a><h3>xmlSecOpenSSLTransformRsaSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha256Id</pre> +<p>The RSA-SHA256 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA256 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28699"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA256 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA384ID"></a><h3>xmlSecOpenSSLTransformRsaSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha384Id</pre> +<p>The RSA-SHA384 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA384 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28721"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA384 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA512ID"></a><h3>xmlSecOpenSSLTransformRsaSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha512Id</pre> +<p>The RSA-SHA512 signature transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-SHA512 signature transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28743"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-SHA512 signature transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAPKCS1ID"></a><h3>xmlSecOpenSSLTransformRsaPkcs1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaPkcs1Id</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaPkcs1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaPkcs1GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-PKCS1 key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28765"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-PKCS1 key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAOAEPID"></a><h3>xmlSecOpenSSLTransformRsaOaepId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaOaepId</pre> +<p>The RSA PKCS1 key transport transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecOpenSSLTransformRsaOaepGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformRsaOaepGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The RSA-OAEP key transport transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28787"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> RSA-OAEP key transport transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA1ID"></a><h3>xmlSecOpenSSLTransformSha1Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha1Id</pre> +<p>The SHA1 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformSha1GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-1 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28809"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-1 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA224ID"></a><h3>xmlSecOpenSSLTransformSha224Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha224Id</pre> +<p>The SHA224 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformSha224GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformSha224GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-224 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28831"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-224 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA256ID"></a><h3>xmlSecOpenSSLTransformSha256Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha256Id</pre> +<p>The SHA256 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformSha256GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformSha256GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-256 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28853"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-256 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA384ID"></a><h3>xmlSecOpenSSLTransformSha384Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha384Id</pre> +<p>The SHA384 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformSha384GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformSha384GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-384 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28875"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-384 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA512ID"></a><h3>xmlSecOpenSSLTransformSha512Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha512Id</pre> +<p>The SHA512 digest transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLTRANSFORMSHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformSha512GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecOpenSSLTransformSha512GetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>SHA-512 digest transform klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN28897"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to SHA-512 digest transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-OPENSSL-ERRORS-LIB:CAPS"></a><h3>XMLSEC_OPENSSL_ERRORS_LIB</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_OPENSSL_ERRORS_LIB (ERR_LIB_USER + 57)</pre> +<p>Macro. The XMLSec library klass for OpenSSL errors reporting functions.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-OPENSSL-ERRORS-FUNCTION:CAPS"></a><h3>XMLSEC_OPENSSL_ERRORS_FUNCTION</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_OPENSSL_ERRORS_FUNCTION 0</pre> +<p>Macro. The XMLSec library functions OpenSSL errors reporting functions.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLERRORSDEFAULTCALLBACK"></a><h3>xmlSecOpenSSLErrorsDefaultCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecOpenSSLErrorsDefaultCallback (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> line</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *func</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorObject</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *errorSubject</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> reason</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *msg</code>);</pre> +<p>The default OpenSSL errors reporting callback function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28944"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location file name (__FILE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28949"><span style="white-space: nowrap"><code class="PARAMETER">line</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location line number (__LINE__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28954"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error location function name (__FUNCTION__ macro).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28959"><span style="white-space: nowrap"><code class="PARAMETER">errorObject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error object</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28964"><span style="white-space: nowrap"><code class="PARAMETER">errorSubject</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error specific error subject.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28969"><span style="white-space: nowrap"><code class="PARAMETER">reason</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the error code.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN28974"><span style="white-space: nowrap"><code class="PARAMETER">msg</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the additional error message.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-bn.html"><b><<< bn</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-evp.html"><b>evp >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl-evp.html b/docs/api/xmlsec-openssl-evp.html new file mode 100644 index 00000000..bb59357b --- /dev/null +++ b/docs/api/xmlsec-openssl-evp.html @@ -0,0 +1,184 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>evp</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="PREVIOUS" title="crypto" href="xmlsec-openssl-crypto.html"> +<link rel="NEXT" title="x509" href="xmlsec-openssl-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-crypto.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-OPENSSL-EVP"></a>evp</h1> +<div class="REFNAMEDIV"> +<a name="AEN28984"></a><h2>Name</h2>evp -- EVP keys data implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-OPENSSL-EVP.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAADOPTEVP">xmlSecOpenSSLEvpKeyDataAdoptEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>); +<gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* <a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAGETEVP">xmlSecOpenSSLEvpKeyDataGetEvp</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* <a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDUP">xmlSecOpenSSLEvpKeyDup</a> (<code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYADOPT">xmlSecOpenSSLEvpKeyAdopt</a> (<code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-EVP.DESCRIPTION"></a><h2>Description</h2> +<p>EVP keys data implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-EVP.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLEVPKEYDATAADOPTEVP"></a><h3>xmlSecOpenSSLEvpKeyDataAdoptEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLEvpKeyDataAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +<p>Sets the value of key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29037"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL EVP key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29042"><span style="white-space: nowrap"><code class="PARAMETER">pKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to EVP key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29047"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLEVPKEYDATAGETEVP"></a><h3>xmlSecOpenSSLEvpKeyDataGetEvp ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* xmlSecOpenSSLEvpKeyDataGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the EVP_PKEY from the key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29064"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL EVP data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29069"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to EVP_PKEY or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLEVPKEYDUP"></a><h3>xmlSecOpenSSLEvpKeyDup ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="EVP-PKEY:CAPS"><span class="RETURNVALUE">EVP_PKEY</span></gtkdoclink>* xmlSecOpenSSLEvpKeyDup (<code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +<p>Duplicates <code class="PARAMETER">pKey</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29087"><span style="white-space: nowrap"><code class="PARAMETER">pKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to EVP_PKEY.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29092"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created EVP_PKEY object or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLEVPKEYADOPT"></a><h3>xmlSecOpenSSLEvpKeyAdopt ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecOpenSSLEvpKeyAdopt (<code class="PARAMETER"><gtkdoclink href="EVP-PKEY:CAPS"><span class="TYPE">EVP_PKEY</span></gtkdoclink> *pKey</code>);</pre> +<p>Creates xmlsec key object from OpenSSL key object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29109"><span style="white-space: nowrap"><code class="PARAMETER">pKey</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to EVP_PKEY.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29114"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created xmlsec key or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-crypto.html"><b><<< crypto</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-x509.html"><b>x509 >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl-ref.html b/docs/api/xmlsec-openssl-ref.html new file mode 100644 index 00000000..9a844c97 --- /dev/null +++ b/docs/api/xmlsec-openssl-ref.html @@ -0,0 +1,113 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library for OpenSLL API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="x509" href="xmlsec-x509.html"> +<link rel="NEXT" title="app" href="xmlsec-openssl-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-OPENSSL-REF"></a>XML Security Library for OpenSLL API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-openssl-app.html">app</a> -- Application functions implementation for OpenSSL.</dt> +<dt> +<a href="xmlsec-openssl-bn.html">bn</a> -- Big numbers helper functions.</dt> +<dt> +<a href="xmlsec-openssl-crypto.html">crypto</a> -- Crypto transforms implementation for OpenSSL.</dt> +<dt> +<a href="xmlsec-openssl-evp.html">evp</a> -- EVP keys data implementation.</dt> +<dt> +<a href="xmlsec-openssl-x509.html">x509</a> -- X509 certificates support implementation for OpenSSL.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec-openssl. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-x509.html"><b><<< x509</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl-x509.html b/docs/api/xmlsec-openssl-x509.html new file mode 100644 index 00000000..336f5a43 --- /dev/null +++ b/docs/api/xmlsec-openssl-x509.html @@ -0,0 +1,567 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>x509</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<link rel="PREVIOUS" title="evp" href="xmlsec-openssl-evp.html"> +<link rel="NEXT" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-openssl-evp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-gnutls-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-OPENSSL-X509"></a>x509</h1> +<div class="REFNAMEDIV"> +<a name="AEN29124"></a><h2>Name</h2>x509 -- X509 certificates support implementation for OpenSSL.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-OPENSSL-X509.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS">XMLSEC_STACK_OF_X509</a> +#define <a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS">XMLSEC_STACK_OF_X509_CRL</a> +#define <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ID">xmlSecOpenSSLKeyDataX509Id</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKLASS">xmlSecOpenSSLKeyDataX509GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKEYCERT">xmlSecOpenSSLKeyDataX509GetKeyCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCERT">xmlSecOpenSSLKeyDataX509AdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>); +<gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERT">xmlSecOpenSSLKeyDataX509GetCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERTSSIZE">xmlSecOpenSSLKeyDataX509GetCertsSize</a> + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCRL">xmlSecOpenSSLKeyDataX509AdoptCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509-CRL:CAPS"><span class="TYPE">X509_CRL</span></gtkdoclink> *crl</code>); +<gtkdoclink href="X509-CRL:CAPS"><span class="RETURNVALUE">X509_CRL</span></gtkdoclink>* <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRL">xmlSecOpenSSLKeyDataX509GetCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>); +<a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRLSSIZE">xmlSecOpenSSLKeyDataX509GetCrlsSize</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>); +<a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509CERTGETKEY">xmlSecOpenSSLX509CertGetKey</a> (<code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>); +#define <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTID">xmlSecOpenSSLKeyDataRawX509CertId</a> +<gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREID">xmlSecOpenSSLX509StoreId</a> +<gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREGETKLASS">xmlSecOpenSSLX509StoreGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREFINDCERT">xmlSecOpenSSLX509StoreFindCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *subjectName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerSerial</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ski</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>); +<gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* <a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREVERIFY">xmlSecOpenSSLX509StoreVerify</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509</span></a> *certs</code>, + <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509_CRL</span></a> *crls</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCERT">xmlSecOpenSSLX509StoreAdoptCert</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCRL">xmlSecOpenSSLX509StoreAdoptCrl</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="X509-CRL:CAPS"><span class="TYPE">X509_CRL</span></gtkdoclink> *crl</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSPATH">xmlSecOpenSSLX509StoreAddCertsPath</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *path</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSFILE">xmlSecOpenSSLX509StoreAddCertsFile</a> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-X509.DESCRIPTION"></a><h2>Description</h2> +<p>X509 certificates support implementation for OpenSSL.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-OPENSSL-X509.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-STACK-OF-X509:CAPS"></a><h3>XMLSEC_STACK_OF_X509</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_STACK_OF_X509 STACK_OF(X509)</pre> +<p>Macro. To make docbook happy.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-STACK-OF-X509-CRL:CAPS"></a><h3>XMLSEC_STACK_OF_X509_CRL</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_STACK_OF_X509_CRL STACK_OF(X509_CRL)</pre> +<p>Macro. To make docbook happy.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509ID"></a><h3>xmlSecOpenSSLKeyDataX509Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataX509Id</pre> +<p>The OpenSSL X509 data klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETKLASS"></a><h3>xmlSecOpenSSLKeyDataX509GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The OpenSSL X509 key data klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-X509DATA"><span class="TYPE">sec-X509Data</span></gtkdoclink>).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN29330"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the X509 data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETKEYCERT"></a><h3>xmlSecOpenSSLKeyDataX509GetKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* xmlSecOpenSSLKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the certificate from which the key was extracted.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29347"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29352"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the key's certificate or NULL if key data was not used for key +extraction or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecOpenSSLKeyDataX509AdoptKeyCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataX509AdoptKeyCert + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>);</pre> +<p>Sets the key's certificate in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29373"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29378"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29383"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509ADOPTCERT"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>);</pre> +<p>Adds certificate to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29403"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29408"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29413"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETCERT"></a><h3>xmlSecOpenSSLKeyDataX509GetCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* xmlSecOpenSSLKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a certificate from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29433"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29438"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29443"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code> is larger than the +number of certificates in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecOpenSSLKeyDataX509GetCertsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecOpenSSLKeyDataX509GetCertsSize + (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of certificates in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29463"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of certificates in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509ADOPTCRL"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><gtkdoclink href="X509-CRL:CAPS"><span class="TYPE">X509_CRL</span></gtkdoclink> *crl</code>);</pre> +<p>Adds CRL to the X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29489"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29494"><span style="white-space: nowrap"><code class="PARAMETER">crl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL X509 CRL.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29499"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETCRL"></a><h3>xmlSecOpenSSLKeyDataX509GetCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="X509-CRL:CAPS"><span class="RETURNVALUE">X509_CRL</span></gtkdoclink>* xmlSecOpenSSLKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre> +<p>Gets a CRL from X509 key data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29519"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29524"><span style="white-space: nowrap"><code class="PARAMETER">pos</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired CRL position.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29529"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code> is larger than the +number of CRLs in <code class="PARAMETER">data</code> or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecOpenSSLKeyDataX509GetCrlsSize ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a> xmlSecOpenSSLKeyDataX509GetCrlsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre> +<p>Gets the number of CRLs in <code class="PARAMETER">data</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29549"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29554"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> te number of CRLs in <code class="PARAMETER">data</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509CERTGETKEY"></a><h3>xmlSecOpenSSLX509CertGetKey ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a> xmlSecOpenSSLX509CertGetKey (<code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>);</pre> +<p>Extracts public key from the <code class="PARAMETER">cert</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29573"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29578"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> public key value or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARAWX509CERTID"></a><h3>xmlSecOpenSSLKeyDataRawX509CertId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataRawX509CertId</pre> +<p>The OpenSSL raw X509 certificate klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecOpenSSLKeyDataRawX509CertGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAID"><span class="RETURNVALUE">xmlSecKeyDataId</span></gtkdoclink> xmlSecOpenSSLKeyDataRawX509CertGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The raw X509 certificates key data klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN29600"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> raw X509 certificates key data klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREID"></a><h3>xmlSecOpenSSLX509StoreId</h3> +<pre class="PROGRAMLISTING">#define xmlSecOpenSSLX509StoreId</pre> +<p>The OpenSSL X509 store klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREGETKLASS"></a><h3>xmlSecOpenSSLX509StoreGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATASTOREID"><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></gtkdoclink> xmlSecOpenSSLX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The OpenSSL X509 certificates key data store klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN29622"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to OpenSSL X509 certificates key data store klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREFINDCERT"></a><h3>xmlSecOpenSSLX509StoreFindCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* xmlSecOpenSSLX509StoreFindCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *subjectName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerSerial</code>, + <code class="PARAMETER"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ski</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre> +<p>Searches <code class="PARAMETER">store</code> for a certificate that matches given criteria.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29655"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29660"><span style="white-space: nowrap"><code class="PARAMETER">subjectName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29665"><span style="white-space: nowrap"><code class="PARAMETER">issuerName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate issuer name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29670"><span style="white-space: nowrap"><code class="PARAMETER">issuerSerial</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate issuer serial number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29675"><span style="white-space: nowrap"><code class="PARAMETER">ski</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired certificate SKI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29680"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29686"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to found certificate or NULL if certificate is not found +or an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREVERIFY"></a><h3>xmlSecOpenSSLX509StoreVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="X509:CAPS"><span class="RETURNVALUE">X509</span></gtkdoclink>* xmlSecOpenSSLX509StoreVerify (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509</span></a> *certs</code>, + <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509_CRL</span></a> *crls</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre> +<p>Verifies <code class="PARAMETER">certs</code> list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29713"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29718"><span style="white-space: nowrap"><code class="PARAMETER">certs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the untrusted certificates stack.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29723"><span style="white-space: nowrap"><code class="PARAMETER">crls</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the crls stack.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29728"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29734"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the first verified certificate from <code class="PARAMETER">certs</code>.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREADOPTCERT"></a><h3>xmlSecOpenSSLX509StoreAdoptCert ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="X509:CAPS"><span class="TYPE">X509</span></gtkdoclink> *cert</code>, + <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre> +<p>Adds trusted (root) or untrusted certificate to the store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29758"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29763"><span style="white-space: nowrap"><code class="PARAMETER">cert</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL X509 certificate.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29768"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certificate type (trusted/untrusted).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29773"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREADOPTCRL"></a><h3>xmlSecOpenSSLX509StoreAdoptCrl ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLX509StoreAdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER"><gtkdoclink href="X509-CRL:CAPS"><span class="TYPE">X509_CRL</span></gtkdoclink> *crl</code>);</pre> +<p>Adds X509 CRL to the store.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29793"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to X509 key data store klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29798"><span style="white-space: nowrap"><code class="PARAMETER">crl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL X509_CRL.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29803"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREADDCERTSPATH"></a><h3>xmlSecOpenSSLX509StoreAddCertsPath ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLX509StoreAddCertsPath (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *path</code>);</pre> +<p>Adds all certs in the <code class="PARAMETER">path</code> to the list of trusted certs +in <code class="PARAMETER">store</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29825"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL x509 store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29830"><span style="white-space: nowrap"><code class="PARAMETER">path</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the path to the certs dir.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29835"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECOPENSSLX509STOREADDCERTSFILE"></a><h3>xmlSecOpenSSLX509StoreAddCertsFile ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecOpenSSLX509StoreAddCertsFile (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>, + <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *file</code>);</pre> +<p>Adds all certs in <code class="PARAMETER">file</code> to the list of trusted certs +in <code class="PARAMETER">store</code>. It is possible for <code class="PARAMETER">file</code> to contain multiple certs.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29858"><span style="white-space: nowrap"><code class="PARAMETER">store</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to OpenSSL x509 store.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29863"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the certs file.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN29868"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-openssl-evp.html"><b><<< evp</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-gnutls-ref.html"><b>XML Security Library for GnuTLS API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-openssl.sgml b/docs/api/xmlsec-openssl.sgml new file mode 100644 index 00000000..0a6f5048 --- /dev/null +++ b/docs/api/xmlsec-openssl.sgml @@ -0,0 +1,21 @@ +<!doctype book PUBLIC "-//DavenPort//DTD DocBook V3.0//EN" [ +<!ENTITY xmlsec-openssl-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-openssl-bn SYSTEM "sgml/bn.sgml"> +<!ENTITY xmlsec-openssl-crypto SYSTEM "sgml/crypto.sgml"> +<!ENTITY xmlsec-openssl-evp SYSTEM "sgml/evp.sgml"> +<!ENTITY xmlsec-openssl-x509 SYSTEM "sgml/x509.sgml"> +]> +<book id="index"> + <bookinfo> + <title>[Insert name here] Reference Manual</title> + </bookinfo> + + <chapter> + <title>[Insert title here]</title> + &xmlsec-openssl-app; + &xmlsec-openssl-bn; + &xmlsec-openssl-crypto; + &xmlsec-openssl-evp; + &xmlsec-openssl-x509; + </chapter> +</book> diff --git a/docs/api/xmlsec-parser.html b/docs/api/xmlsec-parser.html new file mode 100644 index 00000000..cb9fa070 --- /dev/null +++ b/docs/api/xmlsec-parser.html @@ -0,0 +1,223 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>parser</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="nodeset" href="xmlsec-nodeset.html"> +<link rel="NEXT" title="templates" href="xmlsec-templates.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-nodeset.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-templates.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-PARSER"></a>parser</h1> +<div class="REFNAMEDIV"> +<a name="AEN14575"></a><h2>Name</h2>parser -- Parser transform implementation.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-PARSER.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink><a href="xmlsec-parser.html#XMLSECPARSEFILE">xmlSecParseFile</a> (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>); +<gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink><a href="xmlsec-parser.html#XMLSECPARSEMEMORY">xmlSecParseMemory</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> recovery</code>); +<gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink><a href="xmlsec-parser.html#XMLSECPARSEMEMORYEXT">xmlSecParseMemoryExt</a> (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> prefixSize</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufferSize</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *postfix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> postfixSize</code>); +#define <a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERID">xmlSecTransformXmlParserId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERGETKLASS">xmlSecTransformXmlParserGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-PARSER.DESCRIPTION"></a><h2>Description</h2> +<p>Parser transform implementation.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-PARSER.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECPARSEFILE"></a><h3>xmlSecParseFile ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink> xmlSecParseFile (<code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>);</pre> +<p>Loads XML Doc from file <code class="PARAMETER">filename</code>. We need a special version because of +c14n issue. The code is copied from <gtkdoclink href="XMLSAXPARSEFILEWITHDATA"><code class="FUNCTION">xmlSAXParseFileWithData()</code></gtkdoclink> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14646"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the filename.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14651"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the loaded XML document or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPARSEMEMORY"></a><h3>xmlSecParseMemory ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink> xmlSecParseMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> recovery</code>);</pre> +<p>Loads XML Doc from memory. We need a special version because of +c14n issue. The code is copied from <gtkdoclink href="XMLSAXPARSEMEMORY"><code class="FUNCTION">xmlSAXParseMemory()</code></gtkdoclink> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14676"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14681"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14686"><span style="white-space: nowrap"><code class="PARAMETER">recovery</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14691"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the loaded XML document or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPARSEMEMORYEXT"></a><h3>xmlSecParseMemoryExt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink> xmlSecParseMemoryExt (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> prefixSize</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufferSize</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *postfix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> postfixSize</code>);</pre> +<p>Loads XML Doc from 3 chunks of memory: <code class="PARAMETER">prefix</code>, <code class="PARAMETER">buffer</code> and <code class="PARAMETER">postfix</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14726"><span style="white-space: nowrap"><code class="PARAMETER">prefix</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the first part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14731"><span style="white-space: nowrap"><code class="PARAMETER">prefixSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the first part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14736"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the second part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14741"><span style="white-space: nowrap"><code class="PARAMETER">bufferSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the second part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14746"><span style="white-space: nowrap"><code class="PARAMETER">postfix</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the third part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14751"><span style="white-space: nowrap"><code class="PARAMETER">postfixSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the third part of the input.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN14756"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the loaded XML document or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXMLPARSERID"></a><h3>xmlSecTransformXmlParserId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXmlParserId</pre> +<p>The XML Parser transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXMLPARSERGETKLASS"></a><h3>xmlSecTransformXmlParserGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXmlParserGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XML parser transform.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN14778"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XML parser transform klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-nodeset.html"><b><<< nodeset</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-templates.html"><b>templates >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-ref.html b/docs/api/xmlsec-ref.html new file mode 100644 index 00000000..0401ee3a --- /dev/null +++ b/docs/api/xmlsec-ref.html @@ -0,0 +1,149 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Core Library API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="PREVIOUS" title="XML Security Library API Reference." href="xmlsec-reference.html"> +<link rel="NEXT" title="app" href="xmlsec-app.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-reference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-app.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-REF"></a>XML Security Core Library API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt> +<a href="xmlsec-app.html">app</a> -- Crypto-engine independent application support function.</dt> +<dt> +<a href="xmlsec-base64.html">base64</a> -- Base64 encoding/decoding functions.</dt> +<dt> +<a href="xmlsec-bn.html">bn</a> -- Big numbers support functions.</dt> +<dt> +<a href="xmlsec-buffer.html">buffer</a> -- Binary buffer implementation.</dt> +<dt> +<a href="xmlsec-dl.html">dl</a> -- Dynamic crypto-engine library loading support.</dt> +<dt> +<a href="xmlsec-errors.html">errors</a> -- Error/log messages support.</dt> +<dt> +<a href="xmlsec-io.html">io</a> -- Input/output support.</dt> +<dt> +<a href="xmlsec-keyinfo.html">keyinfo</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</dt> +<dt> +<a href="xmlsec-keysdata.html">keysdata</a> -- Crypto key data object definition.</dt> +<dt> +<a href="xmlsec-keys.html">keys</a> -- Crypto key object definition.</dt> +<dt> +<a href="xmlsec-keysmngr.html">keysmngr</a> -- Keys manager object support.</dt> +<dt> +<a href="xmlsec-list.html">list</a> -- Generic list structure implementation.</dt> +<dt> +<a href="xmlsec-membuf.html">membuf</a> -- Memory buffer transform implementation.</dt> +<dt> +<a href="xmlsec-nodeset.html">nodeset</a> -- Nodeset object implementation.</dt> +<dt> +<a href="xmlsec-parser.html">parser</a> -- Parser transform implementation.</dt> +<dt> +<a href="xmlsec-templates.html">templates</a> -- Dynamic templates creation functions.</dt> +<dt> +<a href="xmlsec-transforms.html">transforms</a> -- Transform object definition.</dt> +<dt> +<a href="xmlsec-version.html">version</a> -- Version macros.</dt> +<dt> +<a href="xmlsec-xmldsig.html">xmldsig</a> -- XML Digital Signature support.</dt> +<dt> +<a href="xmlsec-xmlenc.html">xmlenc</a> -- XML Encryption support.</dt> +<dt> +<a href="xmlsec-xmlsec.html">xmlsec</a> -- Utility functions.</dt> +<dt> +<a href="xmlsec-xmltree.html">xmltree</a> -- XML tree operations.</dt> +<dt> +<a href="xmlsec-x509.html">x509</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</dt> +</dl></div> +<p>This section contains the API reference for xmlsec. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </p> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-reference.html"><b><<< XML Security Library API Reference.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-app.html"><b>app >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-reference.html b/docs/api/xmlsec-reference.html new file mode 100644 index 00000000..0efbc524 --- /dev/null +++ b/docs/api/xmlsec-reference.html @@ -0,0 +1,106 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>XML Security Library API Reference.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="PREVIOUS" title="APPENDIX B. XML Security Library Encryption Klasses." href="xmlsec-encryption-klasses.html"> +<link rel="NEXT" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-encryption-klasses.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="PART"> +<a name="XMLSEC-REFERENCE"></a><div class="TITLEPAGE"> +<h1 class="TITLE">II. XML Security Library API Reference.</h1> +<div class="TOC"><dl> +<dt><b>Table of Contents</b></dt> +<dt><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></dt> +<dt><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></dt> +<dt><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></dt> +<dt><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></dt> +<dt><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></dt> +<dt><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></dt> +<dt><a href="xmlsec-index.html">XML Security Library Reference Index</a></dt> +</dl></div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-encryption-klasses.html"><b><<< APPENDIX B. XML Security Library Encryption Klasses.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-ref.html"><b>XML Security Core Library API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-signature-klasses.html b/docs/api/xmlsec-signature-klasses.html new file mode 100644 index 00000000..e066a700 --- /dev/null +++ b/docs/api/xmlsec-signature-klasses.html @@ -0,0 +1,101 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>APPENDIX A. XML Security Library Signature Klasses.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html"> +<link rel="PREVIOUS" title="Writing a custom keys manager." href="xmlsec-custom-keys-manager.html"> +<link rel="NEXT" title="APPENDIX B. XML Security Library Encryption Klasses." href="xmlsec-encryption-klasses.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-custom-keys-manager.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-encryption-klasses.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<div class="CHAPTER"> +<h1> +<a name="XMLSEC-SIGNATURE-KLASSES"></a>APPENDIX A. XML Security Library Signature Klasses.</h1> +<div class="FIGURE"> +<a name="AEN818"></a><p><b>Figure 1. XML Security Library Signature Klasses.</b></p> +<p><img src="images/signature-structure.png" align="CENTER"></p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-custom-keys-manager.html"><b><<< Writing a custom keys manager.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-encryption-klasses.html"><b>APPENDIX B. XML Security Library Encryption Klasses. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-templates.html b/docs/api/xmlsec-templates.html new file mode 100644 index 00000000..b689ab35 --- /dev/null +++ b/docs/api/xmlsec-templates.html @@ -0,0 +1,1290 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>templates</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="parser" href="xmlsec-parser.html"> +<link rel="NEXT" title="transforms" href="xmlsec-transforms.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-transforms.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-TEMPLATES"></a>templates</h1> +<div class="REFNAMEDIV"> +<a name="AEN14788"></a><h2>Name</h2>templates -- Dynamic templates creation functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-TEMPLATES.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATE">xmlSecTmplSignatureCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> c14nMethodId</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> signMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATENSPREF">xmlSecTmplSignatureCreateNsPref</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> c14nMethodId</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> signMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nsPrefix</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREENSUREKEYINFO">xmlSecTmplSignatureEnsureKeyInfo</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDREFERENCE">xmlSecTmplSignatureAddReference</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> digestMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDOBJECT">xmlSecTmplSignatureAddObject</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *mimeType</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *encoding</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETSIGNMETHODNODE">xmlSecTmplSignatureGetSignMethodNode</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETC14NMETHODNODE">xmlSecTmplSignatureGetC14NMethodNode</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLREFERENCEADDTRANSFORM">xmlSecTmplReferenceAddTransform</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> referenceNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDSIGNPROPERTIES">xmlSecTmplObjectAddSignProperties</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> objectNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *target</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDMANIFEST">xmlSecTmplObjectAddManifest</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> objectNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLMANIFESTADDREFERENCE">xmlSecTmplManifestAddReference</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> manifestNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> digestMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATACREATE">xmlSecTmplEncDataCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> encMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *mimeType</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *encoding</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREKEYINFO">xmlSecTmplEncDataEnsureKeyInfo</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREENCPROPERTIES">xmlSecTmplEncDataEnsureEncProperties</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAADDENCPROPERTY">xmlSecTmplEncDataAddEncProperty</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *target</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERVALUE">xmlSecTmplEncDataEnsureCipherValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERREFERENCE">xmlSecTmplEncDataEnsureCipherReference</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLENCDATAGETENCMETHODNODE">xmlSecTmplEncDataGetEncMethodNode</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLCIPHERREFERENCEADDTRANSFORM">xmlSecTmplCipherReferenceAddTransform</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cipherReferenceNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDDATAREFERENCE">xmlSecTmplReferenceListAddDataReference</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDKEYREFERENCE">xmlSecTmplReferenceListAddKeyReference</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYNAME">xmlSecTmplKeyInfoAddKeyName</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYVALUE">xmlSecTmplKeyInfoAddKeyValue</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDX509DATA">xmlSecTmplKeyInfoAddX509Data</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDRETRIEVALMETHOD">xmlSecTmplKeyInfoAddRetrievalMethod</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLRETRIEVALMETHODADDTRANSFORM">xmlSecTmplRetrievalMethodAddTransform</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> retrMethodNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDENCRYPTEDKEY">xmlSecTmplKeyInfoAddEncryptedKey</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> encMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *recipient</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDISSUERSERIAL">xmlSecTmplX509DataAddIssuerSerial</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDISSUERNAME">xmlSecTmplX509IssuerSerialAddIssuerName</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509IssuerSerialNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>); +<gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER">xmlSecTmplX509IssuerSerialAddSerialNumber</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509IssuerSerialNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *serial</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSUBJECTNAME">xmlSecTmplX509DataAddSubjectName</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSKI">xmlSecTmplX509DataAddSKI</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCERTIFICATE">xmlSecTmplX509DataAddCertificate</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCRL">xmlSecTmplX509DataAddCRL</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH">xmlSecTmplTransformAddHmacOutputLength</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bitsLen</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDRSAOAEPPARAM">xmlSecTmplTransformAddRsaOaepParam</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET">xmlSecTmplTransformAddXsltStylesheet</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *xslt</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES">xmlSecTmplTransformAddC14NInclNamespaces</a> + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefixList</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH">xmlSecTmplTransformAddXPath</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH2">xmlSecTmplTransformAddXPath2</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPOINTER">xmlSecTmplTransformAddXPointer</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TEMPLATES.DESCRIPTION"></a><h2>Description</h2> +<p>Dynamic templates creation functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TEMPLATES.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATURECREATE"></a><h3>xmlSecTmplSignatureCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureCreate (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> c14nMethodId</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> signMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Creates new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node with the mandatory <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a>, +<a href="http://www.w3.org/TR/xmldsig-core/#sec-CanonicalizationMethod" target="_top"><dsig:CanonicalizationMethod/></a>, <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureMethod" target="_top"><dsig:SignatureMethod/></a> and +<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a> children and sub-children. +The application is responsible for inserting the returned node +in the XML document.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15245"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature document or NULL; in the + second case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code> + to ensure that all the children nodes have correct + pointer to XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15251"><span style="white-space: nowrap"><code class="PARAMETER">c14nMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature canonicalization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15256"><span style="white-space: nowrap"><code class="PARAMETER">signMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15261"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15266"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node or NULL if an +error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATURECREATENSPREF"></a><h3>xmlSecTmplSignatureCreateNsPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureCreateNsPref (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> c14nMethodId</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> signMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nsPrefix</code>);</pre> +<p>Creates new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node with the mandatory +<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a>, <a href="http://www.w3.org/TR/xmldsig-core/#sec-CanonicalizationMethod" target="_top"><dsig:CanonicalizationMethod/></a>, +<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureMethod" target="_top"><dsig:SignatureMethod/></a> and <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a> children and +sub-children. This method differs from xmlSecTmplSignatureCreate in +that it will define the http://www.w3.org/2000/09/xmldsig# +namespace with the given prefix that will be used for all of the +appropriate child nodes. The application is responsible for +inserting the returned node in the XML document.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15301"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature document or NULL; in the + second case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code> + to ensure that all the children nodes have correct + pointer to XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15307"><span style="white-space: nowrap"><code class="PARAMETER">c14nMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature canonicalization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15312"><span style="white-space: nowrap"><code class="PARAMETER">signMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15317"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15322"><span style="white-space: nowrap"><code class="PARAMETER">nsPrefix</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the namespace prefix for the signature element (e.g. "dsig"), or NULL</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15327"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node or NULL if an +error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATUREENSUREKEYINFO"></a><h3>xmlSecTmplSignatureEnsureKeyInfo ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureEnsureKeyInfo (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Adds (if necessary) <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> +node <code class="PARAMETER">signNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15351"><span style="white-space: nowrap"><code class="PARAMETER">signNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15357"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15362"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node or NULL if an +error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATUREADDREFERENCE"></a><h3>xmlSecTmplSignatureAddReference ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureAddReference (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> digestMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node with given URI (<code class="PARAMETER">uri</code>), Id (<code class="PARAMETER">id</code>) and +Type (<code class="PARAMETER">type</code>) attributes and the required children <a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestMethod" target="_top"><dsig:DigestMethod/></a> and +<a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestValue" target="_top"><dsig:DigestValue/></a> to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> child of <code class="PARAMETER">signNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15400"><span style="white-space: nowrap"><code class="PARAMETER">signNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15406"><span style="white-space: nowrap"><code class="PARAMETER">digestMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference digest method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15411"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15416"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference node uri (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15421"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference node type (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15426"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATUREADDOBJECT"></a><h3>xmlSecTmplSignatureAddObject ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureAddObject (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *mimeType</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *encoding</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node <code class="PARAMETER">signNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15456"><span style="white-space: nowrap"><code class="PARAMETER">signNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15462"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15467"><span style="white-space: nowrap"><code class="PARAMETER">mimeType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the object mime type (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15472"><span style="white-space: nowrap"><code class="PARAMETER">encoding</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the object encoding (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15477"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATUREGETSIGNMETHODNODE"></a><h3>xmlSecTmplSignatureGetSignMethodNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureGetSignMethodNode + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>);</pre> +<p>Gets pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureMethod" target="_top"><dsig:SignatureMethod/></a> child of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15497"><span style="white-space: nowrap"><code class="PARAMETER">signNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature%20" target="_top"><dsig:Signature /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15503"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureMethod%20" target="_top"><dsig:SignatureMethod /></a> node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLSIGNATUREGETC14NMETHODNODE"></a><h3>xmlSecTmplSignatureGetC14NMethodNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplSignatureGetC14NMethodNode + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> signNode</code>);</pre> +<p>Gets pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-CanonicalizationMethod" target="_top"><dsig:CanonicalizationMethod/></a> child of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15523"><span style="white-space: nowrap"><code class="PARAMETER">signNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature%20" target="_top"><dsig:Signature /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15529"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-CanonicalizationMethod%20" target="_top"><dsig:CanonicalizationMethod /></a> node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLREFERENCEADDTRANSFORM"></a><h3>xmlSecTmplReferenceAddTransform ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplReferenceAddTransform (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> referenceNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node <code class="PARAMETER">referenceNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15553"><span style="white-space: nowrap"><code class="PARAMETER">referenceNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15559"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform method id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15564"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node or NULL if an +error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLOBJECTADDSIGNPROPERTIES"></a><h3>xmlSecTmplObjectAddSignProperties ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplObjectAddSignProperties (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> objectNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *target</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureProperties" target="_top"><dsig:SignatureProperties/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node <code class="PARAMETER">objectNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15591"><span style="white-space: nowrap"><code class="PARAMETER">objectNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15597"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15602"><span style="white-space: nowrap"><code class="PARAMETER">target</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Target (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15607"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureProperties" target="_top"><dsig:SignatureProperties/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLOBJECTADDMANIFEST"></a><h3>xmlSecTmplObjectAddManifest ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplObjectAddManifest (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> objectNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node <code class="PARAMETER">objectNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15631"><span style="white-space: nowrap"><code class="PARAMETER">objectNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Object" target="_top"><dsig:Object/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15637"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15642"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLMANIFESTADDREFERENCE"></a><h3>xmlSecTmplManifestAddReference ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplManifestAddReference (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> manifestNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> digestMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node with specified URI (<code class="PARAMETER">uri</code>), Id (<code class="PARAMETER">id</code>) and +Type (<code class="PARAMETER">type</code>) attributes and the required children <a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestMethod" target="_top"><dsig:DigestMethod/></a> and +<a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestValue" target="_top"><dsig:DigestValue/></a> to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node <code class="PARAMETER">manifestNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15680"><span style="white-space: nowrap"><code class="PARAMETER">manifestNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15686"><span style="white-space: nowrap"><code class="PARAMETER">digestMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference digest method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15691"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node id (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15696"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference node uri (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15701"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference node type (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15706"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATACREATE"></a><h3>xmlSecTmplEncDataCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataCreate (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> encMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *mimeType</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *encoding</code>);</pre> +<p>Creates new <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData%20" target="_top"><enc:EncryptedData /></a> node for encryption template.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15740"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature document or NULL; in the later + case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code> to ensure + that all the children nodes have correct pointer to XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15746"><span style="white-space: nowrap"><code class="PARAMETER">encMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption method (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15751"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Id attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15756"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Type attribute (optional)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15761"><span style="white-space: nowrap"><code class="PARAMETER">mimeType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the MimeType attribute (optional)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15766"><span style="white-space: nowrap"><code class="PARAMETER">encoding</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Encoding attribute (optional)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15771"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node or NULL +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAENSUREKEYINFO"></a><h3>xmlSecTmplEncDataEnsureKeyInfo ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataEnsureKeyInfo (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> to the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15795"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15801"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Id attrbibute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15806"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAENSUREENCPROPERTIES"></a><h3>xmlSecTmplEncDataEnsureEncProperties ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataEnsureEncProperties + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionProperties" target="_top"><enc:EncryptionProperties/></a> node to the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> +node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15830"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15836"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Id attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15841"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionProperties" target="_top"><enc:EncryptionProperties/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAADDENCPROPERTY"></a><h3>xmlSecTmplEncDataAddEncProperty ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataAddEncProperty (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *target</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionProperty" target="_top"><enc:EncryptionProperty/></a> node (and the parent +<a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionProperties" target="_top"><enc:EncryptionProperties/></a> node if required) to the +<a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15869"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15875"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Id attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15880"><span style="white-space: nowrap"><code class="PARAMETER">target</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Target attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15885"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionProperty" target="_top"><enc:EncryptionProperty/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAENSURECIPHERVALUE"></a><h3>xmlSecTmplEncDataEnsureCipherValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataEnsureCipherValue (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> to the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15906"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15912"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAENSURECIPHERREFERENCE"></a><h3>xmlSecTmplEncDataEnsureCipherReference ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataEnsureCipherReference + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherReference" target="_top"><enc:CipherReference/></a> node with specified URI attribute <code class="PARAMETER">uri</code> +to the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15937"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15943"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI attribute (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15948"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherReference" target="_top"><enc:CipherReference/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLENCDATAGETENCMETHODNODE"></a><h3>xmlSecTmplEncDataGetEncMethodNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplEncDataGetEncMethodNode (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>);</pre> +<p>Gets pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncrytpionMethod" target="_top"><enc:EncrytpionMethod/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15967"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EcnryptedData%20" target="_top"><enc:EcnryptedData /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN15973"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionMethod%20" target="_top"><enc:EncryptionMethod /></a> node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLCIPHERREFERENCEADDTRANSFORM"></a><h3>xmlSecTmplCipherReferenceAddTransform ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplCipherReferenceAddTransform + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cipherReferenceNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node (and the parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transforms" target="_top"><dsig:Transforms/></a> node) +with specified transform methods <code class="PARAMETER">transform</code> to the <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherReference" target="_top"><enc:CipherReference/></a> +child node of the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node <code class="PARAMETER">encNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16000"><span style="white-space: nowrap"><code class="PARAMETER">cipherReferenceNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherReference" target="_top"><enc:CipherReference/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16006"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16011"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLREFERENCELISTADDDATAREFERENCE"></a><h3>xmlSecTmplReferenceListAddDataReference ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplReferenceListAddDataReference + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-DataReference" target="_top"><enc:DataReference/></a> and the parent <a href="http://www.w3.org/TR/xmlenc-core/#sec-ReferenceList" target="_top"><enc:ReferenceList/></a> node (if needed).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16034"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16040"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>uri to reference (optional)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16045"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-DataReference" target="_top"><enc:DataReference/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLREFERENCELISTADDKEYREFERENCE"></a><h3>xmlSecTmplReferenceListAddKeyReference ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplReferenceListAddKeyReference + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> encNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-KeyReference" target="_top"><enc:KeyReference/></a> and the parent <a href="http://www.w3.org/TR/xmlenc-core/#sec-ReferenceList" target="_top"><enc:ReferenceList/></a> node (if needed).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16068"><span style="white-space: nowrap"><code class="PARAMETER">encNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16074"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>uri to reference (optional)</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16079"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-KeyReference" target="_top"><enc:KeyReference/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLKEYINFOADDKEYNAME"></a><h3>xmlSecTmplKeyInfoAddKeyName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplKeyInfoAddKeyName (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16103"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16109"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the key name (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16114"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLKEYINFOADDKEYVALUE"></a><h3>xmlSecTmplKeyInfoAddKeyValue ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplKeyInfoAddKeyValue (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16135"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16141"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLKEYINFOADDX509DATA"></a><h3>xmlSecTmplKeyInfoAddX509Data ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplKeyInfoAddX509Data (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16162"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16168"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLKEYINFOADDRETRIEVALMETHOD"></a><h3>xmlSecTmplKeyInfoAddRetrievalMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplKeyInfoAddRetrievalMethod (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16195"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16201"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16206"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Type attribute(optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16211"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLRETRIEVALMETHODADDTRANSFORM"></a><h3>xmlSecTmplRetrievalMethodAddTransform ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplRetrievalMethodAddTransform + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> retrMethodNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node (and the parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transforms" target="_top"><dsig:Transforms/></a> node +if required) to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> node <code class="PARAMETER">retrMethod</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16236"><span style="white-space: nowrap"><code class="PARAMETER">retrMethodNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16242"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16247"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transforms" target="_top"><dsig:Transforms/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLKEYINFOADDENCRYPTEDKEY"></a><h3>xmlSecTmplKeyInfoAddEncryptedKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplKeyInfoAddEncryptedKey (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> keyInfoNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> encMethodId</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *recipient</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node with given attributes to +the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node <code class="PARAMETER">keyInfoNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16280"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16286"><span style="white-space: nowrap"><code class="PARAMETER">encMethodId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption method (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16291"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Id attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16296"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Type attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16301"><span style="white-space: nowrap"><code class="PARAMETER">recipient</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the Recipient attribute (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16306"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509DATAADDISSUERSERIAL"></a><h3>xmlSecTmplX509DataAddIssuerSerial ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509DataAddIssuerSerial (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node to the given <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16326"><span style="white-space: nowrap"><code class="PARAMETER">x509DataNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16332"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509ISSUERSERIALADDISSUERNAME"></a><h3>xmlSecTmplX509IssuerSerialAddIssuerName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509IssuerSerialAddIssuerName + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509IssuerSerialNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *issuerName</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerName" target="_top"><dsig:X509IssuerName/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node <code class="PARAMETER">x509IssuerSerialNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16356"><span style="white-space: nowrap"><code class="PARAMETER">x509IssuerSerialNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16362"><span style="white-space: nowrap"><code class="PARAMETER">issuerName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the issuer name (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16367"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerName" target="_top"><dsig:X509IssuerName/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER"></a><h3>xmlSecTmplX509IssuerSerialAddSerialNumber ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODE"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509IssuerSerialAddSerialNumber + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509IssuerSerialNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *serial</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SerialNumber" target="_top"><dsig:X509SerialNumber/></a> node to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node <code class="PARAMETER">x509IssuerSerialNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16391"><span style="white-space: nowrap"><code class="PARAMETER">x509IssuerSerialNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16397"><span style="white-space: nowrap"><code class="PARAMETER">serial</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the serial number (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16402"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SerialNumber" target="_top"><dsig:X509SerialNumber/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509DATAADDSUBJECTNAME"></a><h3>xmlSecTmplX509DataAddSubjectName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509DataAddSubjectName (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SubjectName" target="_top"><dsig:X509SubjectName/></a> node to the given <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16422"><span style="white-space: nowrap"><code class="PARAMETER">x509DataNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16428"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SubjectName" target="_top"><dsig:X509SubjectName/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509DATAADDSKI"></a><h3>xmlSecTmplX509DataAddSKI ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509DataAddSKI (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SKI" target="_top"><dsig:X509SKI/></a> node to the given <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16448"><span style="white-space: nowrap"><code class="PARAMETER">x509DataNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16454"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SKI" target="_top"><dsig:X509SKI/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509DATAADDCERTIFICATE"></a><h3>xmlSecTmplX509DataAddCertificate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509DataAddCertificate (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node to the given <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16474"><span style="white-space: nowrap"><code class="PARAMETER">x509DataNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16480"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLX509DATAADDCRL"></a><h3>xmlSecTmplX509DataAddCRL ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecTmplX509DataAddCRL (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> x509DataNode</code>);</pre> +<p>Adds <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509CRL" target="_top"><dsig:X509CRL/></a> node to the given <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16500"><span style="white-space: nowrap"><code class="PARAMETER">x509DataNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16506"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the newly created <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509CRL" target="_top"><dsig:X509CRL/></a> node or +NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH"></a><h3>xmlSecTmplTransformAddHmacOutputLength ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddHmacOutputLength + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bitsLen</code>);</pre> +<p>Creates <a href="http://www.w3.org/TR/xmldsig-core/#sec-HMACOutputLength" target="_top"><dsig:HMACOutputLength/></a> child for the HMAC transform +node <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16529"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16535"><span style="white-space: nowrap"><code class="PARAMETER">bitsLen</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the required length in bits</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16540"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negatie value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDRSAOAEPPARAM"></a><h3>xmlSecTmplTransformAddRsaOaepParam ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddRsaOaepParam (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Creates <a href="http://www.w3.org/TR/xmlenc-core/#sec-OAEPParam" target="_top"><enc:OAEPParam/></a> child node in the <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16565"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16571"><span style="white-space: nowrap"><code class="PARAMETER">buf</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the OAEP param buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16576"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the OAEP param buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16581"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET"></a><h3>xmlSecTmplTransformAddXsltStylesheet ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddXsltStylesheet + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *xslt</code>);</pre> +<p>Writes the XSLT transform expression to the <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16602"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16608"><span style="white-space: nowrap"><code class="PARAMETER">xslt</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XSLT transform exspression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16613"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES"></a><h3>xmlSecTmplTransformAddC14NInclNamespaces ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddC14NInclNamespaces + (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefixList</code>);</pre> +<p>Adds "inclusive" namespaces to the ExcC14N transform node <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16634"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16640"><span style="white-space: nowrap"><code class="PARAMETER">prefixList</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the white space delimited list of namespace prefixes, + where "<gtkdoclink href="DEFAULT"><span class="TYPE">default</span></gtkdoclink>" indicates the default namespace + (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16647"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 if success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDXPATH"></a><h3>xmlSecTmplTransformAddXPath ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddXPath (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>);</pre> +<p>Writes XPath transform infromation to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node +<code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16672"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16678"><span style="white-space: nowrap"><code class="PARAMETER">expression</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPath expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16683"><span style="white-space: nowrap"><code class="PARAMETER">nsList</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the NULL terminated list of namespace prefix/href pairs + (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16688"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 for success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDXPATH2"></a><h3>xmlSecTmplTransformAddXPath2 ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddXPath2 (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>);</pre> +<p>Writes XPath2 transform infromation to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node +<code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16716"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16722"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPath2 transform type ("union", "intersect" or "subtract").</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16727"><span style="white-space: nowrap"><code class="PARAMETER">expression</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPath expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16732"><span style="white-space: nowrap"><code class="PARAMETER">nsList</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the NULL terminated list of namespace prefix/href pairs. + (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16737"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 for success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTMPLTRANSFORMADDXPOINTER"></a><h3>xmlSecTmplTransformAddXPointer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTmplTransformAddXPointer (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> transformNode</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expression</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **nsList</code>);</pre> +<p>Writes XPoniter transform infromation to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node +<code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16762"><span style="white-space: nowrap"><code class="PARAMETER">transformNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16768"><span style="white-space: nowrap"><code class="PARAMETER">expression</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPath expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16773"><span style="white-space: nowrap"><code class="PARAMETER">nsList</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the NULL terminated list of namespace prefix/href pairs. + (optional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN16778"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 for success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-parser.html"><b><<< parser</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-transforms.html"><b>transforms >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-transforms.html b/docs/api/xmlsec-transforms.html new file mode 100644 index 00000000..5e68dc02 --- /dev/null +++ b/docs/api/xmlsec-transforms.html @@ -0,0 +1,3059 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>transforms</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="templates" href="xmlsec-templates.html"> +<link rel="NEXT" title="version" href="xmlsec-version.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-TRANSFORMS"></a>transforms</h1> +<div class="REFNAMEDIV"> +<a name="AEN16788"></a><h2>Name</h2>transforms -- Transform object definition.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-TRANSFORMS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS">XMLSEC_TRANSFORM_BINARY_CHUNK</a> +<a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a>; +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a>; +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a>; +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a> +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">*xmlSecTransformCtxPreExecuteCallback</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a> +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a>; +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a>; +<a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a> (transform) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a> (transform) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a> (transform, + i) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a> (transform, + size) +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">*xmlSecTransformInitializeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">*xmlSecTransformFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">*xmlSecTransformGetDataTypeMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">*xmlSecTransformNodeReadMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">*xmlSecTransformNodeWriteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">*xmlSecTransformSetKeyRequirementsMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">*xmlSecTransformSetKeyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">*xmlSecTransformVerifyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">*xmlSecTransformPushBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">*xmlSecTransformPopBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">*xmlSecTransformPushXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">*xmlSecTransformPopXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">*xmlSecTransformExecuteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a> (klass) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a> + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TRANSFORMS.DESCRIPTION"></a><h2>Description</h2> +<p>Transform object definition.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TRANSFORMS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS"></a><h3>XMLSEC_TRANSFORM_BINARY_CHUNK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORM_BINARY_CHUNK 64</pre> +<p>The binary data chunks size. XMLSec processes binary data one chunk +at a time. Changing this impacts xmlsec memory usage and performance.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSGET"></a><h3>xmlSecTransformIdsGet ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> xmlSecTransformIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets global registered transform klasses list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17690"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to list of all registered transform klasses.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSINIT"></a><h3>xmlSecTransformIdsInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes the transform klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17708"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSSHUTDOWN"></a><h3>xmlSecTransformIdsShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Shuts down the keys data klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a><h3>xmlSecTransformIdsRegisterDefault ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Registers default (implemented by XML Security Library) +transform klasses: XPath transform, Base64 transform, ...</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17736"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSREGISTER"></a><h3>xmlSecTransformIdsRegister ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegister (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Registers <code class="PARAMETER">id</code> in the global list of transform klasses.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17754"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17759"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSTATUS"></a><h3>enum xmlSecTransformStatus</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformStatusNone = 0, + xmlSecTransformStatusWorking, + xmlSecTransformStatusFinished, + xmlSecTransformStatusOk, + xmlSecTransformStatusFail +} xmlSecTransformStatus;</pre> +<p>The transform execution status.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the status unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSWORKING"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusWorking</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform is executed.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFINISHED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFinished</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform finished</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSOK"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusOk</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform succeeded.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFAIL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFail</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform failed (an error occur).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMODE"></a><h3>enum xmlSecTransformMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformModeNone = 0, + xmlSecTransformModePush, + xmlSecTransformModePop +} xmlSecTransformMode;</pre> +<p>The transform operation mode</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODENONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModeNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the mode is unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPUSH"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePush</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>pushing data thru transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPOP"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePop</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>popping data from transform.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMOPERATION"></a><h3>enum xmlSecTransformOperation</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformOperationNone = 0, + xmlSecTransformOperationEncode, + xmlSecTransformOperationDecode, + xmlSecTransformOperationSign, + xmlSecTransformOperationVerify, + xmlSecTransformOperationEncrypt, + xmlSecTransformOperationDecrypt +} xmlSecTransformOperation;</pre> +<p>The transform operation.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the operation is unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncode</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the encode operation (for base64 transform).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecode</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decode operation (for base64 transform).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONSIGN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationSign</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the sign or digest operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONVERIFY"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationVerify</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the verification of signature or digest operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decryption operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPE"></a><h3>xmlSecTransformUriType</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUriType;</pre> +<p>URI transform type bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPENONE"></a><h3>xmlSecTransformUriTypeNone</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeNone 0x0000</pre> +<p>The URI type is unknown or not set.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEEMPTY"></a><h3>xmlSecTransformUriTypeEmpty</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty 0x0001</pre> +<p>The empty URI ("") type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a><h3>xmlSecTransformUriTypeSameDocument</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeSameDocument 0x0002</pre> +<p>The smae document ("#...") but not empty ("") URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPELOCAL"></a><h3>xmlSecTransformUriTypeLocal</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeLocal 0x0004</pre> +<p>The local URI ("file:///....") type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEREMOTE"></a><h3>xmlSecTransformUriTypeRemote</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote 0x0008</pre> +<p>The remote URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEANY"></a><h3>xmlSecTransformUriTypeAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny 0xFFFF</pre> +<p>Any URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPECHECK"></a><h3>xmlSecTransformUriTypeCheck ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformUriTypeCheck (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Checks if <code class="PARAMETER">uri</code> matches expected type <code class="PARAMETER">type</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17919"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected URI type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17924"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri for checking.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17929"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">uri</code> matches <code class="PARAMETER">type</code>, 0 if not or a negative value +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPE"></a><h3>xmlSecTransformDataType</h3> +<pre class="PROGRAMLISTING">typedef xmlSecByte xmlSecTransformDataType;</pre> +<p>Transform data type bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEUNKNOWN"></a><h3>xmlSecTransformDataTypeUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeUnknown 0x0000</pre> +<p>The transform data type is unknown or nor data expected.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEBIN"></a><h3>xmlSecTransformDataTypeBin</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin 0x0001</pre> +<p>The binary transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEXML"></a><h3>xmlSecTransformDataTypeXml</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml 0x0002</pre> +<p>The xml transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGE"></a><h3>xmlSecTransformUsage</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUsage;</pre> +<p>The transform usage bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEUNKNOWN"></a><h3>xmlSecTransformUsageUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageUnknown 0x0000</pre> +<p>Transforms usage is unknown or undefined.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a><h3>xmlSecTransformUsageDSigTransform</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform 0x0001</pre> +<p>Transform could be used in <dsig:Transform>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a><h3>xmlSecTransformUsageC14NMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod 0x0002</pre> +<p>Transform could be used in <dsig:CanonicalizationMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a><h3>xmlSecTransformUsageDigestMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod 0x0004</pre> +<p>Transform could be used in <dsig:DigestMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a><h3>xmlSecTransformUsageSignatureMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod 0x0008</pre> +<p>Transform could be used in <dsig:SignatureMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a><h3>xmlSecTransformUsageEncryptionMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod 0x0010</pre> +<p>Transform could be used in <enc:EncryptionMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEANY"></a><h3>xmlSecTransformUsageAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageAny 0xFFFF</pre> +<p>Transform could be used for operation.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a><h3>xmlSecTransformCtxPreExecuteCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformCtxPreExecuteCallback) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The callback called after creating transforms chain but before +starting data processing. Application can use this callback to +do additional transforms chain verification or modification and +aborting transforms execution (if necessary).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18020"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18025"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value otherwise (in this case, +transforms chain will not be executed and xmlsec processing stops).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK 0x00000001</pre> +<p>If this flag is set then URI ID references are resolved directly +without using XPointers. This allows one to sign/verify Visa3D +documents that don't follow XML, XPointer and XML DSig specifications.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTX"></a><h3>struct xmlSecTransformCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransformCtx { + /* user settings */ + void* userData; + unsigned int flags; + unsigned int flags2; + xmlSecTransformUriType enabledUris; + xmlSecPtrList enabledTransforms; + xmlSecTransformCtxPreExecuteCallback preExecCallback; + + /* results */ + xmlSecBufferPtr result; + xmlSecTransformStatus status; + xmlChar* uri; + xmlChar* xptrExpr; + xmlSecTransformPtr first; + xmlSecTransformPtr last; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform execution context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18043"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto never + touch this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18050"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask flags to control transforms execution + (reserved for the future).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18057"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask flags to control transforms execution + (reserved for the future).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18064"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledUris</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the allowed transform data source uri types.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18071"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">enabledTransforms</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of enabled transforms; if list is empty (default) + then all registered transforms are enabled.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18078"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">preExecCallback</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the callback called after preparing transform chain + and right before actual data processing; application + can use this callback to change transforms parameters, + insert additional transforms in the chain or do + additional validation (and abort transform execution + if needed).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18085"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms result buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18092"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transforms chain processng status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18099"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">uri</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data source URI without xpointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18106"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">xptrExpr</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the xpointer expression from data source URI (if any).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18113"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">first</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the first transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18120"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">last</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the last transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18127"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18134"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATE"></a><h3>xmlSecTransformCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> xmlSecTransformCtxCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Creates transforms chain processing context. +The caller is responsible for destroying returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY"><span class="TYPE">xmlSecTransformCtxDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18154"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated context object or NULL if an error +occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDESTROY"></a><h3>xmlSecTransformCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE"><span class="TYPE">xmlSecTransformCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18173"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXINITIALIZE"></a><h3>xmlSecTransformCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxInitialize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Initializes transforms chain processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE"><span class="TYPE">xmlSecTransformCtxFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18192"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18197"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXFINALIZE"></a><h3>xmlSecTransformCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxFinalize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Cleans up <code class="PARAMETER">ctx</code> object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18217"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXRESET"></a><h3>xmlSecTransformCtxReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxReset (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Resets transfroms context for new processing.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18234"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCOPYUSERPREF"></a><h3>xmlSecTransformCtxCopyUserPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>);</pre> +<p>Copies user settings from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18256"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18261"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18266"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXSETURI"></a><h3>xmlSecTransformCtxSetUri ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxSetUri (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</pre> +<p>Parses uri and adds xpointer transforms if required.</p> +<p>The following examples demonstrate what the URI attribute identifies and +how it is dereferenced +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-REFERENCEPROCESSINGMODEL"><span class="TYPE">sec-ReferenceProcessingModel</span></gtkdoclink>):</p> +<p>- URI="http://example.com/bar.xml" +identifies the octets that represent the external resource +'http://example.com/bar.xml', that is probably an XML document given +its file extension.</p> +<p>- URI="http://example.com/bar.xml<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +identifies the element with ID attribute value 'chapter1' of the +external XML resource 'http://example.com/bar.xml', provided as an +octet stream. Again, for the sake of interoperability, the element +identified as 'chapter1' should be obtained using an XPath transform +rather than a URI fragment (barename XPointer resolution in external +resources is not REQUIRED in this specification).</p> +<p>- URI="" +identifies the node-set (minus any comment nodes) of the XML resource +containing the signature</p> +<p>- URI="<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +identifies a node-set containing the element with ID attribute value +'chapter1' of the XML resource containing the signature. XML Signature +(and its applications) modify this node-set to include the element plus +all descendents including namespaces and attributes -- but not comments.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18300"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18305"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18310"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to "here" node required by some + XML transforms (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18315"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXAPPEND"></a><h3>xmlSecTransformCtxAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the end of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18339"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18344"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18349"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREPEND"></a><h3>xmlSecTransformCtxPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the beggining of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18373"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18378"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18383"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18406"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18411"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18416"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18439"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18444"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18449"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXNODEREAD"></a><h3>xmlSecTransformCtxNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxNodeRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads the transform from the <code class="PARAMETER">node</code> and appends it to the current chain +of transforms in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18474"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18479"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18484"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's usage (signature, encryption, etc.).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18489"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXNODESLISTREAD"></a><h3>xmlSecTransformCtxNodesListRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxNodesListRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads transforms from the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> children of the <code class="PARAMETER">node</code> and +appends them to the current transforms chain in <code class="PARAMETER">ctx</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18515"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18520"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> nodes parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18526"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's usage (signature, encryption, etc.).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18531"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREPARE"></a><h3>xmlSecTransformCtxPrepare ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepare (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>);</pre> +<p>Prepares the transform context for processing data of <code class="PARAMETER">inputDataType</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18552"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18557"><span style="white-space: nowrap"><code class="PARAMETER">inputDataType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected input type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18562"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXBINARYEXECUTE"></a><h3>xmlSecTransformCtxBinaryExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxBinaryExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Processes binary data using transforms chain in the <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18586"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18591"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18596"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18601"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXURIEXECUTE"></a><h3>xmlSecTransformCtxUriExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxUriExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Process binary data from the URI using transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18622"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18627"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18632"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXXMLEXECUTE"></a><h3>xmlSecTransformCtxXmlExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxXmlExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>);</pre> +<p>Process <code class="PARAMETER">nodes</code> using transforms in the transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18654"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18659"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18664"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXEXECUTE"></a><h3>xmlSecTransformCtxExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>);</pre> +<p>Executes transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18685"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18690"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to input document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18695"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDEBUGDUMP"></a><h3>xmlSecTransformCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18716"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18721"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a><h3>xmlSecTransformCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18742"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18747"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORM"></a><h3>struct xmlSecTransform</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransform { + xmlSecTransformId id; + xmlSecTransformOperation operation; + xmlSecTransformStatus status; + xmlNodePtr hereNode; + + /* transforms chain */ + xmlSecTransformPtr next; + xmlSecTransformPtr prev; + + /* binary data */ + xmlSecBuffer inBuf; + xmlSecBuffer outBuf; + + /* xml data */ + xmlSecNodeSetPtr inNodes; + xmlSecNodeSetPtr outNodes; + + /* reserved for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform structure.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18759"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id (pointer to <gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18768"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's opertaion.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18775"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18782"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">hereNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform%20" target="_top"><dsig:Transform /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18790"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">next</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to next transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18797"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">prev</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to previous transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18804"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">inBuf</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18811"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">outBuf</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the output binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18818"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">inNodes</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input XML nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18825"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">outNodes</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the output XML nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18832"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18839"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATE"></a><h3>xmlSecTransformCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> xmlSecTransformCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creates new transform of the <code class="PARAMETER">id</code> klass. The caller is responsible for +destroying returned tansform using <a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY"><span class="TYPE">xmlSecTransformDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18861"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id to create.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18866"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDESTROY"></a><h3>xmlSecTransformDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Destroys transform created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE"><span class="TYPE">xmlSecTransformCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18885"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEREAD"></a><h3>xmlSecTransformNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformNodeRead (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Reads transform from the <code class="PARAMETER">node</code> as follows:</p> +<p> 1) reads "Algorithm" attribute;</p> +<p> 2) checks the lists of known and allowed transforms;</p> +<p> 3) calls transform's create method;</p> +<p> 4) calls transform's read transform node method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18913"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the transform's node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18918"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform usage (signature, encryption, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18923"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18928"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUMP"></a><h3>xmlSecTransformPump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from <code class="PARAMETER">left</code> transform and pushes to <code class="PARAMETER">right</code> transform until +no more data is available.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18953"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source pumping transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18958"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination pumping transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18963"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18968"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEY"></a><h3>xmlSecTransformSetKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKey (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Sets the transform's key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18988"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18993"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18998"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYREQ"></a><h3>xmlSecTransformSetKeyReq ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKeyReq (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Sets the key requirements for <code class="PARAMETER">transform</code> in the <code class="PARAMETER">keyReq</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19020"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19025"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19030"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFY"></a><h3>xmlSecTransformVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerify (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Verifies the data with transform's processing results +(for digest, HMAC and signature transforms). The verification +result is stored in the <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19060"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19065"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data for verification.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19070"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19075"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFYNODECONTENT"></a><h3>xmlSecTransformVerifyNodeContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerifyNodeContent (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets the <code class="PARAMETER">node</code> content, base64 decodes it and calls <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY"><span class="TYPE">xmlSecTransformVerify</span></a> +function to verify binary results.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19106"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19111"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19116"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19121"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETDATATYPE"></a><h3>xmlSecTransformGetDataType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformGetDataType (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +type (binary or XML).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19146"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19151"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data mode (push or pop).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19156"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19161"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the transform's data type for the <code class="PARAMETER">mode</code> operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHBIN"></a><h3>xmlSecTransformPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> and pushes results to next transform.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19192"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19197"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19202"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19207"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19212"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19217"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPBIN"></a><h3>xmlSecTransformPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data and +returns result in the <code class="PARAMETER">data</code> buffer. The size of returned data is +placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19248"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19253"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19258"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19265"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19270"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19275"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHXML"></a><h3>xmlSecTransformPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> and pushes result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19299"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19304"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19309"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19314"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPXML"></a><h3>xmlSecTransformPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data and +returns result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19338"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19343"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19348"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19353"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXECUTE"></a><h3>xmlSecTransformExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Executes transform (used by default popBin/pushBin/popXml/pushXml methods).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19376"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19381"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19386"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19391"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEBUGDUMP"></a><h3>xmlSecTransformDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19412"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19417"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a><h3>xmlSecTransformDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19438"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19443"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETNAME"></a><h3>xmlSecTransformGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformGetName(transform)</pre> +<p>Macro. Returns transform name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19455"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMISVALID"></a><h3>xmlSecTransformIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIsValid(transform)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19468"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCHECKID"></a><h3>xmlSecTransformCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckId(transform, i)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has specified id <code class="PARAMETER">i</code> +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19482"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19487"><span style="white-space: nowrap"><code class="PARAMETER">i</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCHECKSIZE"></a><h3>xmlSecTransformCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckSize(transform, size)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has at least <code class="PARAMETER">size</code> +bytes or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19501"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19506"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform object size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCONNECT"></a><h3>xmlSecTransformConnect ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformConnect (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>If the data object is a node-set and the next transform requires octets, +the signature application MUST attempt to convert the node-set to an octet +stream using Canonical XML [XML-C14N].</p> +<p>The story is different if the right transform is base64 decode +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>):</p> +<p>This transform requires an octet stream for input. If an XPath node-set +(or sufficiently functional alternative) is given as input, then it is +converted to an octet stream by performing operations logically equivalent +to 1) applying an XPath transform with expression self::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, then 2) +taking the string-value of the node-set. Thus, if an XML element is +identified by a barename XPointer in the Reference URI, and its content +consists solely of base64 encoded character data, then this transform +automatically strips away the start and end tags of the identified element +and any of its descendant elements as well as any descendant comments and +processing instructions. The output of this transform is an octet stream.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19535"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to left (prev) transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19540"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to right (next) transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19545"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19550"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVE"></a><h3>xmlSecTransformRemove ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformRemove (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Removes <code class="PARAMETER">transform</code> from the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19568"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a><h3>xmlSecTransformDefaultGetDataType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformDefaultGetDataType + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml +methods.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19595"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19600"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data mode (push or pop).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19605"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19610"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the transform's data type for the <code class="PARAMETER">mode</code> operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPUSHBIN"></a><h3>xmlSecTransformDefaultPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> by calling transform's execute method and pushes +results to next transform.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19641"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19646"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19651"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19656"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19661"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19666"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a><h3>xmlSecTransformDefaultPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data by calling +transform's execute method and returns result in the <code class="PARAMETER">data</code> buffer. The +size of returned data is placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19697"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19702"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19707"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19714"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19719"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19724"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a><h3>xmlSecTransformDefaultPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> by calling transform's execute method and pushes +result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19748"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19753"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19758"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19763"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a><h3>xmlSecTransformDefaultPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data +by calling transform's execute method and returns result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19787"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19792"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19797"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19802"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a><h3>xmlSecTransformCreateOutputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink> xmlSecTransformCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates output buffer to write data to <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19823"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19828"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19833"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to new output buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATEINPUTBUFFER"></a><h3>xmlSecTransformCreateInputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink> xmlSecTransformCreateInputBuffer + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates input buffer to read data from <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19854"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19859"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19864"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to new input buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a><h3>xmlSecTransformInitializeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformInitializeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific initialization method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19881"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19886"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMFINALIZEMETHOD"></a><h3>xmlSecTransformFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecTransformFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific destroy method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19903"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETDATATYPEMETHOD"></a><h3>xmlSecTransformGetDataTypeMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (*xmlSecTransformGetDataTypeMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to query information about transform +data type in specified mode <code class="PARAMETER">mode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19927"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19932"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19937"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform data type.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEREADMETHOD"></a><h3>xmlSecTransformNodeReadMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeReadMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to read the transform data from +the <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19966"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19971"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19977"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19982"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEWRITEMETHOD"></a><h3>xmlSecTransformNodeWriteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeWriteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to write transform information to an XML node <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20006"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20011"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20017"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20022"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a><h3>xmlSecTransformSetKeyRequirementsMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyRequirementsMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Transform specific method to set transform's key requirements.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20042"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20047"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements structure.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20052"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYMETHOD"></a><h3>xmlSecTransformSetKeyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>The transform specific method to set the key for use.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20072"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20077"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20082"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFYMETHOD"></a><h3>xmlSecTransformVerifyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformVerifyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to verify transform processing results +(used by digest and signature transforms). This method sets <code class="PARAMETER">status</code> +member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK"><span class="TYPE">xmlSecTransformStatusOk</span></a> +if verification succeeded or <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL"><span class="TYPE">xmlSecTransformStatusFail</span></a> otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20115"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20120"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20125"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of input buffer <code class="PARAMETER">data</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20131"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20136"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHBINMETHOD"></a><h3>xmlSecTransformPushBinMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process data from <code class="PARAMETER">data</code> and push +result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20166"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20171"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20176"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20181"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20186"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20191"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPBINMETHOD"></a><h3>xmlSecTransformPopBinMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to pop data from previous transform +in the chain and return result in the <code class="PARAMETER">data</code> buffer. The size of returned +data is placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20222"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20227"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20232"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <code class="PARAMETER">data</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20238"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20243"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20248"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHXMLMETHOD"></a><h3>xmlSecTransformPushXmlMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process <code class="PARAMETER">nodes</code> and push result to the next +transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20272"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20277"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20282"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20287"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPXMLMETHOD"></a><h3>xmlSecTransformPopXmlMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to pop data from previous transform in the chain, +process the data and return result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20311"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20316"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20321"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20326"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXECUTEMETHOD"></a><h3>xmlSecTransformExecuteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformExecuteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Transform specific method to process a chunk of data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20349"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20354"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20359"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20364"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKLASS"></a><h3>struct xmlSecTransformKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransformKlass { + /* data */ + xmlSecSize klassSize; + xmlSecSize objSize; + const xmlChar* name; + const xmlChar* href; + xmlSecTransformUsage usage; + + /* methods */ + xmlSecTransformInitializeMethod initialize; + xmlSecTransformFinalizeMethod finalize; + + xmlSecTransformNodeReadMethod readNode; + xmlSecTransformNodeWriteMethod writeNode; + + xmlSecTransformSetKeyRequirementsMethod setKeyReq; + xmlSecTransformSetKeyMethod setKey; + xmlSecTransformVerifyMethod verify; + xmlSecTransformGetDataTypeMethod getDataType; + + xmlSecTransformPushBinMethod pushBin; + xmlSecTransformPopBinMethod popBin; + xmlSecTransformPushXmlMethod pushXml; + xmlSecTransformPopXmlMethod popXml; + + /* low level method */ + xmlSecTransformExecuteMethod execute; + + /* reserved for future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform klass desccription structure.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20376"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass structure size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20383"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform object size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20390"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20397"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">href</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's identification string (href).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20404"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> <code class="STRUCTFIELD">usage</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the allowed transforms usages.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20411"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD"><span class="TYPE">xmlSecTransformInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the initialization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20418"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD"><span class="TYPE">xmlSecTransformFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the finmalization (destroy) function.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20425"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD"><span class="TYPE">xmlSecTransformNodeReadMethod</span></a> <code class="STRUCTFIELD">readNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML node read method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20432"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD"><span class="TYPE">xmlSecTransformNodeWriteMethod</span></a> <code class="STRUCTFIELD">writeNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML node write method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20439"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"><span class="TYPE">xmlSecTransformSetKeyRequirementsMethod</span></a> <code class="STRUCTFIELD">setKeyReq</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the set key requirements method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20446"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD"><span class="TYPE">xmlSecTransformSetKeyMethod</span></a> <code class="STRUCTFIELD">setKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the set key method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20453"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD"><span class="TYPE">xmlSecTransformVerifyMethod</span></a> <code class="STRUCTFIELD">verify</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the verify method (for digest and signature transforms).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20460"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD"><span class="TYPE">xmlSecTransformGetDataTypeMethod</span></a> <code class="STRUCTFIELD">getDataType</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input/output data type query method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20467"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD"><span class="TYPE">xmlSecTransformPushBinMethod</span></a> <code class="STRUCTFIELD">pushBin</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data "push thru chain" processing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20474"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD"><span class="TYPE">xmlSecTransformPopBinMethod</span></a> <code class="STRUCTFIELD">popBin</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data "pop from chain" procesing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20481"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD"><span class="TYPE">xmlSecTransformPushXmlMethod</span></a> <code class="STRUCTFIELD">pushXml</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data "push thru chain" processing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20488"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD"><span class="TYPE">xmlSecTransformPopXmlMethod</span></a> <code class="STRUCTFIELD">popXml</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data "pop from chain" procesing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20495"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD"><span class="TYPE">xmlSecTransformExecuteMethod</span></a> <code class="STRUCTFIELD">execute</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the low level data processing method used by default + implementations of <code class="PARAMETER">pushBin</code>, <code class="PARAMETER">popBin</code>, <code class="PARAMETER">pushXml</code> and <code class="PARAMETER">popXml</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20506"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20513"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKLASSGETNAME"></a><h3>xmlSecTransformKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKlassGetName(klass)</pre> +<p>Macro. Returns transform klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20527"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transofrm's klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTID"></a><h3>xmlSecTransformIdListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()</pre> +<p>Transform klasses list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTGETKLASS"></a><h3>xmlSecTransformIdListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecTransformIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The transform id list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20549"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the transform id list klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFIND"></a><h3>xmlSecTransformIdListFind ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Lookups <code class="PARAMETER">dataId</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20571"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20576"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20581"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">dataId</code> is found in the <code class="PARAMETER">list</code>, 0 if not and a negative +value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFINDBYHREF"></a><h3>xmlSecTransformIdListFindByHref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">href</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20609"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20614"><span style="white-space: nowrap"><code class="PARAMETER">href</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform klass href.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20619"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20624"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFINDBYNAME"></a><h3>xmlSecTransformIdListFindByName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">name</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20650"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20655"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform klass name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20660"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20665"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a><h3>xmlSecTransformIdListDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20686"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20691"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a><h3>xmlSecTransformIdListDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20712"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20717"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDUNKNOWN"></a><h3>xmlSecTransformIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdUnknown ((xmlSecTransformId)NULL)</pre> +<p>The "unknown" transform id (NULL).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64ID"></a><h3>xmlSecTransformBase64Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformBase64Id</pre> +<p>The base64 encode transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64GETKLASS"></a><h3>xmlSecTransformBase64GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformBase64GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>). +The normative specification for base64 decoding transforms is RFC 2045 +(http://www.ietf.org/rfc/rfc2045.txt). The base64 Transform element has +no content. The input is decoded by the algorithms. This transform is +useful if an application needs to sign the raw data associated with +the encoded content of an element.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20747"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> base64 transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a><h3>xmlSecTransformBase64SetLineSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformBase64SetLineSize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>);</pre> +<p>Sets the max line size to <code class="PARAMETER">lineSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20768"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BASE64 encode transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20773"><span style="white-space: nowrap"><code class="PARAMETER">lineSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new max line size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NID"></a><h3>xmlSecTransformInclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NId</pre> +<p>The regular (inclusive) C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a><h3>xmlSecTransformInclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that omits comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20797"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NWithCommentsId</pre> +<p>The regular (inclusive) C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that includes comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20821"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11ID"></a><h3>xmlSecTransformInclC14N11Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11Id</pre> +<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a><h3>xmlSecTransformInclC14N11GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11)</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20843"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n v1.1 transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11WithCommentsId</pre> +<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11WithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11) with comments</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20865"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n v1.1 with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NID"></a><h3>xmlSecTransformExclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NId</pre> +<p>The exclusive C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a><h3>xmlSecTransformExclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that ommits comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20887"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> exclusive c14n transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NWithCommentsId</pre> +<p>The exclusive C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that includes comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20909"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> exclusive c14n with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMENVELOPEDID"></a><h3>xmlSecTransformEnvelopedId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformEnvelopedId</pre> +<p>The "enveloped" transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMENVELOPEDGETKLASS"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformEnvelopedGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-ENVELOPEDSIGNATURE"><span class="TYPE">sec-EnvelopedSignature</span></gtkdoclink>):</p> +<p>An enveloped signature transform T removes the whole Signature element +containing T from the digest calculation of the Reference element +containing T. The entire string of characters used by an XML processor +to match the Signature with the XML production element is removed. +The output of the transform is equivalent to the output that would +result from replacing T with an XPath transform containing the following +XPath parameter element:</p> +<p><XPath xmlns:dsig="&dsig;"> + count(ancestor-or-self::dsig:Signature | + <gtkdoclink href="HERE"><code class="FUNCTION">here()</code></gtkdoclink>/ancestor::dsig:Signature[1]) > + count(ancestor-or-self::dsig:Signature)</XPath></p> +<p>The input and output requirements of this transform are identical to +those of the XPath transform, but may only be applied to a node-set from +its parent XML document. Note that it is not necessary to use an XPath +expression evaluator to create this transform. However, this transform +MUST produce output in exactly the same manner as the XPath transform +parameterized by the XPath expression above.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20938"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> enveloped transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATHID"></a><h3>xmlSecTransformXPathId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPathId</pre> +<p>The XPath transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATHGETKLASS"></a><h3>xmlSecTransformXPathGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPathGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPath transform evaluates given XPath expression and +intersects the result with the previous nodes set. See +http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XPATH"><span class="TYPE">sec-XPath</span></gtkdoclink> for more details.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20962"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPath transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATH2ID"></a><h3>xmlSecTransformXPath2Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPath2Id</pre> +<p>The XPath2 transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATH2GETKLASS"></a><h3>xmlSecTransformXPath2GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPath2GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPath2 transform (http://www.w3.org/TR/xmldsig-filter2/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20984"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPath2 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERID"></a><h3>xmlSecTransformXPointerId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPointerId</pre> +<p>The XPointer transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERGETKLASS"></a><h3>xmlSecTransformXPointerGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPointerGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPointer transform klass +(http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21006"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPointer transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERSETEXPR"></a><h3>xmlSecTransformXPointerSetExpr ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformXPointerSetExpr (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</pre> +<p>Sets the XPointer expression for an XPointer <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21033"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to XPointer transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21038"><span style="white-space: nowrap"><code class="PARAMETER">expr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21043"><span style="white-space: nowrap"><code class="PARAMETER">nodeSetType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of evaluated XPointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21048"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to "here" node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21053"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTID"></a><h3>xmlSecTransformXsltId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXsltId</pre> +<p>The XSLT transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTGETKLASS"></a><h3>xmlSecTransformXsltGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXsltGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XSLT"><span class="TYPE">sec-XSLT</span></gtkdoclink>):</p> +<p>The normative specification for XSL Transformations is [XSLT]. +Specification of a namespace-qualified stylesheet element, which MUST be +the sole child of the Transform element, indicates that the specified style +sheet should be used. Whether this instantiates in-line processing of local +XSLT declarations within the resource is determined by the XSLT processing +model; the ordered application of multiple stylesheet may require multiple +Transforms. No special provision is made for the identification of a remote +stylesheet at a given URI because it can be communicated via an xsl:include +or xsl:import within the stylesheet child of the Transform.</p> +<p>This transform requires an octet stream as input. If the actual input is an +XPath node-set, then the signature application should attempt to convert it +to octets (apply Canonical XML]) as described in the Reference Processing +Model (section 4.3.3.2).]</p> +<p>The output of this transform is an octet stream. The processing rules for +the XSL style sheet or transform element are stated in the XSLT specification +[XSLT]. We RECOMMEND that XSLT transform authors use an output method of xml +for XML and HTML. As XSLT implementations do not produce consistent +serializations of their output, we further RECOMMEND inserting a transform +after the XSLT transform to canonicalize the output. These steps will help +to ensure interoperability of the resulting signatures among applications +that support the XSLT transform. Note that if the output is actually HTML, +then the result of these steps is logically equivalent [XHTML].</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to XSLT transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS"></a><h3>xmlSecTransformXsltSetDefaultSecurityPrefs ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformXsltSetDefaultSecurityPrefs + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>);</pre> +<p>Sets the new default security preferences. The xmlsec default security policy is +to disable everything.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21097"><span style="white-space: nowrap"><code class="PARAMETER">sec</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new security preferences</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a><h3>xmlSecTransformRemoveXmlTagsC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRemoveXmlTagsC14NId</pre> +<p>The "remove all xml tags" transform klass (used before base64 transforms).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a><h3>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRemoveXmlTagsC14NGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>): +Base64 transform requires an octet stream for input. If an XPath node-set +(or sufficiently functional alternative) is given as input, then it is +converted to an octet stream by performing operations logically equivalent +to 1) applying an XPath transform with expression self::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, then 2) +taking the string-value of the node-set. Thus, if an XML element is +identified by a barename XPointer in the Reference URI, and its content +consists solely of base64 encoded character data, then this transform +automatically strips away the start and end tags of the identified element +and any of its descendant elements as well as any descendant comments and +processing instructions. The output of this transform is an octet stream.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21123"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> "remove xml tags" transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKID"></a><h3>xmlSecTransformVisa3DHackId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformVisa3DHackId</pre> +<p>Selects node subtree by given node id string. The only reason why we need this +is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows +invalid XPointer expressions in the URI attribute. Since we couldn't evaluate +such expressions thru XPath/XPointer engine, we need to have this hack here.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a><h3>xmlSecTransformVisa3DHackGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformVisa3DHackGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Visa3DHack transform klass. The only reason why we need this +is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows +invalid XPointer expressions in the URI attribute. Since we couldn't evaluate +such expressions thru XPath/XPointer engine, we need to have this hack here.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21145"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Visa3DHack transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a><h3>xmlSecTransformVisa3DHackSetID ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVisa3DHackSetID (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Sets the ID value for an Visa3DHack <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21166"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Visa3DHack transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21171"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the ID value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21176"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-templates.html"><b><<< templates</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-version.html"><b>version >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-verify-with-key.html b/docs/api/xmlsec-verify-with-key.html new file mode 100644 index 00000000..da0b4eed --- /dev/null +++ b/docs/api/xmlsec-verify-with-key.html @@ -0,0 +1,318 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifying a signature with a single key.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Signing with X509 certificate." href="xmlsec-examples-sign-x509.html"> +<link rel="NEXT" title="Verifying a signature with keys manager." href="xmlsec-verify-with-keys-mngr.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-examples-sign-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-verify-with-keys-mngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-KEY">Verifying a signature with a single key.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY1">verify1.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN701"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Verifying a file using a single key. + * + * Verifies a file using a key from PEM file. + * + * Usage: + * verify1 <signed-file> <pem-key> + * + * Example: + * ./verify1 sign1-res.xml rsapub.pem + * ./verify1 sign2-res.xml rsapub.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/crypto.h> + +int verify_file(const char* xml_file, const char* key_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + assert(argv); + + if(argc != 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file>\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + if(verify_file(argv[1], argv[2]) < 0) { + return(-1); + } + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * verify_file: + * @xml_file: the signed XML file name. + * @key_file: the PEM public key file name. + * + * Verifies XML signature in #xml_file using public key from #key_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(const char* xml_file, const char* key_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(xml_file); + assert(key_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context, we don't need keys manager in this example */ + dsigCtx = xmlSecDSigCtxCreate(NULL); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* load public key */ + dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(dsigCtx->signKey == NULL) { + fprintf(stderr,"Error: failed to load public pem key from \"%s\"\n", key_file); + goto done; + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} +
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-examples-sign-x509.html"><b><<< Signing with X509 certificate.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-verify-with-keys-mngr.html"><b>Verifying a signature with keys manager. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-verify-with-keys-mngr.html b/docs/api/xmlsec-verify-with-keys-mngr.html new file mode 100644 index 00000000..3ee19da3 --- /dev/null +++ b/docs/api/xmlsec-verify-with-keys-mngr.html @@ -0,0 +1,388 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifying a signature with keys manager.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Verifying a signature with a single key." href="xmlsec-verify-with-key.html"> +<link rel="NEXT" title="Verifying a signature with X509 certificates." href="xmlsec-verify-with-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-verify-with-key.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-verify-with-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-KEYS-MNGR">Verifying a signature with keys manager.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY2">verify2.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN708"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Verifying a file using keys manager. + * + * Verifies a file using keys manager + * + * Usage: + * verify2 <signed-file> <public-pem-key1> [<public-pem-key2> [...]] + * + * Example: + * ./verify2 sign1-res.xml rsapub.pem + * ./verify2 sign2-res.xml rsapub.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/crypto.h> + +xmlSecKeysMngrPtr load_keys(char** files, int files_size); +int verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + + xmlSecKeysMngrPtr mngr; + + assert(argv); + + if(argc < 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <key-file1> [<key-file2> [...]]\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load keys */ + mngr = load_keys(&(argv[2]), argc - 2); + if(mngr == NULL) { + return(-1); + } + + /* verify file */ + if(verify_file(mngr, argv[1]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * load_keys: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load PEM keys from #files in it. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_keys(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + xmlSecKeyPtr key; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load key */ + key = xmlSecCryptoAppKeyLoad(files[i], xmlSecKeyDataFormatPem, NULL, NULL, NULL); + if(key == NULL) { + fprintf(stderr,"Error: failed to load pem key from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* set key name to the file name, this is just an example! */ + if(xmlSecKeySetName(key, BAD_CAST files[i]) < 0) { + fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + /* add key to keys manager, from now on keys manager is responsible + * for destroying key + */ + if(xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key) < 0) { + fprintf(stderr,"Error: failed to add key from \"%s\" to keys manager\n", files[i]); + xmlSecKeyDestroy(key); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + +/** + * verify_file: + * @mngr: the pointer to keys manager. + * @xml_file: the signed XML file name. + * + * Verifies XML signature in #xml_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context */ + dsigCtx = xmlSecDSigCtxCreate(mngr); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} +
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-verify-with-key.html"><b><<< Verifying a signature with a single key.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-verify-with-x509.html"><b>Verifying a signature with X509 certificates. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-verify-with-restrictions.html b/docs/api/xmlsec-verify-with-restrictions.html new file mode 100644 index 00000000..b910c137 --- /dev/null +++ b/docs/api/xmlsec-verify-with-restrictions.html @@ -0,0 +1,715 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifying a signature with additional restrictions.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Verifying a signature with X509 certificates." href="xmlsec-verify-with-x509.html"> +<link rel="NEXT" title="Encrypting data with a template file." href="xmlsec-encrypt-template-file.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-verify-with-x509.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-encrypt-template-file.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-RESTRICTIONS">Verifying a signature with additional restrictions.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4">verify4.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN722"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Verifying a simple SAML response with X509 certificate + * + * Verifies a simple SAML response. In addition to refular verification + * we ensure that the signature has only one <dsig:Reference/> element + * with an empty or NULL URI attribute and one enveloped signature transform + * as it is required by SAML specification. + * + * This example was developed and tested with OpenSSL crypto library. The + * certificates management policies for another crypto library may break it. + * + * Usage: + * verify4 <signed-file> <trusted-cert-pem-file1> [<trusted-cert-pem-file2> [...]] + * + * Example (sucecess): + * ./verify4 verify4-res.xml rootcert.pem + * + * Example (failure): + * ./verify4 verify4-bad-res.xml rootcert.pem + * In the same time, verify3 example successfuly verifies this signature: + * ./verify3 verify4-bad-res.xml rootcert.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/crypto.h> + +xmlSecKeysMngrPtr load_trusted_certs(char** files, int files_size); +int verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + xmlSecKeysMngrPtr mngr; + + assert(argv); + + if(argc < 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <cert-file1> [<cert-file2> [...]]\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load trusted certificates */ + mngr = load_trusted_certs(&(argv[2]), argc - 2); + if(mngr == NULL) { + return(-1); + } + + /* verify file */ + if(verify_file(mngr, argv[1]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * load_trusted_certs: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load trusted certificates from PEM #files. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_trusted_certs(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load trusted cert */ + if(xmlSecCryptoAppKeysMngrCertLoad(mngr, files[i], xmlSecKeyDataFormatPem, xmlSecKeyDataTypeTrusted) < 0) { + fprintf(stderr,"Error: failed to load pem certificate from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + +/** + * verify_file: + * @mngr: the pointer to keys manager. + * @xml_file: the signed XML file name. + * + * Verifies XML signature in #xml_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context */ + dsigCtx = xmlSecDSigCtxCreate(mngr); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* limit the Reference URI attributes to empty or NULL */ + dsigCtx->enabledReferenceUris = xmlSecTransformUriTypeEmpty; + + /* limit allowed transforms for siganture and reference processing */ + if((xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableSignatureTransform(dsigCtx, xmlSecTransformRsaSha1Id) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed siganture transforms\n"); + goto done; + } + if((xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformInclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformExclC14NId) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformSha1Id) < 0) || + (xmlSecDSigCtxEnableReferenceTransform(dsigCtx, xmlSecTransformEnvelopedId) < 0)) { + + fprintf(stderr,"Error: failed to limit allowed reference transforms\n"); + goto done; + } + + /* in addition, limit possible key data to valid X509 certificates only */ + if(xmlSecPtrListAdd(&(dsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecKeyDataX509Id) < 0) { + fprintf(stderr,"Error: failed to limit allowed key data\n"); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* check that we have only one Reference */ + if((dsigCtx->status == xmlSecDSigStatusSucceeded) && + (xmlSecPtrListGetSize(&(dsigCtx->signedInfoReferences)) != 1)) { + + fprintf(stderr,"Error: only one reference is allowed\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} +
</pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-TMPL">verify4-tmpl.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN727"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: A simple SAML response template (verify4 example). + +Sign it using the following command (replace __ with double dashes): + + ../apps/xmlsec sign __privkey rsakey.pem,rsacert.pem __output verify4-res.xml verify4-tmpl.xml +--> +<Response xmlns="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" IssueInstant="2002-04-18T16:56:54Z" MajorVersion="1" MinorVersion="0" Recipient="https://shire.target.com" ResponseID="7ddc31-ed4a03d703-FB24AD27D96135B68C99FB9AACFE2FFC"> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <dsig:Reference URI=""> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue/> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue/> + <dsig:KeyInfo> + <dsig:X509Data/> + </dsig:KeyInfo> + </dsig:Signature> + <Status> + <StatusCode Value="samlp:Success"/> + </Status> + <Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="7ddc31-ed4a03d735-FB24AD27D96135B68C99FB9AACFE2FFC" IssueInstant="2002-04-18T16:56:54Z" Issuer="hs.osu.edu" MajorVersion="1" MinorVersion="0"> + <Conditions NotBefore="2002-04-18T16:56:54Z" NotOnOrAfter="2002-04-18T17:01:54Z"> + <AudienceRestrictionCondition> + <Audience>http://middleware.internet2.edu/shibboleth/clubs/clubshib/1.0/</Audience> + </AudienceRestrictionCondition> + </Conditions> + <AuthenticationStatement AuthenticationInstant="2002-04-18T16:56:53Z" AuthenticationMethod="urn:mace:shibboleth:authmethod"> + <Subject> + <NameIdentifier Format="urn:mace:shibboleth:1.0:handle" NameQualifier="osu.edu">foo</NameIdentifier> + <SubjectConfirmation> + <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:Bearer</ConfirmationMethod> + </SubjectConfirmation> + </Subject> + <SubjectLocality IPAddress="127.0.0.1"/> + <AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/> + </AuthenticationStatement> + </Assertion> +</Response></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-RES">verify4-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN732"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: A simple SAML response template (verify4 example). + +This file was signed using the following command (replace __ with double dashes): + + ../apps/xmlsec sign __privkey rsakey.pem,rsacert.pem __output verify4-res.xml verify4-tmpl.xml +--> +<Response xmlns="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" IssueInstant="2002-04-18T16:56:54Z" MajorVersion="1" MinorVersion="0" Recipient="https://shire.target.com" ResponseID="7ddc31-ed4a03d703-FB24AD27D96135B68C99FB9AACFE2FFC"> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <dsig:Reference URI=""> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>t1nvDq1bZXEhBIXc/DHcqIrjRyI=</dsig:DigestValue> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>EsNm7mOj9XY6pq1bfeuzFd1F/LQwbc1K/YgOYgrElk4tr8BhSd5OcrzXBgsivPvm +HpjvSOBkjctGOFVE7x+6+G8TMudTja1IchEmGMh+pjMBlGNpvxSTedwtnoZBGWAz +RlfRhRFThskup0T7Or+VBHYygPGM3gmwX0ZWVYpNzM/rfYSk7+obgIp9DxLDIXlW +oLrJGVivubE+T63CPfBPaUIv1CbfBAzdo+11+8CiVsdWn2qwtGe5Fsmc3eCg06Oj +sl1nyCIu3AONq1w8jIPOgmITF8PpwDm0+XoQUH0P4kHJqNLphnJZY+GlPAC6VlAW +2bcAFr4Ul5yzHUBpxCDZfg==</dsig:SignatureValue> + <dsig:KeyInfo> + <dsig:X509Data> +<X509Certificate xmlns="http://www.w3.org/2000/09/xmldsig#">MIIE3zCCBEigAwIBAgIBBTANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tMB4X +DTAzMDMzMTA0MDIyMloXDTEzMDMyODA0MDIyMlowgb8xCzAJBgNVBAYTAlVTMRMw +EQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQKEzRYTUwgU2VjdXJpdHkgTGlicmFy +eSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMpMSEwHwYDVQQLExhFeGFt +cGxlcyBSU0EgQ2VydGlmaWNhdGUxFjAUBgNVBAMTDUFsZWtzZXkgU2FuaW4xITAf +BgkqhkiG9w0BCQEWEnhtbHNlY0BhbGVrc2V5LmNvbTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAJe4/rQ/gzV4FokE7CthjL/EXwCBSkXm2c3p4jyXO0Wt +quaNC3dxBwFPfPl94hmq3ZFZ9PHPPbp4RpYRnLZbRjlzVSOq954AXOXpSew7nD+E +mTqQrd9+ZIbGJnLOMQh5fhMVuOW/1lYCjWAhTCcYZPv7VXD2M70vVXDVXn6ZrqTg +qkVHE6gw1aCKncwg7OSOUclUxX8+Zi10v6N6+PPslFc5tKwAdWJhVLTQ4FKG+F53 +7FBDnNK6p4xiWryy/vPMYn4jYGvHUUk3eH4lFTCr+rSuJY8i/KNIf/IKim7g/o3w +Ae3GM8xrof2mgO8GjK/2QDqOQhQgYRIf4/wFsQXVZcMCAwEAAaOCAVcwggFTMAkG +A1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRp +ZmljYXRlMB0GA1UdDgQWBBQkhCzy1FkgYosuXIaQo6owuicanDCB+AYDVR0jBIHw +MIHtgBS0ue+a5pcOaGUemM76VQ2JBttMfKGB0aSBzjCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tggEA +MA0GCSqGSIb3DQEBBAUAA4GBALU/mzIxSv8vhDuomxFcplzwdlLZbvSQrfoNkMGY +1UoS3YJrN+jZLWKSyWE3mIaPpElqXiXQGGkwD5iPQ1iJMbI7BeLvx6ZxX/f+c8Wn +ss0uc1NxfahMaBoyG15IL4+beqO182fosaKJTrJNG3mc//ANGU9OsQM9mfBEt4oL +NJ2D</X509Certificate> +</dsig:X509Data> + </dsig:KeyInfo> + </dsig:Signature> + <Status> + <StatusCode Value="samlp:Success"/> + </Status> + <Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="7ddc31-ed4a03d735-FB24AD27D96135B68C99FB9AACFE2FFC" IssueInstant="2002-04-18T16:56:54Z" Issuer="hs.osu.edu" MajorVersion="1" MinorVersion="0"> + <Conditions NotBefore="2002-04-18T16:56:54Z" NotOnOrAfter="2002-04-18T17:01:54Z"> + <AudienceRestrictionCondition> + <Audience>http://middleware.internet2.edu/shibboleth/clubs/clubshib/1.0/</Audience> + </AudienceRestrictionCondition> + </Conditions> + <AuthenticationStatement AuthenticationInstant="2002-04-18T16:56:53Z" AuthenticationMethod="urn:mace:shibboleth:authmethod"> + <Subject> + <NameIdentifier Format="urn:mace:shibboleth:1.0:handle" NameQualifier="osu.edu">foo</NameIdentifier> + <SubjectConfirmation> + <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:Bearer</ConfirmationMethod> + </SubjectConfirmation> + </Subject> + <SubjectLocality IPAddress="127.0.0.1"/> + <AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/> + </AuthenticationStatement> + </Assertion> +</Response></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-BAD-TMPL">verify4-bad-tmpl.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN737"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: A simple bad SAML response template (verify4 example). + +Sign it using the following command (replace __ with double dashes): + + ../apps/xmlsec sign __privkey rsakey.pem,rsacert.pem __output verify4--bad-res.xml verify4-bad-tmpl.xml +--> +<Response xmlns="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" IssueInstant="2002-04-18T16:56:54Z" MajorVersion="1" MinorVersion="0" Recipient="https://shire.target.com" ResponseID="7ddc31-ed4a03d703-FB24AD27D96135B68C99FB9AACFE2FFC"> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <dsig:Reference URI=""> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"> + <dsig:XPath xmlns:samlp_xpath="urn:oasis:names:tc:SAML:1.0:protocol" > + count(ancestor-or-self::samlp_xpath:Response | + here()/ancestor::samlp_xpath:Response[1]) = + count(ancestor-or-self::samlp_xpath:Response) + </dsig:XPath> + </dsig:Transform> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue/> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue/> + <dsig:KeyInfo> + <dsig:X509Data/> + </dsig:KeyInfo> + </dsig:Signature> + <Status> + <StatusCode Value="samlp:Success"/> + </Status> + <Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="7ddc31-ed4a03d735-FB24AD27D96135B68C99FB9AACFE2FFC" IssueInstant="2002-04-18T16:56:54Z" Issuer="hs.osu.edu" MajorVersion="1" MinorVersion="0"> + <Conditions NotBefore="2002-04-18T16:56:54Z" NotOnOrAfter="2002-04-18T17:01:54Z"> + <AudienceRestrictionCondition> + <Audience>http://middleware.internet2.edu/shibboleth/clubs/clubshib/1.0/</Audience> + </AudienceRestrictionCondition> + </Conditions> + <AuthenticationStatement AuthenticationInstant="2002-04-18T16:56:53Z" AuthenticationMethod="urn:mace:shibboleth:authmethod"> + <Subject> + <NameIdentifier Format="urn:mace:shibboleth:1.0:handle" NameQualifier="osu.edu">foo</NameIdentifier> + <SubjectConfirmation> + <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:Bearer</ConfirmationMethod> + </SubjectConfirmation> + </Subject> + <SubjectLocality IPAddress="127.0.0.1"/> + <AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/> + </AuthenticationStatement> + </Assertion> +</Response></pre> +<p></p> +</div> +</div> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-BAD-RES">verify4-bad-res.xml</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN742"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?> +<!-- +XML Security Library example: A simple bad SAML response (verify4 example). + +This file could be verified with verify3 example (signature is valid) +but verify4 example fails because of XPath transform which is not allowed +in a simple SAML response. + +This file was created from a template with the following command (replace __ with double dashes): + ../apps/xmlsec sign __privkey rsakey.pem,rsacert.pem __output verify4-bad-res.xml verify4-bad-tmpl.xml +--> +<Response xmlns="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" IssueInstant="2002-04-18T16:56:54Z" MajorVersion="1" MinorVersion="0" Recipient="https://shire.target.com" ResponseID="7ddc31-ed4a03d703-FB24AD27D96135B68C99FB9AACFE2FFC"> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> + <dsig:Reference URI=""> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"> + <dsig:XPath xmlns:samlp_xpath="urn:oasis:names:tc:SAML:1.0:protocol"> + count(ancestor-or-self::samlp_xpath:Response | + here()/ancestor::samlp_xpath:Response[1]) = + count(ancestor-or-self::samlp_xpath:Response) + </dsig:XPath> + </dsig:Transform> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>t1nvDq1bZXEhBIXc/DHcqIrjRyI=</dsig:DigestValue> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>PipZFFmmYcSnSU9p5AcOmFbRYoeatERYPy4IRk+jU26xk9sAM6yfhXtbK8csl/0w +rjODj1jGcydBGP9I8kFAfHyZ+Ls+A+53oMNl+tGWfe8iICMowIU1HCxJtPrgbTKk +1gc+VnYJ3IXhoVneeQKqzilXwA5X7FW7hgIecb5KwLShYV3iO8+z8pzt3NEGKAGQ +p/lQmO3EQR4Zu0bCSOk6zXdlOhe5dPVFXJQLlE8Zz3WjGQNo0l4op0ZXKf1B+syH +blHx0tnPQDtSBzQdKohJV39UgkGnL3rd5ggBzyXemjMTX8eFxNZ7bh4UgZ+Wo74W +Zb4ompTc2ImxJfbpszWp8w==</dsig:SignatureValue> + <dsig:KeyInfo> + <dsig:X509Data> +<X509Certificate xmlns="http://www.w3.org/2000/09/xmldsig#">MIIE3zCCBEigAwIBAgIBBTANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tMB4X +DTAzMDMzMTA0MDIyMloXDTEzMDMyODA0MDIyMlowgb8xCzAJBgNVBAYTAlVTMRMw +EQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQKEzRYTUwgU2VjdXJpdHkgTGlicmFy +eSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMpMSEwHwYDVQQLExhFeGFt +cGxlcyBSU0EgQ2VydGlmaWNhdGUxFjAUBgNVBAMTDUFsZWtzZXkgU2FuaW4xITAf +BgkqhkiG9w0BCQEWEnhtbHNlY0BhbGVrc2V5LmNvbTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAJe4/rQ/gzV4FokE7CthjL/EXwCBSkXm2c3p4jyXO0Wt +quaNC3dxBwFPfPl94hmq3ZFZ9PHPPbp4RpYRnLZbRjlzVSOq954AXOXpSew7nD+E +mTqQrd9+ZIbGJnLOMQh5fhMVuOW/1lYCjWAhTCcYZPv7VXD2M70vVXDVXn6ZrqTg +qkVHE6gw1aCKncwg7OSOUclUxX8+Zi10v6N6+PPslFc5tKwAdWJhVLTQ4FKG+F53 +7FBDnNK6p4xiWryy/vPMYn4jYGvHUUk3eH4lFTCr+rSuJY8i/KNIf/IKim7g/o3w +Ae3GM8xrof2mgO8GjK/2QDqOQhQgYRIf4/wFsQXVZcMCAwEAAaOCAVcwggFTMAkG +A1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRp +ZmljYXRlMB0GA1UdDgQWBBQkhCzy1FkgYosuXIaQo6owuicanDCB+AYDVR0jBIHw +MIHtgBS0ue+a5pcOaGUemM76VQ2JBttMfKGB0aSBzjCByzELMAkGA1UEBhMCVVMx +EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVN1bm55dmFsZTE9MDsGA1UE +ChM0WE1MIFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20v +eG1sc2VjKTEZMBcGA1UECxMQUm9vdCBDZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxl +a3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tggEA +MA0GCSqGSIb3DQEBBAUAA4GBALU/mzIxSv8vhDuomxFcplzwdlLZbvSQrfoNkMGY +1UoS3YJrN+jZLWKSyWE3mIaPpElqXiXQGGkwD5iPQ1iJMbI7BeLvx6ZxX/f+c8Wn +ss0uc1NxfahMaBoyG15IL4+beqO182fosaKJTrJNG3mc//ANGU9OsQM9mfBEt4oL +NJ2D</X509Certificate> +</dsig:X509Data> + </dsig:KeyInfo> + </dsig:Signature> + <Status> + <StatusCode Value="samlp:Success"/> + </Status> + <Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="7ddc31-ed4a03d735-FB24AD27D96135B68C99FB9AACFE2FFC" IssueInstant="2002-04-18T16:56:54Z" Issuer="hs.osu.edu" MajorVersion="1" MinorVersion="0"> + <Conditions NotBefore="2002-04-18T16:56:54Z" NotOnOrAfter="2002-04-18T17:01:54Z"> + <AudienceRestrictionCondition> + <Audience>http://middleware.internet2.edu/shibboleth/clubs/clubshib/1.0/</Audience> + </AudienceRestrictionCondition> + </Conditions> + <AuthenticationStatement AuthenticationInstant="2002-04-18T16:56:53Z" AuthenticationMethod="urn:mace:shibboleth:authmethod"> + <Subject> + <NameIdentifier Format="urn:mace:shibboleth:1.0:handle" NameQualifier="osu.edu">foo</NameIdentifier> + <SubjectConfirmation> + <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:Bearer</ConfirmationMethod> + </SubjectConfirmation> + </Subject> + <SubjectLocality IPAddress="127.0.0.1"/> + <AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/> + </AuthenticationStatement> + </Assertion> +</Response></pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-verify-with-x509.html"><b><<< Verifying a signature with X509 certificates.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-encrypt-template-file.html"><b>Encrypting data with a template file. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-verify-with-x509.html b/docs/api/xmlsec-verify-with-x509.html new file mode 100644 index 00000000..8ee5478e --- /dev/null +++ b/docs/api/xmlsec-verify-with-x509.html @@ -0,0 +1,369 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Verifying a signature with X509 certificates.</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="Examples." href="xmlsec-examples.html"> +<link rel="PREVIOUS" title="Verifying a signature with keys manager." href="xmlsec-verify-with-keys-mngr.html"> +<link rel="NEXT" title="Verifying a signature with additional restrictions." href="xmlsec-verify-with-restrictions.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-verify-with-keys-mngr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-verify-with-restrictions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<br clear="all"><div class="SECT1"> +<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-X509">Verifying a signature with X509 certificates.</a></h1> +<br clear="all"><div class="SECT2"> +<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY3">verify3.c</a></h2> +<p></p> +<div class="INFORMALEXAMPLE"> +<p></p> +<a name="AEN715"></a><pre class="PROGRAMLISTING">/** + * XML Security Library example: Verifying a file signed with X509 certificate + * + * Verifies a file signed with X509 certificate. + * + * This example was developed and tested with OpenSSL crypto library. The + * certificates management policies for another crypto library may break it. + * + * Usage: + * verify3 <signed-file> <trusted-cert-pem-file1> [<trusted-cert-pem-file2> [...]] + * + * Example: + * ./verify3 sign3-res.xml rootcert.pem + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> + */ +#include <stdlib.h> +#include <string.h> +#include <assert.h> + +#include <libxml/tree.h> +#include <libxml/xmlmemory.h> +#include <libxml/parser.h> + +#ifndef XMLSEC_NO_XSLT +#include <libxslt/xslt.h> +#include <libxslt/security.h> +#endif /* XMLSEC_NO_XSLT */ + +#include <xmlsec/xmlsec.h> +#include <xmlsec/xmltree.h> +#include <xmlsec/xmldsig.h> +#include <xmlsec/crypto.h> + +xmlSecKeysMngrPtr load_trusted_certs(char** files, int files_size); +int verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file); + +int +main(int argc, char **argv) { +#ifndef XMLSEC_NO_XSLT + xsltSecurityPrefsPtr xsltSecPrefs = NULL; +#endif /* XMLSEC_NO_XSLT */ + xmlSecKeysMngrPtr mngr; + + assert(argv); + + if(argc < 3) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + fprintf(stderr, "Usage: %s <xml-file> <cert-file1> [<cert-file2> [...]]\n", argv[0]); + return(1); + } + + /* Init libxml and libxslt libraries */ + xmlInitParser(); + LIBXML_TEST_VERSION + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); +#ifndef XMLSEC_NO_XSLT + xmlIndentTreeOutput = 1; +#endif /* XMLSEC_NO_XSLT */ + + /* Init libxslt */ +#ifndef XMLSEC_NO_XSLT + /* disable everything */ + xsltSecPrefs = xsltNewSecurityPrefs(); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); + xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); + xsltSetDefaultSecurityPrefs(xsltSecPrefs); +#endif /* XMLSEC_NO_XSLT */ + + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + /* Load default crypto engine if we are supporting dynamic + * loading for xmlsec-crypto libraries. Use the crypto library + * name ("openssl", "nss", etc.) to load corresponding + * xmlsec-crypto library. + */ +#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING + if(xmlSecCryptoDLLoadLibrary(BAD_CAST XMLSEC_CRYPTO) < 0) { + fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" + "that you have it installed and check shared libraries path\n" + "(LD_LIBRARY_PATH) envornment variable.\n"); + return(-1); + } +#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ + + /* Init crypto library */ + if(xmlSecCryptoAppInit(NULL) < 0) { + fprintf(stderr, "Error: crypto initialization failed.\n"); + return(-1); + } + + /* Init xmlsec-crypto library */ + if(xmlSecCryptoInit() < 0) { + fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); + return(-1); + } + + /* create keys manager and load trusted certificates */ + mngr = load_trusted_certs(&(argv[2]), argc - 2); + if(mngr == NULL) { + return(-1); + } + + /* verify file */ + if(verify_file(mngr, argv[1]) < 0) { + xmlSecKeysMngrDestroy(mngr); + return(-1); + } + + /* destroy keys manager */ + xmlSecKeysMngrDestroy(mngr); + + /* Shutdown xmlsec-crypto library */ + xmlSecCryptoShutdown(); + + /* Shutdown crypto library */ + xmlSecCryptoAppShutdown(); + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + + /* Shutdown libxslt/libxml */ +#ifndef XMLSEC_NO_XSLT + xsltFreeSecurityPrefs(xsltSecPrefs); + xsltCleanupGlobals(); +#endif /* XMLSEC_NO_XSLT */ + xmlCleanupParser(); + + return(0); +} + +/** + * load_trusted_certs: + * @files: the list of filenames. + * @files_size: the number of filenames in #files. + * + * Creates simple keys manager and load trusted certificates from PEM #files. + * The caller is responsible for destroing returned keys manager using + * @xmlSecKeysMngrDestroy. + * + * Returns the pointer to newly created keys manager or NULL if an error + * occurs. + */ +xmlSecKeysMngrPtr +load_trusted_certs(char** files, int files_size) { + xmlSecKeysMngrPtr mngr; + int i; + + assert(files); + assert(files_size > 0); + + /* create and initialize keys manager, we use a simple list based + * keys manager, implement your own xmlSecKeysStore klass if you need + * something more sophisticated + */ + mngr = xmlSecKeysMngrCreate(); + if(mngr == NULL) { + fprintf(stderr, "Error: failed to create keys manager.\n"); + return(NULL); + } + if(xmlSecCryptoAppDefaultKeysMngrInit(mngr) < 0) { + fprintf(stderr, "Error: failed to initialize keys manager.\n"); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + + for(i = 0; i < files_size; ++i) { + assert(files[i]); + + /* load trusted cert */ + if(xmlSecCryptoAppKeysMngrCertLoad(mngr, files[i], xmlSecKeyDataFormatPem, xmlSecKeyDataTypeTrusted) < 0) { + fprintf(stderr,"Error: failed to load pem certificate from \"%s\"\n", files[i]); + xmlSecKeysMngrDestroy(mngr); + return(NULL); + } + } + + return(mngr); +} + +/** + * verify_file: + * @mngr: the pointer to keys manager. + * @xml_file: the signed XML file name. + * + * Verifies XML signature in #xml_file. + * + * Returns 0 on success or a negative value if an error occurs. + */ +int +verify_file(xmlSecKeysMngrPtr mngr, const char* xml_file) { + xmlDocPtr doc = NULL; + xmlNodePtr node = NULL; + xmlSecDSigCtxPtr dsigCtx = NULL; + int res = -1; + + assert(mngr); + assert(xml_file); + + /* load file */ + doc = xmlParseFile(xml_file); + if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_file); + goto done; + } + + /* find start node */ + node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); + if(node == NULL) { + fprintf(stderr, "Error: start node not found in \"%s\"\n", xml_file); + goto done; + } + + /* create signature context */ + dsigCtx = xmlSecDSigCtxCreate(mngr); + if(dsigCtx == NULL) { + fprintf(stderr,"Error: failed to create signature context\n"); + goto done; + } + + /* Verify signature */ + if(xmlSecDSigCtxVerify(dsigCtx, node) < 0) { + fprintf(stderr,"Error: signature verify\n"); + goto done; + } + + /* print verification result to stdout */ + if(dsigCtx->status == xmlSecDSigStatusSucceeded) { + fprintf(stdout, "Signature is OK\n"); + } else { + fprintf(stdout, "Signature is INVALID\n"); + } + + /* success */ + res = 0; + +done: + /* cleanup */ + if(dsigCtx != NULL) { + xmlSecDSigCtxDestroy(dsigCtx); + } + + if(doc != NULL) { + xmlFreeDoc(doc); + } + return(res); +} +
</pre> +<p></p> +</div> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-verify-with-keys-mngr.html"><b><<< Verifying a signature with keys manager.</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-verify-with-restrictions.html"><b>Verifying a signature with additional restrictions. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-version.html b/docs/api/xmlsec-version.html new file mode 100644 index 00000000..db8c0406 --- /dev/null +++ b/docs/api/xmlsec-version.html @@ -0,0 +1,143 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>version</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="transforms" href="xmlsec-transforms.html"> +<link rel="NEXT" title="xmldsig" href="xmlsec-xmldsig.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-transforms.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-xmldsig.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-VERSION"></a>version</h1> +<div class="REFNAMEDIV"> +<a name="AEN21186"></a><h2>Name</h2>version -- Version macros.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-VERSION.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-version.html#XMLSEC-VERSION:CAPS">XMLSEC_VERSION</a> +#define <a href="xmlsec-version.html#XMLSEC-VERSION-MAJOR:CAPS">XMLSEC_VERSION_MAJOR</a> +#define <a href="xmlsec-version.html#XMLSEC-VERSION-MINOR:CAPS">XMLSEC_VERSION_MINOR</a> +#define <a href="xmlsec-version.html#XMLSEC-VERSION-SUBMINOR:CAPS">XMLSEC_VERSION_SUBMINOR</a> +#define <a href="xmlsec-version.html#XMLSEC-VERSION-INFO:CAPS">XMLSEC_VERSION_INFO</a></pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-VERSION.DESCRIPTION"></a><h2>Description</h2> +<p>Version macros.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-VERSION.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-VERSION:CAPS"></a><h3>XMLSEC_VERSION</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_VERSION "1.2.18"</pre> +<p>The library version string in the format +"<major-number>.<minor-number>.<sub-minor-number>".</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-VERSION-MAJOR:CAPS"></a><h3>XMLSEC_VERSION_MAJOR</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_MAJOR 1</pre> +<p>The library major version number.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-VERSION-MINOR:CAPS"></a><h3>XMLSEC_VERSION_MINOR</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_MINOR 2</pre> +<p>The library minor version number.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-VERSION-SUBMINOR:CAPS"></a><h3>XMLSEC_VERSION_SUBMINOR</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_SUBMINOR 18</pre> +<p>The library sub-minor version number.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-VERSION-INFO:CAPS"></a><h3>XMLSEC_VERSION_INFO</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_INFO "3:18:2"</pre> +<p>The library version info string in the format +"<major-number>+<minor-number>:<sub-minor-number>:<minor-number>".</p> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-transforms.html"><b><<< transforms</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-xmldsig.html"><b>xmldsig >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-x509.html b/docs/api/xmlsec-x509.html new file mode 100644 index 00000000..7169a71c --- /dev/null +++ b/docs/api/xmlsec-x509.html @@ -0,0 +1,181 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>x509</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="xmltree" href="xmlsec-xmltree.html"> +<link rel="NEXT" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-xmltree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-openssl-ref.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-X509"></a>x509</h1> +<div class="REFNAMEDIV"> +<a name="AEN25796"></a><h2>Name</h2>x509 -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-X509.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-CERTIFICATE-NODE:CAPS">XMLSEC_X509DATA_CERTIFICATE_NODE</a> +#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-SUBJECTNAME-NODE:CAPS">XMLSEC_X509DATA_SUBJECTNAME_NODE</a> +#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-ISSUERSERIAL-NODE:CAPS">XMLSEC_X509DATA_ISSUERSERIAL_NODE</a> +#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-SKI-NODE:CAPS">XMLSEC_X509DATA_SKI_NODE</a> +#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-CRL-NODE:CAPS">XMLSEC_X509DATA_CRL_NODE</a> +#define <a href="xmlsec-x509.html#XMLSEC-X509DATA-DEFAULT:CAPS">XMLSEC_X509DATA_DEFAULT</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-x509.html#XMLSECX509DATAGETNODECONTENT">xmlSecX509DataGetNodeContent</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> deleteChildren</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-X509.DESCRIPTION"></a><h2>Description</h2> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-X509.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-CERTIFICATE-NODE:CAPS"></a><h3>XMLSEC_X509DATA_CERTIFICATE_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_CERTIFICATE_NODE 0x00000001</pre> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node found or would be written back.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-SUBJECTNAME-NODE:CAPS"></a><h3>XMLSEC_X509DATA_SUBJECTNAME_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_SUBJECTNAME_NODE 0x00000002</pre> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SubjectName" target="_top"><dsig:X509SubjectName/></a> node found or would be written back.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-ISSUERSERIAL-NODE:CAPS"></a><h3>XMLSEC_X509DATA_ISSUERSERIAL_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_ISSUERSERIAL_NODE 0x00000004</pre> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial" target="_top"><dsig:X509IssuerSerial/></a> node found or would be written back.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-SKI-NODE:CAPS"></a><h3>XMLSEC_X509DATA_SKI_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_SKI_NODE 0x00000008</pre> +<p><dsig:/X509SKI> node found or would be written back.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-CRL-NODE:CAPS"></a><h3>XMLSEC_X509DATA_CRL_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_CRL_NODE 0x00000010</pre> +<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509CRL" target="_top"><dsig:X509CRL/></a> node found or would be written back.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-X509DATA-DEFAULT:CAPS"></a><h3>XMLSEC_X509DATA_DEFAULT</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_DEFAULT</pre> +<p>Default set of nodes to write in case of empty +<a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node template.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECX509DATAGETNODECONTENT"></a><h3>xmlSecX509DataGetNodeContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecX509DataGetNodeContent (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> deleteChildren</code>, + <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre> +<p>Reads the contents of <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node and returns it as +a bits mask.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25887"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25893"><span style="white-space: nowrap"><code class="PARAMETER">deleteChildren</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag that indicates whether to remove node children after reading.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25898"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25904"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the bit mask representing the <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node content +or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-xmltree.html"><b><<< xmltree</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-openssl-ref.html"><b>XML Security Library for OpenSLL API Reference. >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-xmldsig.html b/docs/api/xmlsec-xmldsig.html new file mode 100644 index 00000000..af6c63fb --- /dev/null +++ b/docs/api/xmlsec-xmldsig.html @@ -0,0 +1,853 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>xmldsig</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="version" href="xmlsec-version.html"> +<link rel="NEXT" title="xmlenc" href="xmlsec-xmlenc.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-version.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-xmlenc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-XMLDSIG"></a>xmldsig</h1> +<div class="REFNAMEDIV"> +<a name="AEN21237"></a><h2>Name</h2>xmldsig -- XML Digital Signature support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-XMLDSIG.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">enum <a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a>; +#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS">XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</a> +#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</a> +#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</a> +#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</a> +#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</a> +struct <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>; +<gtkdoclink href="XMLSECDSIGCTXPTR"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a> + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a> + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +enum <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a>; +struct <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a>; +<gtkdoclink href="XMLSECDSIGREFERENCECTXPTR"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a> + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.DESCRIPTION"></a><h2>Description</h2> +<p>XML Digital Signature support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECDSIGSTATUS"></a><h3>enum xmlSecDSigStatus</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecDSigStatusUnknown = 0, + xmlSecDSigStatusSucceeded, + xmlSecDSigStatusInvalid +} xmlSecDSigStatus;</pre> +<p>XML Digital signature processing status.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSUNKNOWN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusUnknown</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the status is unknow.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSSUCCEEDED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusSucceeded</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the processing succeeded.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSINVALID"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusInvalid</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the processing failed.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001</pre> +<p>If this flag is set then <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifests" target="_top"><dsig:Manifests/></a> nodes will not be processed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002</pre> +<p>If this flag is set then pre-digest buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> child +of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004</pre> +<p>If this flag is set then pre-digest buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> child +of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008</pre> +<p>If this flag is set then pre-signature buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> +element processing will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010</pre> +<p>If this flag is set then URI ID references are resolved directly +without using XPointers. This allows one to sign/verify Visa3D +documents that don't follow XML, XPointer and XML DSig specifications.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTX"></a><h3>struct xmlSecDSigCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecDSigCtx { + /* these data user can set before performing the operation */ + void* userData; + unsigned int flags; + unsigned int flags2; + xmlSecKeyInfoCtx keyInfoReadCtx; + xmlSecKeyInfoCtx keyInfoWriteCtx; + xmlSecTransformCtx transformCtx; + xmlSecTransformUriType enabledReferenceUris; + xmlSecPtrListPtr enabledReferenceTransforms; + xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback; + xmlSecTransformId defSignMethodId; + xmlSecTransformId defC14NMethodId; + xmlSecTransformId defDigestMethodId; + + /* these data are returned */ + xmlSecKeyPtr signKey; + xmlSecTransformOperation operation; + xmlSecBufferPtr result; + xmlSecDSigStatus status; + xmlSecTransformPtr signMethod; + xmlSecTransformPtr c14nMethod; + xmlSecTransformPtr preSignMemBufMethod; + xmlNodePtr signValueNode; + xmlChar* id; + xmlSecPtrList signedInfoReferences; + xmlSecPtrList manifestReferences; + + /* reserved for future */ + void* reserved0; + void* reserved1; +};</pre> +<p>XML DSig processing context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21487"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries + never touches this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21494"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML Digital Signature processing flags.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21501"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML Digital Signature processing flags.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21508"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the reading key context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21515"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the writing key context (not used for signature verification).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21522"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21530"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledReferenceUris</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI types allowed for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21538"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">enabledReferenceTransforms</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of transforms allowed in <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21546"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">referencePreExecuteCallback</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the callback for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node processing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21554"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defSignMethodId</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the default signing method klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21561"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defC14NMethodId</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the default c14n method klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21568"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defDigestMethodId</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the default digest method klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21575"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">signKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature key; application may set <gtkdoclink href="SIGNKEY"><span class="TYPE">signKey</span></gtkdoclink> + before calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN"><span class="TYPE">xmlSecDSigCtxSign</span></a> or <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY"><span class="TYPE">xmlSecDSigCtxVerify</span></a> + functions.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21588"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the operation: sign or verify.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21595"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature (not valid for signature verificaction).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21602"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signatuire" target="_top"><dsig:Signatuire/></a> procesisng status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21610"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">signMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21617"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">c14nMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to c14n transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21624"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preSignMemBufMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary buffer right before signature + (valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> flag is set).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21633"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">signValueNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21641"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Id attribute of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21649"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">signedInfoReferences</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of references in <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21657"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">manifestReferences</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of references in <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21665"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21672"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXCREATE"></a><h3>xmlSecDSigCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECDSIGCTXPTR"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></gtkdoclink> xmlSecDSigCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Creates <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> element processing context. +The caller is responsible for destroying returned object by calling +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY"><span class="TYPE">xmlSecDSigCtxDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21694"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21699"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated context object or NULL if an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXDESTROY"></a><h3>xmlSecDSigCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE"><span class="TYPE">xmlSecDSigCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21718"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXINITIALIZE"></a><h3>xmlSecDSigCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> element processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE"><span class="TYPE">xmlSecDSigCtxFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21742"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21748"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21753"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXFINALIZE"></a><h3>xmlSecDSigCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Cleans up <code class="PARAMETER">dsigCtx</code> object initialized with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE"><span class="TYPE">xmlSecDSigCtxInitialize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21773"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXSIGN"></a><h3>xmlSecDSigCtxSign ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxSign (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>);</pre> +<p>Signs the data as described in <code class="PARAMETER">tmpl</code> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21795"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21801"><span style="white-space: nowrap"><code class="PARAMETER">tmpl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node with signature template.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21807"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXVERIFY"></a><h3>xmlSecDSigCtxVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxVerify (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Vaidates signature in the <code class="PARAMETER">node</code>. The verification result is returned +in <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of the <code class="PARAMETER">dsigCtx</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21831"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21837"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer with <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21843"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success (check <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <code class="PARAMETER">dsigCtx</code> to get +signature verification result) or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXENABLEREFERENCETRANSFORM"></a><h3>xmlSecDSigCtxEnableReferenceTransform ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxEnableReferenceTransform + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Enables <code class="PARAMETER">transformId</code> for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> elements processing.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21868"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21874"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21879"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXENABLESIGNATURETRANSFORM"></a><h3>xmlSecDSigCtxEnableSignatureTransform ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxEnableSignatureTransform + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Enables <code class="PARAMETER">transformId</code> for <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> element processing.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21901"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21907"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21912"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXGETPRESIGNBUFFER"></a><h3>xmlSecDSigCtxGetPreSignBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink> xmlSecDSigCtxGetPreSignBuffer (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Gets pointer to the buffer with serialized <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> element +just before signature claculation (valid if and only if +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> context flag is set.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21932"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21938"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXDEBUGDUMP"></a><h3>xmlSecDSigCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21960"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21966"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXDEBUGXMLDUMP"></a><h3>xmlSecDSigCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21988"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21994"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCEORIGIN"></a><h3>enum xmlSecDSigReferenceOrigin</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecDSigReferenceOriginSignedInfo, + xmlSecDSigReferenceOriginManifest +} xmlSecDSigReferenceOrigin;</pre> +<p>The possible <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node locations: in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> +node or in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECDSIGREFERENCEORIGINSIGNEDINFO"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigReferenceOriginSignedInfo</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>reference in <dsig:SignedInfo> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECDSIGREFERENCEORIGINMANIFEST"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigReferenceOriginManifest</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>reference <dsig:Manifest> node.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTX"></a><h3>struct xmlSecDSigReferenceCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecDSigReferenceCtx { + void* userData; + xmlSecDSigCtxPtr dsigCtx; + xmlSecDSigReferenceOrigin origin; + xmlSecTransformCtx transformCtx; + xmlSecTransformPtr digestMethod; + + xmlSecBufferPtr result; + xmlSecDSigStatus status; + xmlSecTransformPtr preDigestMemBufMethod; + xmlChar* id; + xmlChar* uri; + xmlChar* type; + + /* reserved for future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> processing context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22027"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries + never touches this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22034"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> <code class="STRUCTFIELD">dsigCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to "parent" <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22042"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> <code class="STRUCTFIELD">origin</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22051"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference processing transforms context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22058"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">digestMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to digest transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22065"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to digest result.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22072"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference processing status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22079"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preDigestMemBufMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to binary buffer right before digest + (valid only if either + <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or + <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flags are set).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22090"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node ID attribute.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22098"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">uri</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node URI attribute.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22106"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">type</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node Type attribute.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22114"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22121"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXCREATE"></a><h3>xmlSecDSigReferenceCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECDSIGREFERENCECTXPTR"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></gtkdoclink> xmlSecDSigReferenceCtxCreate (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> +<p>Creates new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context. Caller is responsible +for destroying the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY"><span class="TYPE">xmlSecDSigReferenceCtxDestroy</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22146"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22152"><span style="white-space: nowrap"><code class="PARAMETER">origin</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22159"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created context or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXDESTROY"></a><h3>xmlSecDSigReferenceCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE"><span class="TYPE">xmlSecDSigReferenceCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22178"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXINITIALIZE"></a><h3>xmlSecDSigReferenceCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigReferenceCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> +<p>Initializes new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context. Caller is responsible +for cleaning up the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE"><span class="TYPE">xmlSecDSigReferenceCtxFinalize</span></a> +function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22205"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22211"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22217"><span style="white-space: nowrap"><code class="PARAMETER">origin</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the reference origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22224"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on succes or aa negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXFINALIZE"></a><h3>xmlSecDSigReferenceCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Cleans up context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE"><span class="TYPE">xmlSecDSigReferenceCtxInitialize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22243"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXPROCESSNODE"></a><h3>xmlSecDSigReferenceCtxProcessNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigReferenceCtxProcessNode (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>The Reference Element (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-REFERENCE"><span class="TYPE">sec-Reference</span></gtkdoclink>)</p> +<p>Reference is an element that may occur one or more times. It specifies +a digest algorithm and digest value, and optionally an identifier of the +object being signed, the type of the object, and/or a list of transforms +to be applied prior to digesting. The identification (URI) and transforms +describe how the digested content (i.e., the input to the digest method) +was created. The Type attribute facilitates the processing of referenced +data. For example, while this specification makes no requirements over +external data, an application may wish to signal that the referent is a +Manifest. An optional ID attribute permits a Reference to be referenced +from elsewhere.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22267"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22273"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22279"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on succes or aa negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER"></a><h3>xmlSecDSigReferenceCtxGetPreDigestBuffer ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> xmlSecDSigReferenceCtxGetPreDigestBuffer + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Gets the results of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node processing just before digesting +(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flas of signature context +is set).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22301"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22307"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXDEBUGDUMP"></a><h3>xmlSecDSigReferenceCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code> to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22329"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22335"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXDEBUGXMLDUMP"></a><h3>xmlSecDSigReferenceCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code> to <code class="PARAMETER">output</code> in output format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22357"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22363"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXLISTID"></a><h3>xmlSecDSigReferenceCtxListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecDSigReferenceCtxListId</pre> +<p>The references list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXLISTGETKLASS"></a><h3>xmlSecDSigReferenceCtxListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecDSigReferenceCtxListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing contexts list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22386"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context list klass.</p></td> +</tr></tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-version.html"><b><<< version</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-xmlenc.html"><b>xmlenc >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-xmlenc.html b/docs/api/xmlsec-xmlenc.html new file mode 100644 index 00000000..9d6dcb6f --- /dev/null +++ b/docs/api/xmlsec-xmlenc.html @@ -0,0 +1,584 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>xmlenc</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="xmldsig" href="xmlsec-xmldsig.html"> +<link rel="NEXT" title="xmlsec" href="xmlsec-xmlsec.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-xmldsig.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-xmlsec.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-XMLENC"></a>xmlenc</h1> +<div class="REFNAMEDIV"> +<a name="AEN22397"></a><h2>Name</h2>xmlenc -- XML Encryption support.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-XMLENC.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">enum <a href="xmlsec-xmlenc.html#XMLENCCTXMODE">xmlEncCtxMode</a>; +#define <a href="xmlsec-xmlenc.html#XMLSEC-ENC-RETURN-REPLACED-NODE:CAPS">XMLSEC_ENC_RETURN_REPLACED_NODE</a> +struct <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a>; +<gtkdoclink href="XMLSECENCCTXPTR"><span class="RETURNVALUE">xmlSecEncCtxPtr</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXCOPYUSERPREF">xmlSecEncCtxCopyUserPref</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> src</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXRESET">xmlSecEncCtxReset</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecEncCtxDecrypt</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPTTOBUFFER">xmlSecEncCtxDecryptToBuffer</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGDUMP">xmlSecEncCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGXMLDUMP">xmlSecEncCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLENC.DESCRIPTION"></a><h2>Description</h2> +<p>XML Encryption support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLENC.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLENCCTXMODE"></a><h3>enum xmlEncCtxMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlEncCtxModeEncryptedData = 0, + xmlEncCtxModeEncryptedKey +} xmlEncCtxMode;</pre> +<p>The <a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtx</span></a> mode.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLENCCTXMODEENCRYPTEDDATA"><span style="white-space: nowrap"><tt class="LITERAL">xmlEncCtxModeEncryptedData</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> element procesing.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLENCCTXMODEENCRYPTEDKEY"><span style="white-space: nowrap"><tt class="LITERAL">xmlEncCtxModeEncryptedKey</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> element processing.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-ENC-RETURN-REPLACED-NODE:CAPS"></a><h3>XMLSEC_ENC_RETURN_REPLACED_NODE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_ENC_RETURN_REPLACED_NODE 0x00000001</pre> +<p>If this flag is set, then the replaced node will be returned in the replacedNodeList</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTX"></a><h3>struct xmlSecEncCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecEncCtx { + /* these data user can set before performing the operation */ + void* userData; + unsigned int flags; + unsigned int flags2; + xmlEncCtxMode mode; + xmlSecKeyInfoCtx keyInfoReadCtx; + xmlSecKeyInfoCtx keyInfoWriteCtx; + xmlSecTransformCtx transformCtx; + xmlSecTransformId defEncMethodId; + + /* these data are returned */ + xmlSecKeyPtr encKey; + xmlSecTransformOperation operation; + xmlSecBufferPtr result; + int resultBase64Encoded; + int resultReplaced; + xmlSecTransformPtr encMethod; + + /* attributes from EncryptedData or EncryptedKey */ + xmlChar* id; + xmlChar* type; + xmlChar* mimeType; + xmlChar* encoding; + xmlChar* recipient; + xmlChar* carriedKeyName; + + /* these are internal data, nobody should change that except us */ + xmlNodePtr encDataNode; + xmlNodePtr encMethodNode; + xmlNodePtr keyInfoNode; + xmlNodePtr cipherValueNode; + + xmlNodePtr replacedNodeList; /* the pointer to the replaced node */ + void* reserved1; /* reserved for future */ +};</pre> +<p>XML Encrypiton context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22562"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries + never touches this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22569"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML Encryption processing flags.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22576"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML Encryption processing flags.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22583"><span style="white-space: nowrap"><a href="xmlsec-xmlenc.html#XMLENCCTXMODE"><span class="TYPE">xmlEncCtxMode</span></a> <code class="STRUCTFIELD">mode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22590"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the reading key context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22597"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the writing key context (not used for signature verification).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22604"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transforms processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22611"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defEncMethodId</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the default encryption method (used if + <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionMethod" target="_top"><enc:EncryptionMethod/></a> node is not present).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22619"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">encKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the signature key; application may set <gtkdoclink href="ENCKEY"><span class="TYPE">encKey</span></gtkdoclink> + before calling encryption/decryption functions.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22628"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the operation: encrypt or decrypt.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22635"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to signature (not valid for signature verificaction).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22642"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">resultBase64Encoded</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set then result in <gtkdoclink href="RESULT"><span class="TYPE">result</span></gtkdoclink> is base64 encoded.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22651"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">resultReplaced</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set then resulted <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node is added to the document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22660"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">encMethod</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to encryption transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22667"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the ID attribute of <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22676"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">type</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the Type attribute of <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22685"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">mimeType</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the MimeType attribute of <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22694"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">encoding</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the Encoding attributeof <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22703"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">recipient</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the Recipient attribute of <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node..</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22711"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">carriedKeyName</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the CarriedKeyName attribute of <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22719"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">encDataNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> + or <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22728"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">encMethodNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptionMethod" target="_top"><enc:EncryptionMethod/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22736"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">keyInfoNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-KeyInfo" target="_top"><enc:KeyInfo/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22744"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">cipherValueNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22752"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">replacedNodeList</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the first node of the list of replaced nodes depending on the nodeReplacementMode</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22759"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXCREATE"></a><h3>xmlSecEncCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECENCCTXPTR"><span class="RETURNVALUE">xmlSecEncCtxPtr</span></gtkdoclink> xmlSecEncCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Creates <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> element processing context. +The caller is responsible for destroying returned object by calling +<a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY"><span class="TYPE">xmlSecEncCtxDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22781"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22786"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated context object or NULL if an error +occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXDESTROY"></a><h3>xmlSecEncCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecEncCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE"><span class="TYPE">xmlSecEncCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22805"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXINITIALIZE"></a><h3>xmlSecEncCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Initializes <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> element processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE"><span class="TYPE">xmlSecEncCtxFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22829"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22835"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22840"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXFINALIZE"></a><h3>xmlSecEncCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecEncCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre> +<p>Cleans up <code class="PARAMETER">encCtx</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22858"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXCOPYUSERPREF"></a><h3>xmlSecEncCtxCopyUserPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> src</code>);</pre> +<p>Copies user preference from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22881"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22886"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22891"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXRESET"></a><h3>xmlSecEncCtxReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecEncCtxReset (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre> +<p>Resets <code class="PARAMETER">encCtx</code> object, user settings are not touched.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN22909"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXBINARYENCRYPT"></a><h3>xmlSecEncCtxBinaryEncrypt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxBinaryEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Encrypts <code class="PARAMETER">data</code> according to template <code class="PARAMETER">tmpl</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22938"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22944"><span style="white-space: nowrap"><code class="PARAMETER">tmpl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> template node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22950"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer for binary buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22955"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the <code class="PARAMETER">data</code> buffer size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22961"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXXMLENCRYPT"></a><h3>xmlSecEncCtxXmlEncrypt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxXmlEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Encrypts <code class="PARAMETER">node</code> according to template <code class="PARAMETER">tmpl</code>. If requested, <code class="PARAMETER">node</code> is replaced +with result <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22988"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN22994"><span style="white-space: nowrap"><code class="PARAMETER">tmpl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> template node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23000"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node for encryption.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23005"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXURIENCRYPT"></a><h3>xmlSecEncCtxUriEncrypt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxUriEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Encrypts data from <code class="PARAMETER">uri</code> according to template <code class="PARAMETER">tmpl</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23030"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23036"><span style="white-space: nowrap"><code class="PARAMETER">tmpl</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> template node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23042"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23047"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXDECRYPT"></a><h3>xmlSecEncCtxDecrypt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecEncCtxDecrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Decrypts <code class="PARAMETER">node</code> and if necessary replaces <code class="PARAMETER">node</code> with decrypted data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23069"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23075"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23081"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXDECRYPTTOBUFFER"></a><h3>xmlSecEncCtxDecryptToBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink> xmlSecEncCtxDecryptToBuffer (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Decrypts <code class="PARAMETER">node</code> data to the <code class="PARAMETER">encCtx</code> buffer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23103"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23109"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23115"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXDEBUGDUMP"></a><h3>xmlSecEncCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecEncCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">encCtx</code> to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23137"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23143"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECENCCTXDEBUGXMLDUMP"></a><h3>xmlSecEncCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecEncCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">encCtx</code> to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23165"><span style="white-space: nowrap"><code class="PARAMETER">encCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedData" target="_top"><enc:EncryptedData/></a> processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23171"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-xmldsig.html"><b><<< xmldsig</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-xmlsec.html"><b>xmlsec >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-xmlsec.html b/docs/api/xmlsec-xmlsec.html new file mode 100644 index 00000000..f83142b5 --- /dev/null +++ b/docs/api/xmlsec-xmlsec.html @@ -0,0 +1,300 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>xmlsec</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="xmlenc" href="xmlsec-xmlenc.html"> +<link rel="NEXT" title="xmltree" href="xmlsec-xmltree.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-xmlenc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-xmltree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-XMLSEC"></a>xmlsec</h1> +<div class="REFNAMEDIV"> +<a name="AEN23181"></a><h2>Name</h2>xmlsec -- Utility functions.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-XMLSEC.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">typedef <font>xmlSecPtr</font>; +#define <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> +#define <a href="xmlsec-xmlsec.html#XMLSEC-SIZE-BAD-CAST:CAPS">XMLSEC_SIZE_BAD_CAST</a> (val) +#define <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXACT">xmlSecCheckVersionExact</a> +#define <a href="xmlsec-xmlsec.html#XMLSECCHECKVERSION">xmlSecCheckVersion</a> +enum <a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE">xmlSecCheckVersionMode</a>; +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXT">xmlSecCheckVersionExt</a> (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> major</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> minor</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> subminor</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE"><span class="TYPE">xmlSecCheckVersionMode</span></a> mode</code>); +#define <a href="xmlsec-xmlsec.html#ATTRIBUTE-UNUSED:CAPS">ATTRIBUTE_UNUSED</a> +#define <a href="xmlsec-xmlsec.html#XMLSEC-PTR-TO-FUNC-IMPL:CAPS">XMLSEC_PTR_TO_FUNC_IMPL</a> (func_type) +#define <a href="xmlsec-xmlsec.html#XMLSEC-PTR-TO-FUNC:CAPS">XMLSEC_PTR_TO_FUNC</a> (func_type, + ptr) +#define <a href="xmlsec-xmlsec.html#XMLSEC-FUNC-TO-PTR:CAPS">XMLSEC_FUNC_TO_PTR</a> (func_type, + func)</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLSEC.DESCRIPTION"></a><h2>Description</h2> +<p>Utility functions.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLSEC.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECPTR"></a><h3>xmlSecPtr</h3> +<pre class="PROGRAMLISTING">typedef void* xmlSecPtr;</pre> +<p>Void pointer.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSIZE"></a><h3>xmlSecSize</h3> +<pre class="PROGRAMLISTING">#define xmlSecSize</pre> +<p>Size of something. Should be typedef instead of define +but it will break ABI (todo).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-SIZE-BAD-CAST:CAPS"></a><h3>XMLSEC_SIZE_BAD_CAST()</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_SIZE_BAD_CAST(val) ((xmlSecSize)(val))</pre> +<p>Bad cast to xmlSecSize</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN23247"><span style="white-space: nowrap"><code class="PARAMETER">val</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the value to cast</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBYTE"></a><h3>xmlSecByte</h3> +<pre class="PROGRAMLISTING">#define xmlSecByte unsigned char</pre> +<p>One byte. Should be typedef instead of define +but it will break ABI (todo).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECINIT"></a><h3>xmlSecInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes XML Security Library. The depended libraries +(LibXML and LibXSLT) must be initialized before.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN23269"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECSHUTDOWN"></a><h3>xmlSecShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Clean ups the XML Security Library.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN23285"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCHECKVERSIONEXACT"></a><h3>xmlSecCheckVersionExact</h3> +<pre class="PROGRAMLISTING">#define xmlSecCheckVersionExact()</pre> +<p>Macro. Returns 1 if the loaded xmlsec library version exactly matches +the one used to compile the caller, 0 if it does not or a negative +value if an error occurs.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCHECKVERSION"></a><h3>xmlSecCheckVersion</h3> +<pre class="PROGRAMLISTING">#define xmlSecCheckVersion()</pre> +<p>Macro. Returns 1 if the loaded xmlsec library version ABI compatible with +the one used to compile the caller, 0 if it does not or a negative +value if an error occurs.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCHECKVERSIONMODE"></a><h3>enum xmlSecCheckVersionMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecCheckVersionExactMatch = 0, + xmlSecCheckVersionABICompatible +} xmlSecCheckVersionMode;</pre> +<p>The xmlsec library version mode.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECCHECKVERSIONEXACTMATCH"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecCheckVersionExactMatch</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the version should match exactly.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECCHECKVERSIONABICOMPATIBLE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecCheckVersionABICompatible</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the version should be ABI compatible.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCHECKVERSIONEXT"></a><h3>xmlSecCheckVersionExt ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCheckVersionExt (<code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> major</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> minor</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> subminor</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE"><span class="TYPE">xmlSecCheckVersionMode</span></a> mode</code>);</pre> +<p>Checks if the loaded version of xmlsec library could be used.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23340"><span style="white-space: nowrap"><code class="PARAMETER">major</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the major version number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23345"><span style="white-space: nowrap"><code class="PARAMETER">minor</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the minor version number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23350"><span style="white-space: nowrap"><code class="PARAMETER">subminor</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the subminor version number.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23355"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the version check mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23360"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if the loaded xmlsec library version is OK to use +0 if it is not or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="ATTRIBUTE-UNUSED:CAPS"></a><h3>ATTRIBUTE_UNUSED</h3> +<pre class="PROGRAMLISTING">#define ATTRIBUTE_UNUSED</pre> +<p>Macro used to signal to GCC unused function parameters</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-PTR-TO-FUNC-IMPL:CAPS"></a><h3>XMLSEC_PTR_TO_FUNC_IMPL()</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_PTR_TO_FUNC_IMPL(func_type)</pre> +<p>Macro declares helper functions to convert between "void *" pointer and +function pointer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN23378"><span style="white-space: nowrap"><code class="PARAMETER">func_type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the function type.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-PTR-TO-FUNC:CAPS"></a><h3>XMLSEC_PTR_TO_FUNC()</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_PTR_TO_FUNC(func_type, ptr)</pre> +<p>Macro converts from "void*" pointer to "func_type" function pointer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23390"><span style="white-space: nowrap"><code class="PARAMETER">func_type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the function type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23395"><span style="white-space: nowrap"><code class="PARAMETER">ptr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the "void*" pointer to be converted.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-FUNC-TO-PTR:CAPS"></a><h3>XMLSEC_FUNC_TO_PTR()</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_FUNC_TO_PTR(func_type, func)</pre> +<p>Macro converts from "func_type" function pointer to "void*" pointer.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23407"><span style="white-space: nowrap"><code class="PARAMETER">func_type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the function type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23412"><span style="white-space: nowrap"><code class="PARAMETER">func</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the "func_type" function pointer to be converted.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-xmlenc.html"><b><<< xmlenc</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-xmltree.html"><b>xmltree >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec-xmltree.html b/docs/api/xmlsec-xmltree.html new file mode 100644 index 00000000..63658bab --- /dev/null +++ b/docs/api/xmlsec-xmltree.html @@ -0,0 +1,1529 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>xmltree</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="xmlsec" href="xmlsec-xmlsec.html"> +<link rel="NEXT" title="x509" href="xmlsec-x509.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-xmlsec.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-x509.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-XMLTREE"></a>xmltree</h1> +<div class="REFNAMEDIV"> +<a name="AEN23422"></a><h2>Name</h2>xmltree -- XML tree operations.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-XMLTREE.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-xmltree.html#XMLSECNODEGETNAME">xmlSecNodeGetName</a> (node) +const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-xmltree.html#XMLSECGETNODENSHREF">xmlSecGetNodeNsHref</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECCHECKNODENAME">xmlSecCheckNodeName</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECGETNEXTELEMENTNODE">xmlSecGetNextElementNode</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECFINDCHILD">xmlSecFindChild</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECFINDPARENT">xmlSecFindParent</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECFINDNODE">xmlSecFindNode</a> (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECADDCHILD">xmlSecAddChild</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECADDCHILDNODE">xmlSecAddChildNode</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> child</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECADDNEXTSIBLING">xmlSecAddNextSibling</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECADDPREVSIBLING">xmlSecAddPrevSibling</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACENODE">xmlSecReplaceNode</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACENODEANDRETURN">xmlSecReplaceNodeAndReturn</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENT">xmlSecReplaceContent</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENTANDRETURN">xmlSecReplaceContentAndReturn</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFER">xmlSecReplaceNodeBuffer</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFERANDRETURN">xmlSecReplaceNodeBufferAndReturn</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECNODEENCODEANDSETCONTENT">xmlSecNodeEncodeAndSetContent</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *buffer</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECADDIDS">xmlSecAddIDs</a> (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **ids</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECGENERATEANDADDID">xmlSecGenerateAndAddID</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-xmltree.html#XMLSECGENERATEID">xmlSecGenerateID</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>); +<gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECCREATETREE">xmlSecCreateTree</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *rootNodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *rootNodeNs</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECISEMPTYNODE">xmlSecIsEmptyNode</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECISEMPTYSTRING">xmlSecIsEmptyString</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* <a href="xmlsec-xmltree.html#XMLSECGETQNAME">xmlSecGetQName</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *local</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECPRINTXMLSTRING">xmlSecPrintXmlString</a> (<code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *fd</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>); +#define <a href="xmlsec-xmltree.html#XMLSECISHEX">xmlSecIsHex</a> (c) +#define <a href="xmlsec-xmltree.html#XMLSECGETHEX">xmlSecGetHex</a> (c) +struct <a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFO">xmlSecQName2IntegerInfo</a>; +typedef <font>xmlSecQName2IntegerInfoConstPtr</font>; +<gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="RETURNVALUE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINFO">xmlSecQName2IntegerGetInfo</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGER">xmlSecQName2IntegerGetInteger</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameHref</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameLocalPart</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGERFROMSTRING">xmlSecQName2IntegerGetIntegerFromString</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qname</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * <a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER">xmlSecQName2IntegerGetStringFromInteger</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEREAD">xmlSecQName2IntegerNodeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEWRITE">xmlSecQName2IntegerNodeWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEREAD">xmlSecQName2IntegerAttributeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEWRITE">xmlSecQName2IntegerAttributeWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGDUMP">xmlSecQName2IntegerDebugDump</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGXMLDUMP">xmlSecQName2IntegerDebugXmlDump</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +typedef <a href="xmlsec-xmltree.html#XMLSECBITMASK">xmlSecBitMask</a>; +struct <a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFO">xmlSecQName2BitMaskInfo</a>; +typedef <font>xmlSecQName2BitMaskInfoConstPtr</font>; +<gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="RETURNVALUE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETINFO">xmlSecQName2BitMaskGetInfo</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASK">xmlSecQName2BitMaskGetBitMask</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameLocalPart</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameHref</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESREAD">xmlSecQName2BitMaskNodesRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> stopOnUnknown</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASKFROMSTRING">xmlSecQName2BitMaskGetBitMaskFromString</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qname</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>); +<gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * <a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK">xmlSecQName2BitMaskGetStringFromBitMask</a> + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESWRITE">xmlSecQName2BitMaskNodesWrite</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGDUMP">xmlSecQName2BitMaskDebugDump</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGXMLDUMP">xmlSecQName2BitMaskDebugXmlDump</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLTREE.DESCRIPTION"></a><h2>Description</h2> +<p>XML tree operations.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLTREE.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSECNODEGETNAME"></a><h3>xmlSecNodeGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecNodeGetName(node)</pre> +<p>Macro. Returns node's name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN23970"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGETNODENSHREF"></a><h3>xmlSecGetNodeNsHref ()</h3> +<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecGetNodeNsHref (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>);</pre> +<p>Get's node's namespace href.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23987"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN23992"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> node's namespace href.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCHECKNODENAME"></a><h3>xmlSecCheckNodeName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecCheckNodeName (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Checks that the node has a given name and a given namespace href.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24015"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24020"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24025"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the namespace href.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24030"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if the node matches or 0 otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGETNEXTELEMENTNODE"></a><h3>xmlSecGetNextElementNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecGetNextElementNode (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>);</pre> +<p>Seraches for the next element node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24047"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24052"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to next element node or NULL if it is not found.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECFINDCHILD"></a><h3>xmlSecFindChild ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecFindChild (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Searches a direct child of the <code class="PARAMETER">parent</code> node having given name and +namespace href.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24076"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24081"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24086"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the namespace href (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24091"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the found node or NULL if an error occurs or +node is not found.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECFINDPARENT"></a><h3>xmlSecFindParent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecFindParent (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Searches the ancestors axis of the <code class="PARAMETER">cur</code> node for a node having given name +and namespace href.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24115"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24120"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24125"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the namespace href (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24130"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the found node or NULL if an error occurs or +node is not found.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECFINDNODE"></a><h3>xmlSecFindNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecFindNode (<code class="PARAMETER">const <gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Searches all children of the <code class="PARAMETER">parent</code> node having given name and +namespace href.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24154"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24159"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24164"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the namespace href (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24169"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to the found node or NULL if an error occurs or +node is not found.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECADDCHILD"></a><h3>xmlSecAddChild ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecAddChild (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Adds a child to the node <code class="PARAMETER">parent</code> with given <code class="PARAMETER">name</code> and namespace <code class="PARAMETER">ns</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24195"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24200"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24205"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24210"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the new node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECADDCHILDNODE"></a><h3>xmlSecAddChildNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecAddChildNode (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> parent</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> child</code>);</pre> +<p>Adds <code class="PARAMETER">child</code> node to the <code class="PARAMETER">parent</code> node.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24232"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24237"><span style="white-space: nowrap"><code class="PARAMETER">child</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24242"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the new node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECADDNEXTSIBLING"></a><h3>xmlSecAddNextSibling ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecAddNextSibling (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Adds next sibling to the node <code class="PARAMETER">node</code> with given <code class="PARAMETER">name</code> and namespace <code class="PARAMETER">ns</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24268"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24273"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24278"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24283"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the new node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECADDPREVSIBLING"></a><h3>xmlSecAddPrevSibling ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLNODEPTR"><span class="RETURNVALUE">xmlNodePtr</span></gtkdoclink> xmlSecAddPrevSibling (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *ns</code>);</pre> +<p>Adds prev sibling to the node <code class="PARAMETER">node</code> with given <code class="PARAMETER">name</code> and namespace <code class="PARAMETER">ns</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24309"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24314"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24319"><span style="white-space: nowrap"><code class="PARAMETER">ns</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24324"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the new node or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACENODE"></a><h3>xmlSecReplaceNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceNode (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>);</pre> +<p>Swaps the <code class="PARAMETER">node</code> and <code class="PARAMETER">newNode</code> in the XML tree.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24346"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24351"><span style="white-space: nowrap"><code class="PARAMETER">newNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24356"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACENODEANDRETURN"></a><h3>xmlSecReplaceNodeAndReturn ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceNodeAndReturn (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>);</pre> +<p>Swaps the <code class="PARAMETER">node</code> and <code class="PARAMETER">newNode</code> in the XML tree.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24381"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24386"><span style="white-space: nowrap"><code class="PARAMETER">newNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24391"><span style="white-space: nowrap"><code class="PARAMETER">replaced</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the replaced node, or release it if NULL is given</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24396"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACECONTENT"></a><h3>xmlSecReplaceContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceContent (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>);</pre> +<p>Swaps the content of <code class="PARAMETER">node</code> and <code class="PARAMETER">newNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24418"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24423"><span style="white-space: nowrap"><code class="PARAMETER">newNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24428"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACECONTENTANDRETURN"></a><h3>xmlSecReplaceContentAndReturn ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceContentAndReturn (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> newNode</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>);</pre> +<p>Swaps the content of <code class="PARAMETER">node</code> and <code class="PARAMETER">newNode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24453"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24458"><span style="white-space: nowrap"><code class="PARAMETER">newNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24463"><span style="white-space: nowrap"><code class="PARAMETER">replaced</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the replaced nodes, or release them if NULL is given</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24468"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACENODEBUFFER"></a><h3>xmlSecReplaceNodeBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceNodeBuffer (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre> +<p>Swaps the <code class="PARAMETER">node</code> and the parsed XML data from the <code class="PARAMETER">buffer</code> in the XML tree.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24493"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24498"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24503"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24508"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECREPLACENODEBUFFERANDRETURN"></a><h3>xmlSecReplaceNodeBufferAndReturn ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecReplaceNodeBufferAndReturn (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *replaced</code>);</pre> +<p>Swaps the <code class="PARAMETER">node</code> and the parsed XML data from the <code class="PARAMETER">buffer</code> in the XML tree.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24536"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the current node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24541"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24546"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24551"><span style="white-space: nowrap"><code class="PARAMETER">replaced</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the replaced nodes, or release them if NULL is given</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24556"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECNODEENCODEANDSETCONTENT"></a><h3>xmlSecNodeEncodeAndSetContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecNodeEncodeAndSetContent (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *buffer</code>);</pre> +<p>Encodes "special" characters in the <code class="PARAMETER">buffer</code> and sets the result +as the node content.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24577"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24582"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the node content.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24587"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECADDIDS"></a><h3>xmlSecAddIDs ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecAddIDs (<code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> cur</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> **ids</code>);</pre> +<p>Walks thru all children of the <code class="PARAMETER">cur</code> node and adds all attributes +from the <code class="PARAMETER">ids</code> list to the <code class="PARAMETER">doc</code> document IDs attributes hash.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24613"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24618"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to an XML node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24623"><span style="white-space: nowrap"><code class="PARAMETER">ids</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to a NULL terminated list of ID attributes.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGENERATEANDADDID"></a><h3>xmlSecGenerateAndAddID ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecGenerateAndAddID (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre> +<p>Generates a unique ID in the format <<code class="PARAMETER">prefix</code>>base64-encoded(<code class="PARAMETER">len</code> random bytes) +and puts it in the attribute <code class="PARAMETER">attrName</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24652"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node to ID attr to.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24657"><span style="white-space: nowrap"><code class="PARAMETER">attrName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the ID attr name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24662"><span style="white-space: nowrap"><code class="PARAMETER">prefix</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the prefix to add to the generated ID (can be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24667"><span style="white-space: nowrap"><code class="PARAMETER">len</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the length of ID.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24672"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGENERATEID"></a><h3>xmlSecGenerateID ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecGenerateID (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *prefix</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre> +<p>Generates a unique ID in the format <<code class="PARAMETER">prefix</code>>base64-encoded(<code class="PARAMETER">len</code> random bytes). +The caller is responsible for freeing returned string using <code class="PARAMETER">xmlFree</code> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24695"><span style="white-space: nowrap"><code class="PARAMETER">prefix</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the prefix to add to the generated ID (can be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24700"><span style="white-space: nowrap"><code class="PARAMETER">len</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the length of ID.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24705"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to generated ID string or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECCREATETREE"></a><h3>xmlSecCreateTree ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLDOC"><span class="RETURNVALUE">xmlDocPtr</span></gtkdoclink> xmlSecCreateTree (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *rootNodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *rootNodeNs</code>);</pre> +<p>Creates a new XML tree with one root node <code class="PARAMETER">rootNodeName</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24726"><span style="white-space: nowrap"><code class="PARAMETER">rootNodeName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the root node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24731"><span style="white-space: nowrap"><code class="PARAMETER">rootNodeNs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the root node namespace (otpional).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24736"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the newly created tree or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECISEMPTYNODE"></a><h3>xmlSecIsEmptyNode ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecIsEmptyNode (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> +<p>Checks whethere the <code class="PARAMETER">node</code> is empty (i.e. has only whitespaces children).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24754"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the node to check</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24759"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">node</code> is empty, 0 otherwise or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECISEMPTYSTRING"></a><h3>xmlSecIsEmptyString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecIsEmptyString (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Checks whethere the <code class="PARAMETER">str</code> is empty (i.e. has only whitespaces children).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24778"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string to check</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24783"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">str</code> is empty, 0 otherwise or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGETQNAME"></a><h3>xmlSecGetQName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink>* xmlSecGetQName (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *local</code>);</pre> +<p>Creates QName (prefix:local) from <code class="PARAMETER">href</code> and <code class="PARAMETER">local</code> in the context of the <code class="PARAMETER">node</code>. +Caller is responsible for freeing returned string with xmlFree.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24810"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the context node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24815"><span style="white-space: nowrap"><code class="PARAMETER">href</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName href (can be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24820"><span style="white-space: nowrap"><code class="PARAMETER">local</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName local part.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24825"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> qname or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECPRINTXMLSTRING"></a><h3>xmlSecPrintXmlString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecPrintXmlString (<code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *fd</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *str</code>);</pre> +<p>Encodes the <code class="PARAMETER">str</code> (e.g. replaces '&' with '&amp;') and writes it to <code class="PARAMETER">fd</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24847"><span style="white-space: nowrap"><code class="PARAMETER">fd</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the file descriptor to write the XML string to</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24852"><span style="white-space: nowrap"><code class="PARAMETER">str</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the string</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24857"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> he number of bytes transmitted or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECISHEX"></a><h3>xmlSecIsHex()</h3> +<pre class="PROGRAMLISTING">#define xmlSecIsHex(c)</pre> +<p>Macro. Returns 1 if <code class="PARAMETER">c</code> is a hex digit or 0 other wise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN24870"><span style="white-space: nowrap"><code class="PARAMETER">c</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the character.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECGETHEX"></a><h3>xmlSecGetHex()</h3> +<pre class="PROGRAMLISTING">#define xmlSecGetHex(c)</pre> +<p>Macro. Returns the hex value of the <code class="PARAMETER">c</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN24883"><span style="white-space: nowrap"><code class="PARAMETER">c</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the character,</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERINFO"></a><h3>struct xmlSecQName2IntegerInfo</h3> +<pre class="PROGRAMLISTING">struct xmlSecQName2IntegerInfo { + const xmlChar* qnameHref; + const xmlChar* qnameLocalPart; + int intValue; +};</pre> +<p>QName <-> Integer conversion definition.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24895"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">qnameHref</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName href</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24902"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">qnameLocalPart</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName local</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24909"><span style="white-space: nowrap"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">intValue</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERINFOCONSTPTR"></a><h3>xmlSecQName2IntegerInfoConstPtr</h3> +<pre class="PROGRAMLISTING">typedef const xmlSecQName2IntegerInfo * xmlSecQName2IntegerInfoConstPtr;</pre> +<p>Pointer to constant QName <-> Integer conversion definition.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERGETINFO"></a><h3>xmlSecQName2IntegerGetInfo ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="RETURNVALUE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> xmlSecQName2IntegerGetInfo + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>);</pre> +<p>Maps integer <code class="PARAMETER">intValue</code> to a QName prefix.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24938"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24943"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24948"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the QName info that is mapped to <code class="PARAMETER">intValue</code> or NULL if such value +is not found.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERGETINTEGER"></a><h3>xmlSecQName2IntegerGetInteger ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerGetInteger (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameHref</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameLocalPart</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>);</pre> +<p>Maps qname qname to an integer and returns it in <code class="PARAMETER">intValue</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24976"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24981"><span style="white-space: nowrap"><code class="PARAMETER">qnameHref</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname href value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24986"><span style="white-space: nowrap"><code class="PARAMETER">qnameLocalPart</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname local part value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24991"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN24996"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERGETINTEGERFROMSTRING"></a><h3>xmlSecQName2IntegerGetIntegerFromString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerGetIntegerFromString + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qname</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>);</pre> +<p>Converts <code class="PARAMETER">qname</code> into integer in context of <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25024"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25029"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25034"><span style="white-space: nowrap"><code class="PARAMETER">qname</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname string.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25039"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25044"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER"></a><h3>xmlSecQName2IntegerGetStringFromInteger ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * xmlSecQName2IntegerGetStringFromInteger + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>);</pre> +<p>Creates qname string for <code class="PARAMETER">intValue</code> in context of given <code class="PARAMETER">node</code>. Caller +is responsible for freeing returned string with <code class="PARAMETER">xmlFree</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25070"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25075"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25080"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25085"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated string on success or NULL if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERNODEREAD"></a><h3>xmlSecQName2IntegerNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerNodeRead (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>);</pre> +<p>Reads the content of <code class="PARAMETER">node</code> and converts it to an integer using mapping +from <code class="PARAMETER">info</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25110"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25115"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25120"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25125"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERNODEWRITE"></a><h3>xmlSecQName2IntegerNodeWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerNodeWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>);</pre> +<p>Creates new child node in <code class="PARAMETER">node</code> and sets its value to <code class="PARAMETER">intValue</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25156"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25161"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25166"><span style="white-space: nowrap"><code class="PARAMETER">nodeName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the child node name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25171"><span style="white-space: nowrap"><code class="PARAMETER">nodeNs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the child node namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25176"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25181"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERATTRIBUTEREAD"></a><h3>xmlSecQName2IntegerAttributeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerAttributeRead (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> *intValue</code>);</pre> +<p>Gets the value of <code class="PARAMETER">attrName</code> atrtibute from <code class="PARAMETER">node</code> and converts it to integer +according to <code class="PARAMETER">info</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25210"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25215"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the element node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25220"><span style="white-space: nowrap"><code class="PARAMETER">attrName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the attribute name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25225"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25230"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERATTRIBUTEWRITE"></a><h3>xmlSecQName2IntegerAttributeWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2IntegerAttributeWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *attrName</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>);</pre> +<p>Converts <code class="PARAMETER">intValue</code> to a qname and sets it to the value of +attribute <code class="PARAMETER">attrName</code> in <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25259"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25264"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25269"><span style="white-space: nowrap"><code class="PARAMETER">attrName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the name of attribute.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25274"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25279"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERDEBUGDUMP"></a><h3>xmlSecQName2IntegerDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecQName2IntegerDebugDump (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints <code class="PARAMETER">intValue</code> into <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25307"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25312"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25317"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the value name to print.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25322"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2INTEGERDEBUGXMLDUMP"></a><h3>xmlSecQName2IntegerDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecQName2IntegerDebugXmlDump (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2INTEGERINFOCONST"><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> intValue</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints <code class="PARAMETER">intValue</code> into <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25350"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25355"><span style="white-space: nowrap"><code class="PARAMETER">intValue</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the integer value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25360"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the value name to print.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25365"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECBITMASK"></a><h3>xmlSecBitMask</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecBitMask;</pre> +<p>Bitmask datatype.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKINFO"></a><h3>struct xmlSecQName2BitMaskInfo</h3> +<pre class="PROGRAMLISTING">struct xmlSecQName2BitMaskInfo { + const xmlChar* qnameHref; + const xmlChar* qnameLocalPart; + xmlSecBitMask mask; +};</pre> +<p>QName <-> Bitmask conversion definition.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25383"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">qnameHref</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName href</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25390"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">qnameLocalPart</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the QName local</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25397"><span style="white-space: nowrap"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> <code class="STRUCTFIELD">mask</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bitmask value</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKINFOCONSTPTR"></a><h3>xmlSecQName2BitMaskInfoConstPtr</h3> +<pre class="PROGRAMLISTING">typedef const xmlSecQName2BitMaskInfo* xmlSecQName2BitMaskInfoConstPtr;</pre> +<p>Pointer to constant QName <-> Bitmask conversion definition.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKGETINFO"></a><h3>xmlSecQName2BitMaskGetInfo ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="RETURNVALUE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> xmlSecQName2BitMaskGetInfo + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre> +<p>Converts <code class="PARAMETER">mask</code> to qname.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25426"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25431"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25436"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the qname info for <code class="PARAMETER">mask</code> or NULL if mask is unknown.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKGETBITMASK"></a><h3>xmlSecQName2BitMaskGetBitMask ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2BitMaskGetBitMask (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameLocalPart</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qnameHref</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre> +<p>Converts <code class="PARAMETER">qnameLocalPart</code> to <code class="PARAMETER">mask</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25465"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25470"><span style="white-space: nowrap"><code class="PARAMETER">qnameLocalPart</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname LocalPart value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25475"><span style="white-space: nowrap"><code class="PARAMETER">qnameHref</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname Href value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25480"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25485"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKNODESREAD"></a><h3>xmlSecQName2BitMaskNodesRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2BitMaskNodesRead (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> *node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> stopOnUnknown</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre> +<p>Reads <<code class="PARAMETER">nodeNs</code>:<code class="PARAMETER">nodeName</code>> elements and puts the result bit mask +into <code class="PARAMETER">mask</code>. When function exits, <code class="PARAMETER">node</code> points to the first element node +after all the <<code class="PARAMETER">nodeNs</code>:<code class="PARAMETER">nodeName</code>> elements.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25523"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25528"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the start.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25533"><span style="white-space: nowrap"><code class="PARAMETER">nodeName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mask nodes name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25538"><span style="white-space: nowrap"><code class="PARAMETER">nodeNs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mask nodes namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25543"><span style="white-space: nowrap"><code class="PARAMETER">stopOnUnknown</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>if this flag is set then function exits if unknown + value was found.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25548"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25553"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKGETBITMASKFROMSTRING"></a><h3>xmlSecQName2BitMaskGetBitMaskFromString ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2BitMaskGetBitMaskFromString + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *qname</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre> +<p>Converts <code class="PARAMETER">qname</code> into integer in context of <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25581"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25586"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25591"><span style="white-space: nowrap"><code class="PARAMETER">qname</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname string.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25596"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to result msk value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25601"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK"></a><h3>xmlSecQName2BitMaskGetStringFromBitMask ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * xmlSecQName2BitMaskGetStringFromBitMask + (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre> +<p>Creates qname string for <code class="PARAMETER">mask</code> in context of given <code class="PARAMETER">node</code>. Caller +is responsible for freeing returned string with <code class="PARAMETER">xmlFree</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25627"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->integer mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25632"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25637"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25642"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated string on success or NULL if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKNODESWRITE"></a><h3>xmlSecQName2BitMaskNodesWrite ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecQName2BitMaskNodesWrite (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeName</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *nodeNs</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre> +<p>Writes <<code class="PARAMETER">nodeNs</code>:<code class="PARAMETER">nodeName</code>> elemnts with values from <code class="PARAMETER">mask</code> to <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25675"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25680"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the parent element for mask nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25685"><span style="white-space: nowrap"><code class="PARAMETER">nodeName</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mask nodes name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25690"><span style="white-space: nowrap"><code class="PARAMETER">nodeNs</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mask nodes namespace.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25695"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25700"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs,</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKDEBUGDUMP"></a><h3>xmlSecQName2BitMaskDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecQName2BitMaskDebugDump (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">mask</code> to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25728"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25733"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25738"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the value name to print.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25743"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECQNAME2BITMASKDEBUGXMLDUMP"></a><h3>xmlSecQName2BitMaskDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecQName2BitMaskDebugXmlDump (<code class="PARAMETER"><gtkdoclink href="XMLSECQNAME2BITMASKINFOCONST"><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></gtkdoclink> info</code>, + <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">mask</code> to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25771"><span style="white-space: nowrap"><code class="PARAMETER">info</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the qname<->bit mask mapping information.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25776"><span style="white-space: nowrap"><code class="PARAMETER">mask</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25781"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the value name to print.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN25786"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-xmlsec.html"><b><<< xmlsec</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-x509.html"><b>x509 >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> diff --git a/docs/api/xmlsec.sgml b/docs/api/xmlsec.sgml new file mode 100644 index 00000000..afdd9a71 --- /dev/null +++ b/docs/api/xmlsec.sgml @@ -0,0 +1,307 @@ +<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [ +<!ENTITY chapter-compiling-and-linking SYSTEM "chapters/compiling-and-linking.sgml"> +<!ENTITY chapter-init-and-shutdown SYSTEM "chapters/init-and-shutdown.sgml"> +<!ENTITY chapter-sign-and-encrypt SYSTEM "chapters/sign-and-encrypt.sgml"> +<!ENTITY chapter-verify-and-decrypt SYSTEM "chapters/verify-and-decrypt.sgml"> +<!ENTITY chapter-creating-templates SYSTEM "chapters/creating-templates.sgml"> +<!ENTITY chapter-using-keys SYSTEM "chapters/using-keys.sgml"> +<!ENTITY chapter-using-keysmngr SYSTEM "chapters/using-keysmngr.sgml"> +<!ENTITY chapter-using-x509-certs SYSTEM "chapters/using-x509-certs.sgml"> +<!ENTITY chapter-using-transforms SYSTEM "chapters/using-transforms.sgml"> +<!ENTITY chapter-using-contexts SYSTEM "chapters/using-contexts.sgml"> +<!ENTITY chapter-new-crypto SYSTEM "chapters/new-crypto.sgml"> +<!ENTITY chapter-examples SYSTEM "chapters/examples.sgml"> + +<!ENTITY xmlsec-index SYSTEM "xmlsec-index.sgml"> + +<!ENTITY xmlsec-app SYSTEM "sgml/app.sgml"> +<!ENTITY xmlsec-base64 SYSTEM "sgml/base64.sgml"> +<!ENTITY xmlsec-bn SYSTEM "sgml/bn.sgml"> +<!ENTITY xmlsec-buffer SYSTEM "sgml/buffer.sgml"> +<!ENTITY xmlsec-dl SYSTEM "sgml/dl.sgml"> +<!ENTITY xmlsec-errors SYSTEM "sgml/errors.sgml"> +<!ENTITY xmlsec-io SYSTEM "sgml/io.sgml"> +<!ENTITY xmlsec-keyinfo SYSTEM "sgml/keyinfo.sgml"> +<!ENTITY xmlsec-keysdata SYSTEM "sgml/keysdata.sgml"> +<!ENTITY xmlsec-keys SYSTEM "sgml/keys.sgml"> +<!ENTITY xmlsec-keysmngr SYSTEM "sgml/keysmngr.sgml"> +<!ENTITY xmlsec-list SYSTEM "sgml/list.sgml"> +<!ENTITY xmlsec-membuf SYSTEM "sgml/membuf.sgml"> +<!ENTITY xmlsec-nodeset SYSTEM "sgml/nodeset.sgml"> +<!ENTITY xmlsec-parser SYSTEM "sgml/parser.sgml"> +<!ENTITY xmlsec-templates SYSTEM "sgml/templates.sgml"> +<!ENTITY xmlsec-transforms SYSTEM "sgml/transforms.sgml"> +<!ENTITY xmlsec-version SYSTEM "sgml/version.sgml"> +<!ENTITY xmlsec-xmldsig SYSTEM "sgml/xmldsig.sgml"> +<!ENTITY xmlsec-xmlenc SYSTEM "sgml/xmlenc.sgml"> +<!ENTITY xmlsec-xmlsec SYSTEM "sgml/xmlsec.sgml"> +<!ENTITY xmlsec-xmltree SYSTEM "sgml/xmltree.sgml"> +<!ENTITY xmlsec-x509 SYSTEM "sgml/x509.sgml"> + +<!ENTITY xmlsec-openssl-app SYSTEM "sgml/openssl/app.sgml"> +<!ENTITY xmlsec-openssl-bn SYSTEM "sgml/openssl/bn.sgml"> +<!ENTITY xmlsec-openssl-ciphers SYSTEM "sgml/openssl/ciphers.sgml"> +<!ENTITY xmlsec-openssl-crypto SYSTEM "sgml/openssl/crypto.sgml"> +<!ENTITY xmlsec-openssl-evp SYSTEM "sgml/openssl/evp.sgml"> +<!ENTITY xmlsec-openssl-x509 SYSTEM "sgml/openssl/x509.sgml"> + +<!ENTITY xmlsec-gnutls-app SYSTEM "sgml/gnutls/app.sgml"> +<!ENTITY xmlsec-gnutls-crypto SYSTEM "sgml/gnutls/crypto.sgml"> + +<!ENTITY xmlsec-gcrypt-app SYSTEM "sgml/gcrypt/app.sgml"> +<!ENTITY xmlsec-gcrypt-crypto SYSTEM "sgml/gcrypt/crypto.sgml"> + +<!ENTITY xmlsec-nss-app SYSTEM "sgml/nss/app.sgml"> +<!ENTITY xmlsec-nss-bignum SYSTEM "sgml/nss/bignum.sgml"> +<!ENTITY xmlsec-nss-crypto SYSTEM "sgml/nss/crypto.sgml"> +<!ENTITY xmlsec-nss-keysstore SYSTEM "sgml/nss/keysstore.sgml"> +<!ENTITY xmlsec-nss-pkikeys SYSTEM "sgml/nss/pkikeys.sgml"> +<!ENTITY xmlsec-nss-x509 SYSTEM "sgml/nss/x509.sgml"> + +<!ENTITY xmlsec-mscrypto-app SYSTEM "sgml/mscrypto/app.sgml"> +<!ENTITY xmlsec-mscrypto-certkeys SYSTEM "sgml/mscrypto/certkeys.sgml"> +<!ENTITY xmlsec-mscrypto-crypto SYSTEM "sgml/mscrypto/crypto.sgml"> +<!ENTITY xmlsec-mscrypto-keysstore SYSTEM "sgml/mscrypto/keysstore.sgml"> +<!ENTITY xmlsec-mscrypto-x509 SYSTEM "sgml/mscrypto/x509.sgml"> + +<!ENTITY xmlsec-example-sign1 SYSTEM "examples/sign1.sgml"> +<!ENTITY xmlsec-example-sign2 SYSTEM "examples/sign2.sgml"> +<!ENTITY xmlsec-example-sign3 SYSTEM "examples/sign3.sgml"> + +<!ENTITY xmlsec-example-verify1 SYSTEM "examples/verify1.sgml"> +<!ENTITY xmlsec-example-verify2 SYSTEM "examples/verify2.sgml"> +<!ENTITY xmlsec-example-verify3 SYSTEM "examples/verify3.sgml"> +<!ENTITY xmlsec-example-verify4 SYSTEM "examples/verify4.sgml"> + +<!ENTITY xmlsec-example-encrypt1 SYSTEM "examples/encrypt1.sgml"> +<!ENTITY xmlsec-example-encrypt2 SYSTEM "examples/encrypt2.sgml"> +<!ENTITY xmlsec-example-encrypt3 SYSTEM "examples/encrypt3.sgml"> + +<!ENTITY xmlsec-example-decrypt1 SYSTEM "examples/decrypt1.sgml"> +<!ENTITY xmlsec-example-decrypt2 SYSTEM "examples/decrypt2.sgml"> +<!ENTITY xmlsec-example-decrypt3 SYSTEM "examples/decrypt3.sgml"> + +<!ENTITY xmlsec-example-sign1-tmpl SYSTEM "examples/sign1-tmpl.sgml"> +<!ENTITY xmlsec-example-sign1-res SYSTEM "examples/sign1-res.sgml"> +<!ENTITY xmlsec-example-sign2-doc SYSTEM "examples/sign2-doc.sgml"> +<!ENTITY xmlsec-example-sign2-res SYSTEM "examples/sign2-res.sgml"> +<!ENTITY xmlsec-example-sign3-doc SYSTEM "examples/sign3-doc.sgml"> +<!ENTITY xmlsec-example-sign3-res SYSTEM "examples/sign3-res.sgml"> +<!ENTITY xmlsec-example-verify4-res SYSTEM "examples/verify4-res.sgml"> +<!ENTITY xmlsec-example-verify4-tmpl SYSTEM "examples/verify4-tmpl.sgml"> +<!ENTITY xmlsec-example-verify4-bad-res SYSTEM "examples/verify4-bad-res.sgml"> +<!ENTITY xmlsec-example-verify4-bad-tmpl SYSTEM "examples/verify4-bad-tmpl.sgml"> + +<!ENTITY xmlsec-example-encrypt1-tmpl SYSTEM "examples/encrypt1-tmpl.sgml"> +<!ENTITY xmlsec-example-encrypt1-res SYSTEM "examples/encrypt1-res.sgml"> +<!ENTITY xmlsec-example-encrypt2-doc SYSTEM "examples/encrypt2-doc.sgml"> +<!ENTITY xmlsec-example-encrypt2-res SYSTEM "examples/encrypt2-res.sgml"> +<!ENTITY xmlsec-example-encrypt3-doc SYSTEM "examples/encrypt3-doc.sgml"> +<!ENTITY xmlsec-example-encrypt3-res SYSTEM "examples/encrypt3-res.sgml"> +]> +<book id="index"> + <bookinfo> + <title>XML Security Library Reference Manual</title> + <authorgroup> + <author> + <firstname>Aleksey</firstname> + <surname>Sanin</surname> + <affiliation> + <address> + <email>aleksey@aleksey.com</email> + </address> + </affiliation> + </author> + </authorgroup> + <copyright> + <year>2002-2003</year> + <holder>Aleksey Sanin</holder> + </copyright> + <legalnotice> + <para>Permission is granted to make and distribute verbatim + copies of this manual provided the copyright notice and this + permission notice are preserved on all copies.</para> + <para>Permission is granted to copy and distribute modified + versions of this manual under the conditions for verbatim + copying, provided also that the entire resulting derived work is + distributed under the terms of a permission notice identical to + this one.</para> + + <para>Permission is granted to copy and distribute translations + of this manual into another language, under the above conditions + for modified versions.</para> + </legalnotice> + + <abstract> + <para>This manual documents the interfaces of the xmlsec + library and has some short notes to help get you up to speed + with using the library.</para> + </abstract> + </bookinfo> + + <part id="xmlsec-notes"> + <title>XML Security Library Tutorial</title> + <chapter id="xmlsec-notes-overview"> + <title>Overview.</title> + <para>XML Security Library provides support for XML Digital Signature + and XML Encryption. It is based on LibXML/LibXSLT and can use + practicaly any crypto library (currently there is "out of the box" + support for OpenSSL, MSCrypto, GnuTLS, GCrypt and NSS). + </para> + </chapter> + <chapter id="xmlsec-notes-structure"> + <title>XML Security Library Structure.</title> + <para>In order to provide the an ability to use different crypto engines, + the XML Security Library is splitted in two parts: core library (xmlsec) + and crypto library (xmlsec-openssl, xmlsec-mscrypt, xmlsec-gnutls, + xmlsec-gcrypt, xmlsec-nss, ...). + <figure> + <title>The library structure and dependencies.</title> + <graphic fileref="images/structure.png" align="center"></graphic> + </figure> + </para> + <para>The core library has no dependency on any crypto library and provides + implementation of all the engines as well as support for all the non + crypto transforms (xml parser, c14n transforms, xpath and xslt + transforms,...). The XML Security Crypto library provides + implementations for crypto transforms, crypto keys data and key + data stores. Application is linked with particular XML Security + Crypto library (or even libraries), but the actual application + code might be general enough so switching crypto engine would be + a matter of changing several #include directives.</para> + </chapter> + + &chapter-compiling-and-linking; + &chapter-init-and-shutdown; + &chapter-sign-and-encrypt; + &chapter-creating-templates; + &chapter-verify-and-decrypt; + &chapter-using-keys; + &chapter-using-keysmngr; + &chapter-using-x509-certs; + &chapter-using-transforms; + &chapter-using-contexts; + &chapter-new-crypto; + &chapter-examples; + + <chapter id="xmlsec-signature-klasses"> + <title>APPENDIX A. XML Security Library Signature Klasses.</title> + <figure> + <title>XML Security Library Signature Klasses.</title> + <graphic fileref="images/signature-structure.png" align="center"></graphic> + </figure> + </chapter> + + <chapter id="xmlsec-encryption-klasses"> + <title>APPENDIX B. XML Security Library Encryption Klasses.</title> + <figure> + <title>XML Security Library Encryption Klasses.</title> + <graphic fileref="images/encryption-structure.png" align="center"></graphic> + </figure> + </chapter> + </part> + + <part id="xmlsec-reference"> + <title>XML Security Library API Reference.</title> + + <chapter id="xmlsec-ref"> + <title>XML Security Core Library API Reference.</title> + <para>This section contains the API reference for xmlsec. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-app; + &xmlsec-base64; + &xmlsec-bn; + &xmlsec-buffer; + &xmlsec-dl; + &xmlsec-errors; + &xmlsec-io; + &xmlsec-keyinfo; + &xmlsec-keysdata; + &xmlsec-keys; + &xmlsec-keysmngr; + &xmlsec-list; + &xmlsec-membuf; + &xmlsec-nodeset; + &xmlsec-parser; + &xmlsec-templates; + &xmlsec-transforms; + &xmlsec-version; + &xmlsec-xmldsig; + &xmlsec-xmlenc; + &xmlsec-xmlsec; + &xmlsec-xmltree; + &xmlsec-x509; + </chapter> + + <chapter id="xmlsec-openssl-ref"> + <title>XML Security Library for OpenSLL API Reference.</title> + <para>This section contains the API reference for xmlsec-openssl. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-openssl-app; + &xmlsec-openssl-bn; + &xmlsec-openssl-crypto; + &xmlsec-openssl-evp; + &xmlsec-openssl-x509; + </chapter> + + <chapter id="xmlsec-gnutls-ref"> + <title>XML Security Library for GnuTLS API Reference.</title> + <para>This section contains the API reference for xmlsec-gnutls. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-gnutls-app; + &xmlsec-gnutls-crypto; + </chapter> + + <chapter id="xmlsec-gcrypt-ref"> + <title>XML Security Library for GCrypt API Reference.</title> + <para>This section contains the API reference for xmlsec-gcrypt. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-gcrypt-app; + &xmlsec-gcrypt-crypto; + </chapter> + + <chapter id="xmlsec-nss-ref"> + <title>XML Security Library for NSS API Reference.</title> + <para>This section contains the API reference for xmlsec-nss. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-nss-app; + &xmlsec-nss-bignum; + &xmlsec-nss-crypto; + &xmlsec-nss-keysstore; + &xmlsec-nss-pkikeys; + &xmlsec-nss-x509; + </chapter> + + <chapter id="xmlsec-mscrypto-ref"> + <title>XML Security Library for MSCrypto API Reference.</title> + <para>This section contains the API reference for xmlsec-mscrypto. All + the public interfaces are documented here. This reference guide is + build by extracting comments from the code sources. </para> + + &xmlsec-mscrypto-app; + &xmlsec-mscrypto-certkeys; + &xmlsec-mscrypto-crypto; + &xmlsec-mscrypto-keysstore; + &xmlsec-mscrypto-x509; + </chapter> + + <chapter id="xmlsec-index"> + <title>XML Security Library Reference Index</title> + <para> + <itemizedlist> + &xmlsec-index; + </itemizedlist> + </para> + </chapter> + </part> +</book> |