All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.bcpg.sig.PreferredAlgorithms Maven / Gradle / Ivy

package org.bouncycastle.bcpg.sig;

import org.bouncycastle.bcpg.SignatureSubpacket;

/**
 * Signature Subpacket containing algorithm preferences of the key holder's implementation.
 * This class is used to implement:
 * 
    *
  • Preferred Hash Algorithms
  • *
  • Preferred Symmetric Key Algorithms
  • *
  • Preferred Compression Algorithms
  • *
* * @see * RFC9580 - Preferred Symmetric Ciphers for v1 SEIPD * @see * RFC9580 - Preferred Hash Algorithms * @see * RFC9580 - Preferred Compression Algorithms * @see * RFC4880 - Preferred Symmetric Algorithms * @see * RFC4880 - Preferred Hash Algorithms * @see * RFC4880 - Preferred Compression Algorithms */ public class PreferredAlgorithms extends SignatureSubpacket { protected static byte[] intToByteArray( int[] v) { byte[] data = new byte[v.length]; for (int i = 0; i != v.length; i++) { data[i] = (byte)v[i]; } return data; } public PreferredAlgorithms( int type, boolean critical, boolean isLongLength, byte[] data) { super(type, critical, isLongLength, data); } public PreferredAlgorithms( int type, boolean critical, int[] preferences) { super(type, critical, false, intToByteArray(preferences)); } public int[] getPreferences() { int[] v = new int[data.length]; for (int i = 0; i != v.length; i++) { v[i] = data[i] & 0xff; } return v; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy