本文整理汇总了Java中java.security.SignedObject类的典型用法代码示例。如果您正苦于以下问题:Java SignedObject类的具体用法?Java SignedObject怎么用?Java SignedObject使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
SignedObject类属于java.security包,在下文中一共展示了SignedObject类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: main
import java.security.SignedObject; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
String SIGALG = "SHA1withRSA";
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
KeyPair kp = kpg.generateKeyPair();
SignedObject so1 = new SignedObject("Hello", kp.getPrivate(),
Signature.getInstance(SIGALG));
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(so1);
out.close();
byte[] data = byteOut.toByteArray();
SignedObject so2 = (SignedObject)new ObjectInputStream(
new ByteArrayInputStream(data)).readObject();
if (!so2.getObject().equals("Hello")) {
throw new Exception("Content changed");
}
if (!so2.getAlgorithm().equals(SIGALG)) {
throw new Exception("Signature algorithm unknown");
}
if (!so2.verify(kp.getPublic(), Signature.getInstance(SIGALG))) {
throw new Exception("Not verified");
}
}
示例2: doGet
import java.security.SignedObject; //导入依赖的package包/类
public final void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String request_key_str = normalizeKey(req.getParameter("key"));
String affiliate_id = req.getParameter("affiliate_id");
String current_affiliate_id = req.getParameter("current_affiliate_id");
int version = parseInt(req.getParameter("version"), 0);
boolean timelimit = parseBoolean(req.getParameter("timelimit"));
int maxtime = parseInt(req.getParameter("maxtime"), 0);
boolean forcequit = parseBoolean(req.getParameter("forcequit"));
int maxgames = parseInt(req.getParameter("maxgames"), 0);
log("Oddlabs: got key request: remote host = " + req.getRemoteHost() + " | key_str = " + request_key_str + " | current_affiliate_id = " + current_affiliate_id + " | affiliate_id = " + affiliate_id + " | version = " + version + " | timelimit = " + timelimit + " | maxtime = " + maxtime + " | forcequit = " + forcequit + " | maxgames = " + maxgames);
String key_str = createKey(request_key_str, current_affiliate_id);
long key = RegistrationKey.decode(key_str);
try {
SignedObject signed_registration = register(new RegistrationRequest(key, affiliate_id, version, timelimit, maxtime, forcequit, maxgames));
res.setContentType("application/octet-stream");
ServletOutputStream out = res.getOutputStream();
ObjectOutputStream obj_out = new ObjectOutputStream(out);
obj_out.writeObject(signed_registration);
obj_out.close();
log("Oddlabs: Registered key: " + key_str);
} catch (Exception e) {
log("got exception while registering: " + e);
res.sendError(500, e.toString());
}
}
示例3: register
import java.security.SignedObject; //导入依赖的package包/类
private SignedObject register(RegistrationRequest reg_request) throws SQLException, ServletException {
long reg_key = reg_request.getKey();
String affiliate_id = reg_request.getAffiliate();
String encoded_key = RegistrationKey.encode(reg_key);
RegistrationInfo reg_info = DBInterface.registerKey(getDataSource(), reg_request);
return sign(reg_info);
}
示例4: checkKey
import java.security.SignedObject; //导入依赖的package包/类
private final String checkKey(SignedObject reg_key) {
String reg_code = null;
if (reg_key != null) {
try {
if (RegistrationKey.verify(server.getPublicRegKey(), reg_key)) {
// This cast should not fail, because we signed it and the signature checked out ok
RegistrationInfo reg_info = (RegistrationInfo)reg_key.getObject();
reg_code = RegistrationKey.encode(reg_info.getKey());
}
} catch (Exception e) {
MatchmakingServer.getLogger().warning("Could not verify signature because of: " + e.getMessage());
}
}
return reg_code;
}
示例5: connected
import java.security.SignedObject; //导入依赖的package包/类
public final void connected(AbstractConnection connection) {
SignedObject signed_key = Renderer.getRegistrationClient().getSignedRegistrationKey();
Connection wrapped_connection = (Connection)conn.getWrappedConnection();
matchmaking_login_interface.setLocalRemoteAddress(wrapped_connection.getLocalAddress());
System.out.println("wrapped_connection.getLocalAddress() = " + wrapped_connection.getLocalAddress() );
int revision = LocalInput.getRevision();
if (!Renderer.isRegistered())
matchmaking_login_interface.loginAsGuest(revision);
else if (login_details != null)
matchmaking_login_interface.createUser(login, login_details, signed_key, revision);
else
matchmaking_login_interface.login(login, signed_key, revision);
}
示例6: signObject
import java.security.SignedObject; //导入依赖的package包/类
public Object signObject(Serializable object, PrivateKey privateKey) {
try {
return new SignedObject(object, privateKey, signingEngine);
} catch (Exception e) {
System.out.println("Exception in object signature : " + e);
System.out.println(privateKey);
e.printStackTrace();
}
return null;
}
示例7: checkSignature
import java.security.SignedObject; //导入依赖的package包/类
public boolean checkSignature(Object signedObject, PublicKey publicKey) {
try {
if (((SignedObject) signedObject).verify(publicKey, signingEngine)) {
return true;
}
} catch (Exception e) {
System.out.println("Exception object signature checking :" + e);
e.printStackTrace();
}
return false;
}
示例8: main
import java.security.SignedObject; //导入依赖的package包/类
public static void main(String args[]) throws Exception {
KeyPairGenerator kg = KeyPairGenerator.getInstance(DSA);
kg.initialize(KEY_SIZE);
KeyPair kp = kg.genKeyPair();
Signature signature = Signature.getInstance(DSA);
Test original = new Test();
SignedObject so = new SignedObject(original, kp.getPrivate(),
signature);
System.out.println("Signature algorithm: " + so.getAlgorithm());
signature = Signature.getInstance(DSA, "SUN");
if (!so.verify(kp.getPublic(), signature)) {
throw new RuntimeException("Verification failed");
}
kg = KeyPairGenerator.getInstance(DSA);
kg.initialize(KEY_SIZE);
kp = kg.genKeyPair();
if (so.verify(kp.getPublic(), signature)) {
throw new RuntimeException("Unexpected success");
}
Object copy = so.getObject();
if (!original.equals(copy)) {
throw new RuntimeException("Signed object is not equal "
+ "to original one: " + copy);
}
/*
* The signed object is a copy of an original one.
* Once the copy is made, further manipulation
* of the original object shouldn't has any effect on the copy.
*/
original.set(MAGIC - 1);
copy = so.getObject();
if (original.equals(copy)) {
throw new RuntimeException("Signed object is not a copy "
+ "of original one: " + copy);
}
System.out.println("Test passed");
}
示例9: getSignedRegistrationKey
import java.security.SignedObject; //导入依赖的package包/类
public final SignedObject getSignedRegistrationKey() {
return signed_registration_key;
}
示例10: verify
import java.security.SignedObject; //导入依赖的package包/类
public final static boolean verify(PublicKey public_key, SignedObject signed_object) throws GeneralSecurityException {
return signed_object.verify(public_key, Signature.getInstance(RegServiceInterface.SIGN_ALGORITHM));
}
示例11: createUser
import java.security.SignedObject; //导入依赖的package包/类
public void createUser(Login login, LoginDetails login_details, SignedObject reg_key, int revision);
示例12: registrationCompleted
import java.security.SignedObject; //导入依赖的package包/类
public void registrationCompleted(SignedObject reg_info);