org.productivity.java.syslog4j.impl.message.modifier.mac
Class MacSyslogMessageModifier

java.lang.Object
  extended by org.productivity.java.syslog4j.impl.message.modifier.AbstractSyslogMessageModifier
      extended by org.productivity.java.syslog4j.impl.message.modifier.mac.MacSyslogMessageModifier
All Implemented Interfaces:
java.io.Serializable, SyslogConstants, SyslogMessageModifierIF

public class MacSyslogMessageModifier
extends AbstractSyslogMessageModifier

MacSyslogMessageModifier is an implementation of SyslogMessageModifierIF that provides support for Java Cryptographic signed hashes (HmacSHA1, etc.)

Syslog4j is licensed under the Lesser GNU Public License v2.1. A copy of the LGPL license is available in the META-INF folder in all distributions of Syslog4j and in the base directory of the "doc" ZIP.

Version:
$Id: MacSyslogMessageModifier.java,v 1.5 2010/10/28 05:10:57 cvs Exp $
Author:
<syslog4j@productivity.org>
See Also:
Serialized Form

Field Summary
protected  MacSyslogMessageModifierConfig config
           
protected  javax.crypto.Mac mac
           
 
Fields inherited from class org.productivity.java.syslog4j.impl.message.modifier.AbstractSyslogMessageModifier
messageModifierConfig
 
Fields inherited from interface org.productivity.java.syslog4j.SyslogConstants
AF_UNIX, CACHE_HOST_ADDRESS_DEFAULT, CHAR_SET_DEFAULT, CRLF, FACILITY_AUTH, FACILITY_AUTHPRIV, FACILITY_CRON, FACILITY_DAEMON, FACILITY_FTP, FACILITY_KERN, FACILITY_LOCAL0, FACILITY_LOCAL1, FACILITY_LOCAL2, FACILITY_LOCAL3, FACILITY_LOCAL4, FACILITY_LOCAL5, FACILITY_LOCAL6, FACILITY_LOCAL7, FACILITY_LPR, FACILITY_MAIL, FACILITY_NEWS, FACILITY_SYSLOG, FACILITY_USER, FACILITY_UUCP, IDENT_SUFFIX_DEFAULT, INCLUDE_IDENT_IN_MESSAGE_MODIFIER_DEFAULT, JNA_NATIVE_CLASS, LEVEL_ALERT, LEVEL_CRITICAL, LEVEL_DEBUG, LEVEL_EMERGENCY, LEVEL_ERROR, LEVEL_INFO, LEVEL_NOTICE, LEVEL_WARN, LF, MAX_MESSAGE_LENGTH_DEFAULT, MAX_QUEUE_SIZE_DEFAULT, MAX_SHUTDOWN_WAIT_DEFAULT, OPTION_LOG_CONS, OPTION_LOG_NDELAY, OPTION_LOG_NOWAIT, OPTION_LOG_ODELAY, OPTION_LOG_PERROR, OPTION_LOG_PID, OPTION_NONE, SEND_LOCAL_NAME_DEFAULT, SEND_LOCAL_NAME_DEFAULT_VALUE, SEND_LOCAL_TIMESTAMP_DEFAULT, SERVER_SHUTDOWN_WAIT_DEFAULT, SERVER_SOCKET_BACKLOG_DEFAULT, SHUTDOWN_INTERVAL, SOCK_DGRAM, SOCK_STREAM, SPLIT_MESSAGE_BEGIN_TEXT_DEFAULT, SPLIT_MESSAGE_END_TEXT_DEFAULT, STRUCTURED_DATA_APP_NAME_DEFAULT_VALUE, STRUCTURED_DATA_EMPTY_VALUE, STRUCTURED_DATA_NILVALUE, STRUCTURED_DATA_PROCESS_ID_DEFAULT_VALUE, SYSLOG_BUFFER_SIZE, SYSLOG_DATEFORMAT, SYSLOG_FACILITY_DEFAULT, SYSLOG_HOST_DEFAULT, SYSLOG_LIBRARY_DEFAULT, SYSLOG_MESSAGE_MODIFIER_PREFIX_DEFAULT, SYSLOG_MESSAGE_MODIFIER_SUFFIX_DEFAULT, SYSLOG_PATH_DEFAULT, SYSLOG_POOL_CONFIG_MAX_ACTIVE_DEFAULT, SYSLOG_POOL_CONFIG_MAX_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_MAX_WAIT_DEFAULT, SYSLOG_POOL_CONFIG_MIN_EVICTABLE_IDLE_TIME_MILLIS_DEFAULT, SYSLOG_POOL_CONFIG_MIN_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_NUM_TESTS_PER_EVICTION_RUN_DEFAULT, SYSLOG_POOL_CONFIG_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS_DEFAULT, SYSLOG_POOL_CONFIG_TEST_ON_BORROW_DEFAULT, SYSLOG_POOL_CONFIG_TEST_ON_RETURN_DEFAULT, SYSLOG_POOL_CONFIG_TEST_WHILE_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_TIME_BETWEEN_EVICTION_RUNS_MILLIS_DEFAULT, SYSLOG_PORT_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_FIRST_NUMBER_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_LAST_NUMBER_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_PAD_CHAR_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_PREFIX_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_SUFFIX_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_USE_PADDING_DEFAULT, SYSLOG_SOCKET_FAMILY_DEFAULT, SYSLOG_SOCKET_LIBRARY_DEFAULT, SYSLOG_SOCKET_PATH_DEFAULT, SYSLOG_SOCKET_PROTOCOL_DEFAULT, SYSLOG_SOCKET_TYPE_DEFAULT, TCP, TCP_DELIMITER_SEQUENCE_DEFAULT, TCP_FRESH_CONNECTION_INTERVAL_DEFAULT, TCP_KEEP_ALIVE_DEFAULT, TCP_MAX_ACTIVE_SOCKETS_BEHAVIOR_DEFAULT, TCP_MAX_ACTIVE_SOCKETS_DEFAULT, TCP_PERSISTENT_CONNECTION_DEFAULT, TCP_REUSE_ADDRESS_DEFAULT, TCP_SET_BUFFER_SIZE_DEFAULT, TCP_SO_LINGER_DEFAULT, TCP_SO_LINGER_SECONDS_DEFAULT, THREAD_LOOP_INTERVAL_DEFAULT, THREAD_PRIORITY_DEFAULT, THREADED_DEFAULT, THROW_EXCEPTION_ON_INITIALIZE_DEFAULT, THROW_EXCEPTION_ON_WRITE_DEFAULT, TRUNCATE_MESSAGE_DEFAULT, UDP, UNIX_SOCKET, UNIX_SYSLOG, USE_DAEMON_THREAD_DEFAULT, USE_STRUCTURED_DATA_DEFAULT, WRITE_RETRIES_DEFAULT
 
