Esempio n. 1
0
 private string ComputeDigest(Func <Stream> byteStreamFunction,
                              IPrivacyStrategy privacyStrategy, bool computeDigest)
 {
     return(computeDigest
         ? privacyStrategy.EncryptStream(byteStreamFunction.Invoke()).Digest()
         : null);
 }
Esempio n. 2
0
 internal DownloadParameter(string transactionHash, string accountPrivateKey, IPrivacyStrategy privacyStrategy,
                            bool validateDigest)
 {
     TransactionHash   = transactionHash;
     AccountPrivateKey = accountPrivateKey;
     PrivacyStrategy   = privacyStrategy;
     ValidateDigest    = validateDigest;
 }
        private IObservable <Stream> GetDataByteStream(ProximaxMessagePayloadModel messagePayload, string dataHash,
                                                       IPrivacyStrategy privacyStrategy, bool validateDigest, string digest)
        {
            var resolvedDataHash    = messagePayload != null ? messagePayload.Data.DataHash : dataHash;
            var resolvedDigest      = messagePayload != null ? messagePayload.Data.Digest : digest;
            var resolvedContentType = messagePayload?.Data.ContentType;

            return(RetrieveProximaxDataService.GetDataByteStream(resolvedDataHash, privacyStrategy, validateDigest,
                                                                 resolvedDigest, resolvedContentType));
        }
Esempio n. 4
0
        public IObservable <Stream> GetByteStream(string dataHash, IPrivacyStrategy privacyStrategy, string digest)
        {
            CheckParameter(dataHash != null, "dataHash is required");

            var privacyStrategyToUse = privacyStrategy ?? PlainPrivacyStrategy.Create();

            ValidateDigest(digest, dataHash);

            return(FileRepository.GetByteStream(dataHash).Select(stream => privacyStrategyToUse.DecryptStream(stream)));
        }
 internal DirectDownloadParameter(string transactionHash, string accountPrivateKey, string dataHash,
                                  bool validateDigest, IPrivacyStrategy privacyStrategy, string digest)
 {
     TransactionHash   = transactionHash;
     AccountPrivateKey = accountPrivateKey;
     DataHash          = dataHash;
     ValidateDigest    = validateDigest;
     PrivacyStrategy   = privacyStrategy;
     Digest            = digest;
 }
Esempio n. 6
0
        public IObservable <FileUploadResponse> UploadByteStream(Func <Stream> byteStreamFunction,
                                                                 IPrivacyStrategy privacyStrategy, bool?computeDigest)
        {
            CheckParameter(byteStreamFunction != null, "byteStreamFunction is required");

            var computeDigestToUse   = computeDigest ?? false;
            var privacyStrategyToUse = privacyStrategy ?? PlainPrivacyStrategy.Create();

            var digest     = ComputeDigest(byteStreamFunction, privacyStrategyToUse, computeDigestToUse);
            var dataHashOb =
                FileRepository.AddByteStream(privacyStrategyToUse.EncryptStream(byteStreamFunction?.Invoke()));

            return(dataHashOb.Select(dataHash => new FileUploadResponse(dataHash, CurrentTimeMillis(), digest)));
        }
Esempio n. 7
0
 public UploadParameter(IUploadParameterData data, string signerPrivateKey, string recipientPublicKey,
                        string recipientAddress, bool computeDigest, bool detectContentType, int transactionDeadline,
                        List <Mosaic> transactionMosaics, bool useBlockchainSecureMessage, IPrivacyStrategy privacyStrategy)
 {
     Data                       = data;
     SignerPrivateKey           = signerPrivateKey;
     RecipientPublicKey         = recipientPublicKey;
     RecipientAddress           = recipientAddress;
     ComputeDigest              = computeDigest;
     DetectContentType          = detectContentType;
     TransactionDeadline        = transactionDeadline;
     TransactionMosaics         = transactionMosaics;
     UseBlockchainSecureMessage = useBlockchainSecureMessage;
     PrivacyStrategy            = privacyStrategy;
     Version                    = SchemaVersion;
 }
Esempio n. 8
0
        public IObservable <Stream> GetDataByteStream(string dataHash, IPrivacyStrategy privacyStrategy,
                                                      bool validateDigest,
                                                      string digest, string contentType)
        {
            CheckParameter(dataHash != null, "dataHash is required");
            CheckParameter(privacyStrategy != null, "privacyStrategy is required");

            if (contentType != null && contentType.Equals(PathUploadContentType))
            {
                // path
                throw new NotSupportedException("download of path is not yet supported");
            }
            else
            {
                // byte array
                var digestToUse = validateDigest ? digest : null;
                return(FileDownloadService.GetByteStream(dataHash, privacyStrategy, digestToUse));
            }
        }
 public UploadParameterBuilder WithPrivacyStrategy(IPrivacyStrategy privacyStrategy)
 {
     PrivacyStrategy = privacyStrategy;
     return(this);
 }
 public UploadParameterBuilder WithPasswordPrivacy(string password)
 {
     PrivacyStrategy = PasswordPrivacyStrategy.Create(password);
     return(this);
 }
 public UploadParameterBuilder WithNemKeysPrivacy(string privateKey, string publicKey)
 {
     PrivacyStrategy = NemKeysPrivacyStrategy.Create(privateKey, publicKey);
     return(this);
 }
 public UploadParameterBuilder WithPlainPrivacy()
 {
     PrivacyStrategy = PlainPrivacyStrategy.Create();
     return(this);
 }
Esempio n. 13
0
 public DirectDownloadParameterBuilder WithPrivacyStrategy(IPrivacyStrategy privacyStrategy)
 {
     PrivacyStrategy = privacyStrategy;
     return this;
 }