⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cimtrustcommand.h

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 H
字号:
//%2006//////////////////////////////////////////////////////////////////////////// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation, The Open Group.// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; Symantec Corporation; The Open Group.//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions:// // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.////==============================================================================//// Author: Nag Boranna, Hewlett-Packard Company (nagaraja.boranna@hp.com)//// Modified By: David Dillard, VERITAS Software Corp.//                  (david.dillard@veritas.com)//              Vijay Eli, vijayeli@in.ibm.com, fix for #2572//              Sushma Fernandes,  Hewlett-Packard Company //                  sushma@hp.com, PEP 259 ////%/////////////////////////////////////////////////////////////////////////////#ifndef Pegasus_CIMTrustCommand_h#define Pegasus_CIMTrustCommand_h#include <Pegasus/Common/String.h>#include <Pegasus/Client/CIMClient.h>#include <Clients/cliutils/Command.h>#include <Clients/cliutils/CommandException.h>PEGASUS_NAMESPACE_BEGIN/**    The CIMTrustCommand command provides a command line interface to manage X509    certificates in a PEM format truststore. The command supports add, remove     and list operations on the trust store. The CIMTrustCommand command    requires the CIM Server to be running on the local host.    @author  Hewlett-Packard Company */class CIMTrustCommand : public Command{public:    enum { DEFAULT_TIMEOUT_MILLISECONDS = 200000 };    /**        Constructs a CIMTrustCommand and initializes instance variables.     */    CIMTrustCommand ();    /**        Parses the command line, validates the options, and sets instance        variables based on the option arguments.        @param  argc   the number of command line arguments        @param  argv   the string vector of command line arguments        @exception  CommandFormatException  if an error is encountered in                                            parsing the command line     */    void setCommand (Uint32 argc, char* argv []);    /**        Executes the command and writes the results to the PrintWriters.        @param  outPrintWriter    the ostream to which output should be                                  written        @param  errPrintWriter    the ostream to which error output should be                                  written        @return  0                if the command is successful                 1                if an error occurs in executing the command     */    Uint32 execute (        PEGASUS_STD(ostream)& outPrintWriter,        PEGASUS_STD(ostream)& errPrintWriter);    /**        The command name.     */    static const char   COMMAND_NAME [];private:    /**        Connect to cimserver.        @param  client          the handle to CIMClient object        @param  outPrintWriter  the ostream to which output should be                                written        @exception  Exception   if an error is encountered in creating                                the connection     */    void _connectToServer(        CIMClient& client,        PEGASUS_STD(ostream)& outPrintWriter );    /**        Convert CIMDateTime to user-readable string of the format        month day-of-month, year  hour:minute:second (value-hrs-GMT-offset)        @param  cimDateTimeStr  CIM formated DateTime String        @return  String user-readable date time string.     */    String _formatCIMDateTime(const String& cimDateTimeStr);    /**        Read certificate content.        @param  certFilePath    the certificate file path        @return  Buffer containing the certificate content     */    Buffer _readCertificateContent(const String &certFilePath);    /**       Add a new certificate to the trust store       @param  client           the handle to CIMClient object       @param  outPrintWriter   the ostream to which output should be written     */    void _addCertificate (        CIMClient&               client,        PEGASUS_STD(ostream)&    outPrintWriter);    /**       Remove an existing certificate from the trust store       @param  client           the handle to CIMClient object       @param  outPrintWriter   the ostream to which output should be written     */    void _removeCertificate (        CIMClient&               client,        PEGASUS_STD(ostream)&    outPrintWriter);    /**       List certificates in the trust store       @param  client           the handle to CIMClient object       @param  outPrintWriter   the ostream to which output should be written     */    void _listCertificates (        CIMClient&               client,        PEGASUS_STD(ostream)&    outPrintWriter);    /**        The certificate file to be added to the trust store.     */    String _certFile;    /**        Indicates that the certificate file is set.     */    Boolean _certFileSet;    /**        The user name to be mapped with the certificate being added        to the trust store.     */    String _certUser;    /**        Indicates that the mapping certificate user is set.     */    Boolean _certUserSet;    /**        The issuer name of the certificate to be removed or listed        from the trust store.     */    String _issuer;    /**        Indicates that the issuer name is set.     */    Boolean _issuerSet;    /**        The type of the certificate     */    String _type;    /**        Indicates that the type is set.     */    Boolean _typeSet;    /**        The serial number of the certificate to be removed or listed        from the trust store for a specified issuer.     */    String _serialNumber;    /**        Indicates that the serial number is set.     */    Boolean _serialNumberSet;    /**        The subject of the certificate to be removed         from the trust store for a specified issuer.     */    String _subject;    /**        Indicates that the subject name is set.     */    Boolean _subjectSet;    /**        The timeout value to be used in milliseconds.        The default timeout value is DEFAULT_TIMEOUT_MILLISECONDS.     */    Uint32 _timeout;    /**        The type of operation specified on the command line.     */    Uint32 _operationType;    /**        The usage string.     */    String _usage;    /**        The option character used to specify the add option.     */    static const char   _OPTION_ADD;    /**        The option character used to specify the remove option.     */    static const char   _OPTION_REMOVE;    /**        The option character used to specify the list option.     */    static const char   _OPTION_LIST;    /**        The option character used to display help info.     */    static const char   _OPTION_HELP;    /**        The option character used to display version info.     */    static const char   _OPTION_VERSION;    /**        The option character used to specify the certificate file.     */    static const char   _OPTION_CERTFILE;    /**        The option character used to specify the certificate user name.     */    static const char   _OPTION_CERTUSER;    /**        The option character used to specify the issuer name.     */    static const char   _OPTION_ISSUER;    /**        The option character used to specify the serial number.     */    static const char   _OPTION_SERIALNUMBER;    /**        The option character used to specify the certificate type.     */    static const char _OPTION_TYPE;    /**        Specifies the certificate types.     */    enum _CERTIFICATE_TYPES     {         _CERTIFICATE_TYPE_UNKNOWN = 0,        _CERTIFICATE_TYPE_AUTHORITY = 2,        _CERTIFICATE_TYPE_AUTHORITY_END_ENTITY = 3,        _CERTIFICATE_TYPE_SELF_SIGNED_IDENTITY = 4    };    /**        The character used to specify the authority type.     */    static const String _ARG_TYPE_AUTHORITY;    /**        The character used to specify the authority         issued end-entity type.     */    static const String _ARG_TYPE_AUTHORITY_END_ENTITY;    /**        The character used to specify the self-signed         identity type.     */    static const String _ARG_TYPE_SELF_SIGNED_IDENTITY;    /**        The option character used to specify the subject.     */    static const char   _OPTION_SUBJECT;    /**        Label for the usage string for this command.     */    static const char   _USAGE [];    /**        This constant signifies that an operation option has not been recorded     */    static const Uint32 _OPERATION_TYPE_UNINITIALIZED;    /**        The constant representing a add operation     */    static const Uint32 _OPERATION_TYPE_ADD;    /**        The constant representing a remove operation     */    static const Uint32 _OPERATION_TYPE_REMOVE;    /**        The constant representing a list operation     */    static const Uint32 _OPERATION_TYPE_LIST;    /**        The constant representing a help operation     */    static const Uint32 _OPERATION_TYPE_HELP;    /**        The constant representing a version display operation     */    static const Uint32 _OPERATION_TYPE_VERSION;};PEGASUS_NAMESPACE_END#endif /* Pegasus_CIMTrustCommand_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -