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


Java OtrCryptoEngineImpl类代码示例

本文整理汇总了Java中net.java.otr4j.crypto.OtrCryptoEngineImpl的典型用法代码示例。如果您正苦于以下问题:Java OtrCryptoEngineImpl类的具体用法?Java OtrCryptoEngineImpl怎么用?Java OtrCryptoEngineImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


OtrCryptoEngineImpl类属于net.java.otr4j.crypto包,在下文中一共展示了OtrCryptoEngineImpl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
	if (this.otrFingerprint == null) {
		try {
			if (this.mOtrService == null) {
				return null;
			}
			final PublicKey publicKey = this.mOtrService.getPublicKey();
			if (publicKey == null || !(publicKey instanceof DSAPublicKey)) {
				return null;
			}
			this.otrFingerprint = new OtrCryptoEngineImpl().getFingerprint(publicKey).toLowerCase(Locale.US);
			return this.otrFingerprint;
		} catch (final OtrCryptoException ignored) {
			return null;
		}
	} else {
		return this.otrFingerprint;
	}
}
 
开发者ID:syntafin,项目名称:TenguChat,代码行数:20,代码来源:Account.java

示例2: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
	if (this.otrFingerprint == null) {
		try {
			if (this.mOtrService == null) {
				return null;
			}
			final PublicKey publicKey = this.mOtrService.getPublicKey();
			if (publicKey == null || !(publicKey instanceof DSAPublicKey)) {
				return null;
			}
			this.otrFingerprint = new OtrCryptoEngineImpl().getFingerprint(publicKey);
			return this.otrFingerprint;
		} catch (final OtrCryptoException ignored) {
			return null;
		}
	} else {
		return this.otrFingerprint;
	}
}
 
开发者ID:xavierle,项目名称:messengerxmpp,代码行数:20,代码来源:Account.java

示例3: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
    if (this.otrFingerprint == null) {
        try {
            if (this.mOtrService == null) {
                return null;
            }
            final PublicKey publicKey = this.mOtrService.getPublicKey();
            if (publicKey == null || !(publicKey instanceof DSAPublicKey)) {
                return null;
            }
            this.otrFingerprint = new OtrCryptoEngineImpl().getFingerprint(publicKey).toLowerCase(Locale.US);
            return this.otrFingerprint;
        } catch (final OtrCryptoException ignored) {
            return null;
        }
    } else {
        return this.otrFingerprint;
    }
}
 
开发者ID:kriztan,项目名称:Pix-Art-Messenger,代码行数:20,代码来源:Account.java

示例4: rotateLocalSessionKeys

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
private void rotateLocalSessionKeys() throws OtrException {

        if (DEBUG_ENABLED) Log.d(LOG_TAG,"Rotating local keys.");
        SessionKeys sess1 = getSessionKeysByIndex(SessionKeys.Previous, SessionKeys.Current);
        if (sess1.getIsUsedReceivingMACKey()) {
            if (DEBUG_ENABLED) Log.d(LOG_TAG,"Detected used Receiving MAC key. Adding to old MAC keys to reveal it.");
            getOldMacKeys().add(sess1.getReceivingMACKey());
        }

        SessionKeys sess2 = getSessionKeysByIndex(SessionKeys.Previous, SessionKeys.Previous);
        if (sess2.getIsUsedReceivingMACKey()) {
            if (DEBUG_ENABLED) Log.d(LOG_TAG,"Detected used Receiving MAC key. Adding to old MAC keys to reveal it.");
            getOldMacKeys().add(sess2.getReceivingMACKey());
        }

        SessionKeys sess3 = getSessionKeysByIndex(SessionKeys.Current, SessionKeys.Current);
        sess1.setLocalPair(sess3.getLocalPair(), sess3.getLocalKeyID());
        SessionKeys sess4 = getSessionKeysByIndex(SessionKeys.Current, SessionKeys.Previous);
        sess2.setLocalPair(sess4.getLocalPair(), sess4.getLocalKeyID());

        KeyPair newPair = new OtrCryptoEngineImpl().generateDHKeyPair();
        sess3.setLocalPair(newPair, sess3.getLocalKeyID() + 1);
        sess4.setLocalPair(newPair, sess4.getLocalKeyID() + 1);
    }
 
开发者ID:zom,项目名称:Zom-Android,代码行数:25,代码来源:SessionImpl.java

示例5: getRevealSignatureMessage

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
private RevealSignatureMessage getRevealSignatureMessage() throws OtrException {
    try {
        SignatureM m = new SignatureM((DHPublicKey) getLocalDHKeyPair().getPublic(),
                getRemoteDHPublicKey(), getLocalLongTermKeyPair().getPublic(),
                getLocalDHKeyPairID());

        OtrCryptoEngine otrCryptoEngine = new OtrCryptoEngineImpl();
        byte[] mhash = otrCryptoEngine.sha256Hmac(SerializationUtils.toByteArray(m),
                getM1());
        byte[] signature = otrCryptoEngine.sign(mhash, getLocalLongTermKeyPair()
                .getPrivate());

        SignatureX mysteriousX = new SignatureX(getLocalLongTermKeyPair().getPublic(),
                getLocalDHKeyPairID(), signature);
        byte[] xEncrypted = otrCryptoEngine.aesEncrypt(getC(), null,
                SerializationUtils.toByteArray(mysteriousX));

        byte[] tmp = SerializationUtils.writeData(xEncrypted);

        byte[] xEncryptedHash = otrCryptoEngine.sha256Hmac160(tmp, getM2());
        return new RevealSignatureMessage(getProtocolVersion(), xEncrypted, xEncryptedHash,
                getR());
    } catch (IOException e) {
        throw new OtrException(e);
    }
}
 
