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


Java PGPSignatureSubpacketVector.getKeyFlags方法代码示例

本文整理汇总了Java中org.bouncycastle.openpgp.PGPSignatureSubpacketVector.getKeyFlags方法的典型用法代码示例。如果您正苦于以下问题:Java PGPSignatureSubpacketVector.getKeyFlags方法的具体用法?Java PGPSignatureSubpacketVector.getKeyFlags怎么用?Java PGPSignatureSubpacketVector.getKeyFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.bouncycastle.openpgp.PGPSignatureSubpacketVector的用法示例。


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

示例1: getUsageFlags

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
/**
 * Usage flags as Bouncy castle {@link PGPKeyFlags} bits.
 */
public int getUsageFlags() throws PGPException {
    if (publicKey == null) return 0;

    int flags = 0;
    // actually only need POSITIVE_CERTIFICATION (for master key)
    // and SUBKEY_BINDING (for subkeys)
    Iterator<PGPSignature> signatures = publicKey.getSignatures();
    while (signatures.hasNext()) {
        PGPSignature signature = signatures.next();
        PGPSignatureSubpacketVector hashedSubPackets =
            signature.getHashedSubPackets();

        if (hashedSubPackets != null)
            flags |= hashedSubPackets.getKeyFlags();
    }
    return flags;
}
 
开发者ID:justinludwig,项目名称:jpgpj,代码行数:21,代码来源:Subkey.java

示例2: hasOneOfExpectedKeyFlags

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
/**
 * Checks whether one of the signatures of the key has one of the expected
 * key flags
 * 
 * @param key
 * @return {@link Boolean#TRUE} if key has one of the expected flag,
 *         <code>null</code> if the key does not have any key flags,
 *         {@link Boolean#FALSE} if the key has none of the expected flags
 */
private static Boolean hasOneOfExpectedKeyFlags(PGPPublicKey key, int[] expectedKeyFlags) {
    boolean containsKeyFlags = false;
    for (@SuppressWarnings("unchecked")
    Iterator<PGPSignature> itsig = key.getSignatures(); itsig.hasNext();) {
        PGPSignature sig = itsig.next();
        PGPSignatureSubpacketVector subPacks = sig.getHashedSubPackets();
        if (subPacks != null) {
            int keyFlag = subPacks.getKeyFlags();
            if (keyFlag > 0 && !containsKeyFlags) {
                containsKeyFlags = true;
            }
            for (int expectdKeyFlag : expectedKeyFlags) {
                int result = keyFlag & expectdKeyFlag;
                if (result == expectdKeyFlag) {
                    return Boolean.TRUE;
                }
            }
        }
    }
    if (containsKeyFlags) {
        return Boolean.FALSE;
    }
    return null; // no key flag
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:34,代码来源:PGPDataFormatUtil.java

示例3: getPgpKeyFlags

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
private Set<PgpKeyFlag> getPgpKeyFlags() {
	final EnumSet<PgpKeyFlag> result = EnumSet.noneOf(PgpKeyFlag.class);

	final PgpKeyId masterKeyId = masterKey == null ? getPgpKeyId() : masterKey.getPgpKeyId();

	final Iterator<?> sigIt = publicKey.getSignatures();
	while (sigIt.hasNext()) {
		final PGPSignature signature = (PGPSignature) sigIt.next();
		if (signature.getKeyID() != masterKeyId.longValue())
			continue;

		// It seems, the signature type is not always the way it should be (to my understanding).
		// To look for PGPSignature.SUBKEY_BINDING works fine, but PGPSignature.PRIMARYKEY_BINDING seems to
		// never be used. I thus do not filter by signature-type at all, anymore, but collect all keyFlags
		// from all signatures made by the master-key.

		final PGPSignatureSubpacketVector hashedSubPackets = signature.getHashedSubPackets();
		if (hashedSubPackets != null) {
			final int keyFlags = hashedSubPackets.getKeyFlags();
			result.addAll(getPgpKeyFlags(keyFlags));
		}
	}
	return result;
}
 
开发者ID:subshare,项目名称:subshare,代码行数:25,代码来源:BcPgpKey.java

示例4: isMatchingUsage

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
/**
 * Check if the PGPSignature contains sub keys that suit our usage. We need 
 * sub keys that are suitable for encrypting storage. 
 * @param sig - PGPSignature
 * @param keyUsage - Usage type - Encrypt storage or communication
 * @return true if a sub key for encrypting storage is found else false 
 */
private boolean isMatchingUsage(PGPSignature sig, int keyUsage) {
    if (sig.hasSubpackets()) {
        PGPSignatureSubpacketVector sv = sig.getHashedSubPackets();
        if (sv.hasSubpacket(CryptDecryptUtil.KEY_FLAGS)) {
        	if ((sv.getKeyFlags() == 0 && keyUsage == 0)) {
        		return false;
        	}
        }
    }
    return true;
}
 
开发者ID:ibm-messaging,项目名称:mq-mft,代码行数:19,代码来源:CryptDecryptUtil.java

示例5: getKeyFlags

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
private static int getKeyFlags(PGPPublicKey key) {
    @SuppressWarnings("unchecked")
    Iterator<PGPSignature> sigs = key.getSignatures();
    while (sigs.hasNext()) {
        PGPSignature sig = sigs.next();
        PGPSignatureSubpacketVector subpackets = sig.getHashedSubPackets();
        if (subpackets != null)
            return subpackets.getKeyFlags();
    }
    return 0;
}
 
开发者ID:kontalk,项目名称:desktopclient-java,代码行数:12,代码来源:PGPUtils.java

示例6: hasFlag

import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; //导入方法依赖的package包/类
static boolean hasFlag(final PGPSignature signature, final int flag) {
    if (signature.hasSubpackets()) {
        PGPSignatureSubpacketVector subpacketVector = signature.getHashedSubPackets();
        if (subpacketVector.hasSubpacket(SignatureSubpacketTags.KEY_FLAGS)) {
            if ((subpacketVector.getKeyFlags() & flag) > 0) {
                return true;
            }
        }
    }
    return false;
}
 
开发者ID:RIPE-NCC,项目名称:whois,代码行数:12,代码来源:PgpPublicKeyWrapper.java


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