当前位置: 首页>>代码示例>>Java>>正文


Java SignedObject类代码示例

本文整理汇总了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");
        }
    }
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:30,代码来源:Correctness.java

示例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());
		}
	}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:29,代码来源:RegServlet.java

示例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);
}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:8,代码来源:RegServlet.java

示例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;
}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:16,代码来源:Authenticator.java

示例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);
	}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:14,代码来源:MatchmakingClient.java

示例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;
}
 
开发者ID:mnip91,项目名称:proactive-component-monitoring,代码行数:12,代码来源:SigningEngine.java

示例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;
}
 
开发者ID:mnip91,项目名称:proactive-component-monitoring,代码行数:13,代码来源:SigningEngine.java

示例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");
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:45,代码来源:Copy.java

示例9: getSignedRegistrationKey

import java.security.SignedObject; //导入依赖的package包/类
public final SignedObject getSignedRegistrationKey() {
	return signed_registration_key;
}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:4,代码来源:RegistrationClient.java

示例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));
}
 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:4,代码来源:RegistrationKey.java

示例11: createUser

import java.security.SignedObject; //导入依赖的package包/类
public void createUser(Login login, LoginDetails login_details, SignedObject reg_key, int revision); 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:2,代码来源:MatchmakingServerLoginInterface.java

示例12: registrationCompleted

import java.security.SignedObject; //导入依赖的package包/类
public void registrationCompleted(SignedObject reg_info); 
开发者ID:sunenielsen,项目名称:tribaltrouble,代码行数:2,代码来源:RegClientInterface.java


注:本文中的java.security.SignedObject类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。