开发者ID:zom,项目名称:Zom-Android,代码行数:27,代码来源:AuthContextImpl.java

示例6: testIOBigInt

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public void testIOBigInt() throws Exception {

        KeyPair pair = new OtrCryptoEngineImpl().generateDHKeyPair();
        BigInteger source = ((DHPublicKey) pair.getPublic()).getY();

        ByteArrayOutputStream out = new ByteArrayOutputStream();
        OtrOutputStream oos = new OtrOutputStream(out);
        oos.writeBigInt(source);
        oos.close();

        byte[] converted = out.toByteArray();

        ByteArrayInputStream bin = new ByteArrayInputStream(converted);
        OtrInputStream ois = new OtrInputStream(bin);
        BigInteger result = ois.readBigInt();
        ois.close();

        assertTrue(source.compareTo(result) == 0);
    }
 
开发者ID:zom,项目名称:Zom-Android,代码行数:20,代码来源:IOTest.java

示例7: testIODHPublicKey

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public void testIODHPublicKey() throws Exception {
    KeyPair pair = new OtrCryptoEngineImpl().generateDHKeyPair();

    DHPublicKey source = (DHPublicKey) pair.getPublic();

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    OtrOutputStream oos = new OtrOutputStream(out);
    oos.writeDHPublicKey(source);
    oos.close();

    byte[] converted = out.toByteArray();

    ByteArrayInputStream bin = new ByteArrayInputStream(converted);
    OtrInputStream ois = new OtrInputStream(bin);
    DHPublicKey result = ois.readDHPublicKey();
    ois.close();

    assertTrue(source.getY().compareTo(result.getY()) == 0);
}
 
开发者ID:zom,项目名称:Zom-Android,代码行数:20,代码来源:IOTest.java

示例8: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
	if (this.otrFingerprint == null) {
		try {
			if (this.otrEngine == null) {
				return null;
			}
			final PublicKey publicKey = this.otrEngine.getPublicKey();
			if (publicKey == null || !(publicKey instanceof DSAPublicKey)) {
				return null;
			}
			this.otrFingerprint = new OtrCryptoEngineImpl().getFingerprint(publicKey);
			return this.otrFingerprint;
		} catch (final OtrCryptoException ignored) {
			return null;
		}
	} else {
		return this.otrFingerprint;
	}
}
 
开发者ID:juanignaciomolina,项目名称:txtr,代码行数:20,代码来源:Account.java

示例9: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
	if (this.otrFingerprint == null) {
		try {
			DSAPublicKey remotePubKey = (DSAPublicKey) getOtrSession()
					.getRemotePublicKey();
			StringBuilder builder = new StringBuilder(
					new OtrCryptoEngineImpl().getFingerprint(remotePubKey));
			builder.insert(8, " ");
			builder.insert(17, " ");
			builder.insert(26, " ");
			builder.insert(35, " ");
			this.otrFingerprint = builder.toString();
		} catch (OtrCryptoException e) {

		}
	}
	return this.otrFingerprint;
}
 
开发者ID:GitESS,项目名称:SyncChatAndroid,代码行数:19,代码来源:Conversation.java

示例10: getOtrFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getOtrFingerprint() {
	if (this.otrFingerprint == null) {
		try {
			DSAPublicKey pubkey = (DSAPublicKey) this.otrEngine.getPublicKey();
			if (pubkey == null) {
				return null;
			}
			StringBuilder builder = new StringBuilder(new OtrCryptoEngineImpl().getFingerprint(pubkey));
			builder.insert(8, " ");
			builder.insert(17, " ");
			builder.insert(26, " ");
			builder.insert(35, " ");
			this.otrFingerprint = builder.toString();
		} catch (OtrCryptoException e) {
			
		}
	}
	return this.otrFingerprint;
}
 
开发者ID:GitESS,项目名称:SyncChatAndroid,代码行数:20,代码来源:Account.java

示例11: getRemoteFingerprint

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public String getRemoteFingerprint(String fullUserId) {

        //if (!Address.hasResource(fullUserId))
          //  return null;
        
        byte[] fingerprint = this.store.getPropertyHexBytes(fullUserId + ".fingerprint");
        if (fingerprint != null) {
            // If we have a fingerprint stashed, assume it is correct.
            return new String(Hex.encode(fingerprint, 0, fingerprint.length));
        }
        
        PublicKey remotePublicKey = loadRemotePublicKeyFromStore(fullUserId);
        if (remotePublicKey == null)
            return null;
        try {
            // Store the fingerprint, for posterity.
            String fingerprintString = new OtrCryptoEngineImpl().getFingerprint(remotePublicKey);
            this.store.setPropertyHex(fullUserId + ".fingerprint", Hex.decode(fingerprintString));

            store.save();
            return fingerprintString;
        } catch (OtrCryptoException e) {
            OtrDebugLogger.log("OtrCryptoException getting remote fingerprint",e);
            return null;
        }
    }
 
