Class SM9SigMasterPrivateKeyParameters

    • Field Detail

      • HID

        public static final byte HID
        The signature private-key generation function identifier hid, fixed to 0x01 for the SM9 signature algorithm (GM/T 0044.2-2016, Annex A).
        See Also:
        Constant Field Values
    • Constructor Detail

      • SM9SigMasterPrivateKeyParameters

        public SM9SigMasterPrivateKeyParameters​(java.math.BigInteger ks)
    • Method Detail

      • getEncoded

        public byte[] getEncoded()
        The master private key ks as a 32-byte big-endian scalar.
      • generateUserKey

        public SM9SigPrivateKeyParameters generateUserKey​(byte[] identity)
        Derive the signature private key for the user identified by identity (GM/T 0044.2-2016, 5.3): t1 = H1(identity||hid, N) + ks; if t1 = 0 the master key must be regenerated; otherwise t2 = ks*t1^-1 and ds = [t2]P1.
        Specified by:
        generateUserKey in interface SM9SigUserKeyParametersGenerator
        Parameters:
        identity - the user's identity.
        Returns:
        the user's signature private key.
      • destroy

        public void destroy()
        Destroy this object, dropping its reference to the master secret ks.

        As BigInteger is immutable the secret value cannot be zeroized in place; destruction drops the reference and marks the key destroyed, after which getEncoded() and generateUserKey(byte[]) throw IllegalStateException. The public key parameters remain available.

        Specified by:
        destroy in interface javax.security.auth.Destroyable
      • isDestroyed

        public boolean isDestroyed()
        Specified by:
        isDestroyed in interface javax.security.auth.Destroyable