You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							32 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							32 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								package s3_constants
							 | 
						|
								
							 | 
						|
								// Cryptographic constants
							 | 
						|
								const (
							 | 
						|
									// AES block and key sizes
							 | 
						|
									AESBlockSize = 16 // 128 bits for AES block size (IV length)
							 | 
						|
									AESKeySize   = 32 // 256 bits for AES-256 keys
							 | 
						|
								
							 | 
						|
									// SSE algorithm identifiers
							 | 
						|
									SSEAlgorithmAES256 = "AES256"
							 | 
						|
									SSEAlgorithmKMS    = "aws:kms"
							 | 
						|
								
							 | 
						|
									// SSE type identifiers for response headers and internal processing
							 | 
						|
									SSETypeC   = "SSE-C"
							 | 
						|
									SSETypeKMS = "SSE-KMS"
							 | 
						|
									SSETypeS3  = "SSE-S3"
							 | 
						|
								
							 | 
						|
									// S3 multipart upload limits and offsets
							 | 
						|
									S3MaxPartSize = 5 * 1024 * 1024 * 1024 // 5GB - AWS S3 maximum part size limit
							 | 
						|
								
							 | 
						|
									// Multipart offset calculation for unique IV generation
							 | 
						|
									// Using 8GB offset between parts (larger than max part size) to prevent IV collisions
							 | 
						|
									// Critical for CTR mode encryption security in multipart uploads
							 | 
						|
									PartOffsetMultiplier = int64(1) << 33 // 8GB per part offset
							 | 
						|
								
							 | 
						|
									// KMS validation limits based on AWS KMS service constraints
							 | 
						|
									MaxKMSEncryptionContextPairs = 10  // Maximum number of encryption context key-value pairs
							 | 
						|
									MaxKMSKeyIDLength            = 500 // Maximum length for KMS key identifiers
							 | 
						|
								
							 | 
						|
									// S3 multipart upload limits based on AWS S3 service constraints
							 | 
						|
									MaxS3MultipartParts = 10000 // Maximum number of parts in a multipart upload (1-10,000)
							 | 
						|
								)
							 |