开发者ID:prive,项目名称:prive-android,代码行数:27,代码来源:OtrAndroidKeyManagerImpl.java

示例12: savePublicKey

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public void savePublicKey(SessionID sessionID, PublicKey pubKey) {
    if (sessionID == null)
        return;

    X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(pubKey.getEncoded());

    String fullUserId = sessionID.getFullUserID();
  //  if (!Address.hasResource(fullUserId))
    //    return;
    
    this.store.setProperty(fullUserId + ".publicKey", x509EncodedKeySpec.getEncoded());
    // Stash the associated fingerprint.  This saves calculating it in the future
    // and is useful for transferring rosters to other apps.
    try {
        String fingerprintString = new OtrCryptoEngineImpl().getFingerprint(pubKey);
        String verifiedToken = buildPublicKeyVerifiedId(fullUserId, fingerprintString.toLowerCase());
        if (!this.store.hasProperty(verifiedToken))
            this.store.setProperty(verifiedToken, false);
        
        this.store.setPropertyHex(fullUserId + ".fingerprint", Hex.decode(fingerprintString));
        store.save();
    } catch (OtrCryptoException e) {
        e.printStackTrace();
    }
}
 
开发者ID:prive,项目名称:prive-android,代码行数:26,代码来源:OtrAndroidKeyManagerImpl.java

示例13: rotateLocalSessionKeys

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
private void rotateLocalSessionKeys() throws OtrException {

        logger.finest("Rotating local keys.");
        SessionKeys sess1 = getSessionKeysByIndex(SessionKeys.Previous, SessionKeys.Current);
        if (sess1.getIsUsedReceivingMACKey()) {
            logger.finest("Detected used Receiving MAC key. Adding to old MAC keys to reveal it.");
            getOldMacKeys().add(sess1.getReceivingMACKey());
        }

        SessionKeys sess2 = getSessionKeysByIndex(SessionKeys.Previous, SessionKeys.Previous);
        if (sess2.getIsUsedReceivingMACKey()) {
            logger.finest("Detected used Receiving MAC key. Adding to old MAC keys to reveal it.");
            getOldMacKeys().add(sess2.getReceivingMACKey());
        }

        SessionKeys sess3 = getSessionKeysByIndex(SessionKeys.Current, SessionKeys.Current);
        sess1.setLocalPair(sess3.getLocalPair(), sess3.getLocalKeyID());
        SessionKeys sess4 = getSessionKeysByIndex(SessionKeys.Current, SessionKeys.Previous);
        sess2.setLocalPair(sess4.getLocalPair(), sess4.getLocalKeyID());

        KeyPair newPair = new OtrCryptoEngineImpl().generateDHKeyPair();
        sess3.setLocalPair(newPair, sess3.getLocalKeyID() + 1);
        sess4.setLocalPair(newPair, sess4.getLocalKeyID() + 1);
    }
 
开发者ID:prive,项目名称:prive-android,代码行数:25,代码来源:SessionImpl.java

示例14: testIOBigInt

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public void testIOBigInt() throws Exception {

        KeyPair pair = new OtrCryptoEngineImpl().generateDHKeyPair();
        BigInteger source = ((DHPublicKey) pair.getPublic()).getY();

        ByteArrayOutputStream out = new ByteArrayOutputStream();
        OtrOutputStream oos = new OtrOutputStream(out);
        oos.writeBigInt(source);

        byte[] converted = out.toByteArray();

        ByteArrayInputStream bin = new ByteArrayInputStream(converted);
        OtrInputStream ois = new OtrInputStream(bin);
        BigInteger result = ois.readBigInt();

        assertTrue(source.compareTo(result) == 0);
    }
 
开发者ID:prive,项目名称:prive-android,代码行数:18,代码来源:IOTest.java

示例15: testIODHPublicKey

import net.java.otr4j.crypto.OtrCryptoEngineImpl; //导入依赖的package包/类
public void testIODHPublicKey() throws Exception {
    KeyPair pair = new OtrCryptoEngineImpl().generateDHKeyPair();

    DHPublicKey source = (DHPublicKey) pair.getPublic();

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    OtrOutputStream oos = new OtrOutputStream(out);
    oos.writeDHPublicKey(source);

    byte[] converted = out.toByteArray();

    ByteArrayInputStream bin = new ByteArrayInputStream(converted);
    OtrInputStream ois = new OtrInputStream(bin);
    DHPublicKey result = ois.readDHPublicKey();

    assertTrue(source.getY().compareTo(result.getY()) == 0);
}
 
开发者ID:prive,项目名称:prive-android,代码行数:18,代码来源:IOTest.java


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