diff options
author | Alan Young <consult.awy@gmail.com> | 2014-11-13 06:42:37 (GMT) |
---|---|---|
committer | Alan Young <consult.awy@gmail.com> | 2015-04-10 06:50:58 (GMT) |
commit | 7d2101b93b6253c3ea15b663f7f3dc385cb21364 (patch) | |
tree | d81338baf0d117e83cdc07f882cbedd9471e834d /src/com/isode/stroke/crypto | |
parent | a20ca7ba40d837abe228462be0aba5d32d6831e3 (diff) | |
download | stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.zip stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.tar.bz2 |
Checkpoint - A bunch of initial stuff for Android
MemoryStorages, Storages
NickManager, NickResolver
CryptoProvider, Hash, SafeByteArray, JavaCryptoProvider
CapsInfoGenerator, CapsManager, CapsMemoryStorage, CapsProvider,
CapsStorage, CapsInfo
CapsInfoSerializer, CapsInfoParser
ClientDiscoManager, DiscoInfoResponder, EntityCapsManager,
EntityCapsProvider
GetDiscoInfoRequest
ChatState, Idle
Presence, PayloadAddingPresenceSender, PresenceOracle,
SubscriptionManager
StatusSerializer, StatusShowSerializer, StatusParser, StatusShowParser,
Replace, ReplaceParser, ReplaceSerializer
SecurityLabel, SecurityLabelsCatalog, GetSecurityLabelsCatalogRequest
VCard, GetVCardRequest, SetVCardRequest, VCardManager,
VCardMemoryStorage, VCardStorage
RosterMemoryStorage, RosterPushResponder, RosterStorage,
SetRosterRequest
XMPPRoster, XMPPRosterController, XMPPRosterImpl, XMPPRosterItem
GetRosterRequest, SetResponder
Add parsers and serializers for Idle, VCard, PrivateStorage & Stroage.
Add
parser for Subject.
Add impromptu flag to MUCInvitation.
Update copyrights.
Change-Id: I9949f506b70e60b3a64f1dadde8f9b235b322e1d
Diffstat (limited to 'src/com/isode/stroke/crypto')
-rw-r--r-- | src/com/isode/stroke/crypto/CryptoProvider.java | 35 | ||||
-rw-r--r-- | src/com/isode/stroke/crypto/Hash.java | 15 |
2 files changed, 50 insertions, 0 deletions
diff --git a/src/com/isode/stroke/crypto/CryptoProvider.java b/src/com/isode/stroke/crypto/CryptoProvider.java new file mode 100644 index 0000000..1c1a29e --- /dev/null +++ b/src/com/isode/stroke/crypto/CryptoProvider.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2013-2015, Isode Limited, London, England. + * All rights reserved. + */ +package com.isode.stroke.crypto; + +import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; + +public abstract class CryptoProvider { + + public abstract Hash createSHA1(); + public abstract Hash createMD5(); + public abstract ByteArray getHMACSHA1(final SafeByteArray key, final ByteArray data); + public abstract ByteArray getHMACSHA1(final ByteArray key, final ByteArray data); + public abstract boolean isMD5AllowedForCrypto(); + + // Convenience + public ByteArray getSHA1Hash(final SafeByteArray data) { + return createSHA1().update(data).getHash(); + } + + public ByteArray getSHA1Hash(final ByteArray data) { + return createSHA1().update(data).getHash(); + } + + public ByteArray getMD5Hash(final SafeByteArray data) { + return createMD5().update(data).getHash(); + } + + public ByteArray getMD5Hash(final ByteArray data) { + return createMD5().update(data).getHash(); + } + +} diff --git a/src/com/isode/stroke/crypto/Hash.java b/src/com/isode/stroke/crypto/Hash.java new file mode 100644 index 0000000..0d3f7cb --- /dev/null +++ b/src/com/isode/stroke/crypto/Hash.java @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2013-2015, Isode Limited, London, England. + * All rights reserved. + */ +package com.isode.stroke.crypto; + +import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; + +public interface Hash { + Hash update(final ByteArray data); + Hash update(final SafeByteArray data); + + ByteArray getHash(); +} |