Android Open Source - steamchat R S A From Project Back to project page steamchat .
License The source code is released under:
Apache License
If you think the Android project steamchat listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.kevelbreh.steamchat.steam.security;
/ / f r o m w w w . j a v a 2 s . c o m
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import java.math.BigInteger;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.RSAPublicKeySpec;
import java.util.ArrayList;
import java.util.List;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
/**
* Created by kevin on 2014/08/12.
*/
public class RSA {
Cipher cipher;
RSAPublicKey RSAkey;
public RSA(byte [] key) {
try {
final List<Byte> list = new ArrayList<Byte>();
for (final byte b : key) {
list.add(b);
}
final AsnKeyParser keyParser = new AsnKeyParser(list);
final BigInteger[] keys = keyParser.parseRSAPublicKey();
init(keys[0], keys[1], true);
} catch (final BerDecodeException e) {
e.printStackTrace();
}
}
public RSA(BigInteger mod, BigInteger exp) {
this (mod, exp, true);
}
public RSA(BigInteger mod, BigInteger exp, boolean oaep) {
init(mod, exp, oaep);
}
private void init(BigInteger mod, BigInteger exp, boolean oaep) {
try {
final RSAPublicKeySpec publicKeySpec = new RSAPublicKeySpec(mod, exp);
final KeyFactory factory = KeyFactory.getInstance("RSA" );
RSAkey = (RSAPublicKey) factory.generatePublic(publicKeySpec);
Security.addProvider(new BouncyCastleProvider());
if (oaep) {
cipher = Cipher.getInstance("RSA/None/OAEPWithSHA1AndMGF1Padding" , "BC" );
} else {
cipher = Cipher.getInstance("RSA/None/PKCS1Padding" , "BC" );
}
cipher.init(Cipher.ENCRYPT_MODE, RSAkey);
} catch (final NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (final NoSuchPaddingException e) {
e.printStackTrace();
} catch (final InvalidKeyException e) {
e.printStackTrace();
} catch (final InvalidKeySpecException e) {
e.printStackTrace();
} catch (final NoSuchProviderException e) {
e.printStackTrace();
}
}
public byte [] encrypt(byte [] input) {
try {
return cipher.doFinal(input);
} catch (final IllegalBlockSizeException e) {
e.printStackTrace();
} catch (final BadPaddingException e) {
e.printStackTrace();
}
return null;
}
}
Java Source Code List com.kevelbreh.steamchat.SteamChat.java com.kevelbreh.steamchat.account.AuthenticatorService.java com.kevelbreh.steamchat.account.Authenticator.java com.kevelbreh.steamchat.account.SteamAccount.java com.kevelbreh.steamchat.activity.AuthenticationActivity.java com.kevelbreh.steamchat.activity.ConversationActivity.java com.kevelbreh.steamchat.activity.FriendsActivity.java com.kevelbreh.steamchat.activity.InteractionsActivity.java com.kevelbreh.steamchat.activity.LauncherActivity.java com.kevelbreh.steamchat.activity.SettingsActivity.java com.kevelbreh.steamchat.fragment.ConversationFragment.java com.kevelbreh.steamchat.fragment.FriendsFragment.java com.kevelbreh.steamchat.fragment.InteractionsFragment.java com.kevelbreh.steamchat.fragment.SettingsFragment.java com.kevelbreh.steamchat.provider.SteamProviderUtils.java com.kevelbreh.steamchat.provider.SteamProvider.java com.kevelbreh.steamchat.provider.content.InteractionContentItem.java com.kevelbreh.steamchat.provider.content.PersonaContentItem.java com.kevelbreh.steamchat.provider.content.UserContentItem.java com.kevelbreh.steamchat.steam2.SteamConnection.java com.kevelbreh.steamchat.steam2.SteamEventBus.java com.kevelbreh.steamchat.steam2.SteamService.java com.kevelbreh.steamchat.steam2.handler.ConnectionHandler.java com.kevelbreh.steamchat.steam2.handler.FriendHandler.java com.kevelbreh.steamchat.steam2.handler.MessageHandler.java com.kevelbreh.steamchat.steam2.handler.UserHandler.java com.kevelbreh.steamchat.steam2.packet.Packet.java com.kevelbreh.steamchat.steam2.packet.ProtoPacket.java com.kevelbreh.steamchat.steam.SteamClient.java com.kevelbreh.steamchat.steam.SteamID.java com.kevelbreh.steamchat.steam.SteamServiceHandler.java com.kevelbreh.steamchat.steam.SteamService.java com.kevelbreh.steamchat.steam.handler2.ConnectionHandler.java com.kevelbreh.steamchat.steam.handler2.FriendHandler.java com.kevelbreh.steamchat.steam.handler2.Handler.java com.kevelbreh.steamchat.steam.handler2.UserHandler.java com.kevelbreh.steamchat.steam.handler.AEventHandler.java com.kevelbreh.steamchat.steam.handler.AuthenticationHandler.java com.kevelbreh.steamchat.steam.handler.FriendsHandler.java com.kevelbreh.steamchat.steam.handler.IEventHandler.java com.kevelbreh.steamchat.steam.handler.IHandler.java com.kevelbreh.steamchat.steam.handler.MessageDebugHandler.java com.kevelbreh.steamchat.steam.language.Language.java com.kevelbreh.steamchat.steam.language.Message.java com.kevelbreh.steamchat.steam.network.TCPConnection.java com.kevelbreh.steamchat.steam.network.packet.ChannelEncryptRequest.java com.kevelbreh.steamchat.steam.network.packet.ChannelEncryptResponse.java com.kevelbreh.steamchat.steam.network.packet.ChannelEncryptResult.java com.kevelbreh.steamchat.steam.network.packet.ClientLogOnResponse.java com.kevelbreh.steamchat.steam.network.packet.ClientLogOn.java com.kevelbreh.steamchat.steam.network.packet.HeartBeat.java com.kevelbreh.steamchat.steam.network.packet.MultiPacket.java com.kevelbreh.steamchat.steam.network.packet.Packet.java com.kevelbreh.steamchat.steam.network.packet.ProtoPacket.java com.kevelbreh.steamchat.steam.proto.DescriptorsProto.java com.kevelbreh.steamchat.steam.proto.EncryptedAppTicketProto.java com.kevelbreh.steamchat.steam.proto.SteamMessagesBaseProto.java com.kevelbreh.steamchat.steam.proto.SteamMessagesClientServerProto.java com.kevelbreh.steamchat.steam.security.AsnKeyParser.java com.kevelbreh.steamchat.steam.security.AsnParser.java com.kevelbreh.steamchat.steam.security.BerDecodeException.java com.kevelbreh.steamchat.steam.security.Cryptography.java com.kevelbreh.steamchat.steam.security.NetEncryption.java com.kevelbreh.steamchat.steam.security.PublicKey.java com.kevelbreh.steamchat.steam.security.RSA.java com.kevelbreh.steamchat.steam.util.BinaryReader.java com.kevelbreh.steamchat.steam.util.BinaryWriter.java com.kevelbreh.steamchat.steam.util.BitVector64.java com.kevelbreh.steamchat.steam.util.JenkinsHash.java com.kevelbreh.steamchat.util.AServiceActivity.java com.kevelbreh.steamchat.util.Dump.java com.kevelbreh.steamchat.util.MiscUtils.java com.kevelbreh.steamchat.widget.adapter.ChatAdapter.java com.kevelbreh.steamchat.widget.adapter.ConversationAdapter.java com.kevelbreh.steamchat.widget.adapter.FriendAdapter.java com.kevelbreh.steamchat.widget.view.AvatarView.java com.kevelbreh.steamchat.widget.view.FriendInteractionsView.java