Constructor Summary
MacSyslogMessageModifier(MacSyslogMessageModifierConfig config)
           
 
Method Summary
static MacSyslogMessageModifier createHmacMD5(java.security.Key key)
           
static MacSyslogMessageModifier createHmacMD5(java.lang.String base64Key)
           
static MacSyslogMessageModifier createHmacSHA1(java.security.Key key)
           
static MacSyslogMessageModifier createHmacSHA1(java.lang.String base64Key)
           
static MacSyslogMessageModifier createHmacSHA256(java.security.Key key)
           
static MacSyslogMessageModifier createHmacSHA256(java.lang.String base64Key)
           
static MacSyslogMessageModifier createHmacSHA512(java.security.Key key)
           
static MacSyslogMessageModifier createHmacSHA512(java.lang.String base64Key)
           
 MacSyslogMessageModifierConfig getConfig()
           
 java.lang.String modify(SyslogIF syslog, int facility, int level, java.lang.String message)
           
 boolean verify(java.lang.String message, byte[] signature)
           
 boolean verify(java.lang.String message, java.lang.String base64Signature)
           
 
Methods inherited from class org.productivity.java.syslog4j.impl.message.modifier.AbstractSyslogMessageModifier
parseInlineModifier, parseInlineModifier, verify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

config

protected MacSyslogMessageModifierConfig config

mac

protected javax.crypto.Mac mac
Constructor Detail

MacSyslogMessageModifier

public MacSyslogMessageModifier(MacSyslogMessageModifierConfig config)
                         throws SyslogRuntimeException
Throws:
SyslogRuntimeException
Method Detail

createHmacSHA1

public static MacSyslogMessageModifier createHmacSHA1(java.security.Key key)

createHmacSHA1

public static MacSyslogMessageModifier createHmacSHA1(java.lang.String base64Key)

createHmacSHA256

public static MacSyslogMessageModifier createHmacSHA256(java.security.Key key)

createHmacSHA256

public static MacSyslogMessageModifier createHmacSHA256(java.lang.String base64Key)

createHmacSHA512

public static MacSyslogMessageModifier createHmacSHA512(java.security.Key key)

createHmacSHA512

public static MacSyslogMessageModifier createHmacSHA512(java.lang.String base64Key)

createHmacMD5

public static MacSyslogMessageModifier createHmacMD5(java.security.Key key)

createHmacMD5

public static MacSyslogMessageModifier createHmacMD5(java.lang.String base64Key)

getConfig

public MacSyslogMessageModifierConfig getConfig()

modify

public java.lang.String modify(SyslogIF syslog,
                               int facility,
                               int level,
                               java.lang.String message)

verify

public boolean verify(java.lang.String message,
                      java.lang.String base64Signature)
Specified by:
verify in class AbstractSyslogMessageModifier

verify

public boolean verify(java.lang.String message,
                      byte[] signature)