Esempio n. 1
0
        public static TPMKeyParamsCore CreateFromTPMBlob(TPMBlob blob)
        {
            TPMKeyParamsCore keyParams = new TPMKeyParamsCore();

            keyParams.ReadFromTpmBlob(blob);
            return(keyParams);
        }
Esempio n. 2
0
        public static TPMKeyCore Create(CapabilityDataCore.TPMVersionCore version, TPMKeyUsage keyUsage, TPMKeyFlags keyFlags, 
			TPMAuthDataUsage authDataUsage, TPMKeyParamsCore algorithmParams, TPMStorePubkeyCore pubkey, byte[] encdata)
        {
            TPMKeyCore key = new TPMKeyCore ();

            key._keyUsage = keyUsage;
            key._keyFlags = keyFlags;
            key._authDataUsage = authDataUsage;
            key._algorithmParams = algorithmParams;

            if (version == null)
                key._version = CapabilityDataCore.TPMVersionCore.CreateVersion12 ();
            else
                key._version = version;

            if (pubkey == null)
                key._pubKey = TPMStorePubkeyCore.CreateEmptyPubkey ();
            else
                key._pubKey = pubkey;

            if (encdata == null)
                key._encData = new byte[0];
            else
                key._encData = encdata;

            return key;
        }
Esempio n. 3
0
        public static TPMKeyParamsCore Create(TPMAlgorithmId algorithmId, TPMEncScheme encScheme, TPMSigScheme sigScheme,
			ITPMAlgorithmSpecificKeyParams algorithmKeyParams)
        {
            if (algorithmId == TPMAlgorithmId.TPM_ALG_RSA && !(algorithmKeyParams is TPMRSAKeyParamsCore))
                throw new ArgumentException (string.Format ("algorithm: {0} required TPMRSAKeyParamsCore", algorithmId));

            TPMKeyParamsCore keyParamsCore = new TPMKeyParamsCore ();
            keyParamsCore._algorithmId = algorithmId;
            keyParamsCore._encScheme = encScheme;
            keyParamsCore._sigScheme = sigScheme;
            keyParamsCore._params = algorithmKeyParams;

            return keyParamsCore;
        }
Esempio n. 4
0
        public static TPMKeyParamsCore Create(TPMAlgorithmId algorithmId, TPMEncScheme encScheme, TPMSigScheme sigScheme,
                                              ITPMAlgorithmSpecificKeyParams algorithmKeyParams)
        {
            if (algorithmId == TPMAlgorithmId.TPM_ALG_RSA && !(algorithmKeyParams is TPMRSAKeyParamsCore))
            {
                throw new ArgumentException(string.Format("algorithm: {0} required TPMRSAKeyParamsCore", algorithmId));
            }

            TPMKeyParamsCore keyParamsCore = new TPMKeyParamsCore();

            keyParamsCore._algorithmId = algorithmId;
            keyParamsCore._encScheme   = encScheme;
            keyParamsCore._sigScheme   = sigScheme;
            keyParamsCore._params      = algorithmKeyParams;

            return(keyParamsCore);
        }
Esempio n. 5
0
        public void ReadFromTpmBlob(TPMBlob blob)
        {
            _version         = CapabilityDataCore.TPMVersionCore.CreateFromTPMBlob(blob);
            _keyUsage        = (TPMKeyUsage)blob.ReadUInt16();
            _keyFlags        = (TPMKeyFlags)blob.ReadUInt32();
            _authDataUsage   = (TPMAuthDataUsage)blob.ReadByte();
            _algorithmParams = TPMKeyParamsCore.CreateFromTPMBlob(blob);

            uint pcrInfoSize = blob.ReadUInt32();

            /*byte[] pcrInfo =*/ blob.ReadBytes((int)pcrInfoSize);

            _pubKey = TPMStorePubkeyCore.CreateFromTpmBlob(blob);

            uint encDataSize = blob.ReadUInt32();

            _encData = blob.ReadBytes((int)encDataSize);
        }
Esempio n. 6
0
        public static TPMKeyCore Create(CapabilityDataCore.TPMVersionCore version, TPMKeyUsage keyUsage, TPMKeyFlags keyFlags,
                                        TPMAuthDataUsage authDataUsage, TPMKeyParamsCore algorithmParams, TPMStorePubkeyCore pubkey, byte[] encdata)
        {
            TPMKeyCore key = new TPMKeyCore();


            key._keyUsage        = keyUsage;
            key._keyFlags        = keyFlags;
            key._authDataUsage   = authDataUsage;
            key._algorithmParams = algorithmParams;


            if (version == null)
            {
                key._version = CapabilityDataCore.TPMVersionCore.CreateVersion12();
            }
            else
            {
                key._version = version;
            }

            if (pubkey == null)
            {
                key._pubKey = TPMStorePubkeyCore.CreateEmptyPubkey();
            }
            else
            {
                key._pubKey = pubkey;
            }

            if (encdata == null)
            {
                key._encData = new byte[0];
            }
            else
            {
                key._encData = encdata;
            }

            return(key);
        }
Esempio n. 7
0
 public static TPMKeyParamsCore CreateFromTPMBlob( TPMBlob blob)
 {
     TPMKeyParamsCore keyParams = new TPMKeyParamsCore();
     keyParams.ReadFromTpmBlob(blob);
     return keyParams;
 }
Esempio n. 8
0
 public void ReadFromTpmBlob(TPMBlob blob)
 {
     _keyParams = TPMKeyParamsCore.CreateFromTPMBlob(blob);
     _publicKey = TPMStorePubkeyCore.CreateFromTpmBlob(blob);
 }