summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2017-06-22 01:00:27 +0200
committerWim <wim@42.be>2017-06-22 01:00:27 +0200
commit1f914618538920db4bfec7b106ee97038b157c9b (patch)
tree6bd0ab107fe1673dbacdf9dfd10004289cd7bfab /vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go
parent1f9874102aaca09ce5e0289beff376c307b8c57b (diff)
downloadmatterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.tar.gz
matterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.tar.bz2
matterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.zip
Add vendor (steam)
Diffstat (limited to 'vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go')
-rw-r--r--vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go b/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go
new file mode 100644
index 00000000..8200fb94
--- /dev/null
+++ b/vendor/github.com/Philipp15b/go-steam/cryptoutil/pkcs7.go
@@ -0,0 +1,25 @@
+package cryptoutil
+
+import (
+ "crypto/aes"
+)
+
+// Returns a new byte array padded with PKCS7 and prepended
+// with empty space of the AES block size (16 bytes) for the IV.
+func padPKCS7WithIV(src []byte) []byte {
+ missing := aes.BlockSize - (len(src) % aes.BlockSize)
+ newSize := len(src) + aes.BlockSize + missing
+ dest := make([]byte, newSize, newSize)
+ copy(dest[aes.BlockSize:], src)
+
+ padding := byte(missing)
+ for i := newSize - missing; i < newSize; i++ {
+ dest[i] = padding
+ }
+ return dest
+}
+
+func unpadPKCS7(src []byte) []byte {
+ padLen := src[len(src)-1]
+ return src[:len(src)-int(padLen)]
+}