Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b76a690

Browse files
vpnaas: add support for more ciphers (auth, encryption, pfs modes)
For VPNaaS IKE policies and IPSEC policies several choices for encryption algorithms, auth algorithms and PFS modes have been added. Encryption algorithms: add AES CCM mode and AES GCM mode variants for 128/192/256 bit keys and 8/12/16 octet ICVs. Add AES CTR modes for 128/192/256 bit keys. Auth algorithms: add aes-xcbc and aes-cmac. PFS: add Diffie Hellman groups 15 to 31. Closes: #3314
1 parent b4af4f3 commit b76a690

File tree

2 files changed

+114
-34
lines changed

2 files changed

+114
-34
lines changed

openstack/networking/v2/extensions/vpnaas/ikepolicies/requests.go

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,62 @@ type IKEVersion string
1515
type Phase1NegotiationMode string
1616

1717
const (
18-
AuthAlgorithmSHA1 AuthAlgorithm = "sha1"
19-
AuthAlgorithmSHA256 AuthAlgorithm = "sha256"
20-
AuthAlgorithmSHA384 AuthAlgorithm = "sha384"
21-
AuthAlgorithmSHA512 AuthAlgorithm = "sha512"
22-
EncryptionAlgorithm3DES EncryptionAlgorithm = "3des"
23-
EncryptionAlgorithmAES128 EncryptionAlgorithm = "aes-128"
24-
EncryptionAlgorithmAES256 EncryptionAlgorithm = "aes-256"
25-
EncryptionAlgorithmAES192 EncryptionAlgorithm = "aes-192"
26-
UnitSeconds Unit = "seconds"
27-
UnitKilobytes Unit = "kilobytes"
28-
PFSGroup2 PFS = "group2"
29-
PFSGroup5 PFS = "group5"
30-
PFSGroup14 PFS = "group14"
31-
IKEVersionv1 IKEVersion = "v1"
32-
IKEVersionv2 IKEVersion = "v2"
33-
Phase1NegotiationModeMain Phase1NegotiationMode = "main"
18+
AuthAlgorithmSHA1 AuthAlgorithm = "sha1"
19+
AuthAlgorithmSHA256 AuthAlgorithm = "sha256"
20+
AuthAlgorithmSHA384 AuthAlgorithm = "sha384"
21+
AuthAlgorithmSHA512 AuthAlgorithm = "sha512"
22+
AuthAlgorithmAESXCBC AuthAlgorithm = "aes-xcbc"
23+
AuthAlgorithmAESCMAC AuthAlgorithm = "aes-cmac"
24+
EncryptionAlgorithm3DES EncryptionAlgorithm = "3des"
25+
EncryptionAlgorithmAES128 EncryptionAlgorithm = "aes-128"
26+
EncryptionAlgorithmAES192 EncryptionAlgorithm = "aes-192"
27+
EncryptionAlgorithmAES256 EncryptionAlgorithm = "aes-256"
28+
EncryptionAlgorithmAES128CTR EncryptionAlgorithm = "aes-128-ctr"
29+
EncryptionAlgorithmAES192CTR EncryptionAlgorithm = "aes-192-ctr"
30+
EncryptionAlgorithmAES256CTR EncryptionAlgorithm = "aes-256-ctr"
31+
EncryptionAlgorithmAES128CCM8 EncryptionAlgorithm = "aes-128-ccm-8"
32+
EncryptionAlgorithmAES128CCM12 EncryptionAlgorithm = "aes-128-ccm-12"
33+
EncryptionAlgorithmAES128CCM16 EncryptionAlgorithm = "aes-128-ccm-16"
34+
EncryptionAlgorithmAES192CCM8 EncryptionAlgorithm = "aes-192-ccm-8"
35+
EncryptionAlgorithmAES192CCM12 EncryptionAlgorithm = "aes-192-ccm-12"
36+
EncryptionAlgorithmAES192CCM16 EncryptionAlgorithm = "aes-192-ccm-16"
37+
EncryptionAlgorithmAES256CCM8 EncryptionAlgorithm = "aes-256-ccm-8"
38+
EncryptionAlgorithmAES256CCM12 EncryptionAlgorithm = "aes-256-ccm-12"
39+
EncryptionAlgorithmAES256CCM16 EncryptionAlgorithm = "aes-256-ccm-16"
40+
EncryptionAlgorithmAES128GCM8 EncryptionAlgorithm = "aes-128-gcm-8"
41+
EncryptionAlgorithmAES128GCM12 EncryptionAlgorithm = "aes-128-gcm-12"
42+
EncryptionAlgorithmAES128GCM16 EncryptionAlgorithm = "aes-128-gcm-16"
43+
EncryptionAlgorithmAES192GCM8 EncryptionAlgorithm = "aes-192-gcm-8"
44+
EncryptionAlgorithmAES192GCM12 EncryptionAlgorithm = "aes-192-gcm-12"
45+
EncryptionAlgorithmAES192GCM16 EncryptionAlgorithm = "aes-192-gcm-16"
46+
EncryptionAlgorithmAES256GCM8 EncryptionAlgorithm = "aes-256-gcm-8"
47+
EncryptionAlgorithmAES256GCM12 EncryptionAlgorithm = "aes-256-gcm-12"
48+
EncryptionAlgorithmAES256GCM16 EncryptionAlgorithm = "aes-256-gcm-16"
49+
UnitSeconds Unit = "seconds"
50+
UnitKilobytes Unit = "kilobytes"
51+
PFSGroup2 PFS = "group2"
52+
PFSGroup5 PFS = "group5"
53+
PFSGroup14 PFS = "group14"
54+
PFSGroup15 PFS = "group15"
55+
PFSGroup16 PFS = "group16"
56+
PFSGroup17 PFS = "group17"
57+
PFSGroup18 PFS = "group18"
58+
PFSGroup19 PFS = "group19"
59+
PFSGroup20 PFS = "group20"
60+
PFSGroup21 PFS = "group21"
61+
PFSGroup22 PFS = "group22"
62+
PFSGroup23 PFS = "group23"
63+
PFSGroup24 PFS = "group24"
64+
PFSGroup25 PFS = "group25"
65+
PFSGroup26 PFS = "group26"
66+
PFSGroup27 PFS = "group27"
67+
PFSGroup28 PFS = "group28"
68+
PFSGroup29 PFS = "group29"
69+
PFSGroup30 PFS = "group30"
70+
PFSGroup31 PFS = "group31"
71+
IKEVersionv1 IKEVersion = "v1"
72+
IKEVersionv2 IKEVersion = "v2"
73+
Phase1NegotiationModeMain Phase1NegotiationMode = "main"
3474
)
3575

3676
// CreateOptsBuilder allows extensions to add additional parameters to the

openstack/networking/v2/extensions/vpnaas/ipsecpolicies/requests.go

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,64 @@ type PFS string
1515
type Unit string
1616

1717
const (
18-
TransformProtocolESP TransformProtocol = "esp"
19-
TransformProtocolAH TransformProtocol = "ah"
20-
TransformProtocolAHESP TransformProtocol = "ah-esp"
21-
AuthAlgorithmSHA1 AuthAlgorithm = "sha1"
22-
AuthAlgorithmSHA256 AuthAlgorithm = "sha256"
23-
AuthAlgorithmSHA384 AuthAlgorithm = "sha384"
24-
AuthAlgorithmSHA512 AuthAlgorithm = "sha512"
25-
EncryptionAlgorithm3DES EncryptionAlgorithm = "3des"
26-
EncryptionAlgorithmAES128 EncryptionAlgorithm = "aes-128"
27-
EncryptionAlgorithmAES256 EncryptionAlgorithm = "aes-256"
28-
EncryptionAlgorithmAES192 EncryptionAlgorithm = "aes-192"
29-
EncapsulationModeTunnel EncapsulationMode = "tunnel"
30-
EncapsulationModeTransport EncapsulationMode = "transport"
31-
UnitSeconds Unit = "seconds"
32-
UnitKilobytes Unit = "kilobytes"
33-
PFSGroup2 PFS = "group2"
34-
PFSGroup5 PFS = "group5"
35-
PFSGroup14 PFS = "group14"
18+
TransformProtocolESP TransformProtocol = "esp"
19+
TransformProtocolAH TransformProtocol = "ah"
20+
TransformProtocolAHESP TransformProtocol = "ah-esp"
21+
AuthAlgorithmSHA1 AuthAlgorithm = "sha1"
22+
AuthAlgorithmSHA256 AuthAlgorithm = "sha256"
23+
AuthAlgorithmSHA384 AuthAlgorithm = "sha384"
24+
AuthAlgorithmSHA512 AuthAlgorithm = "sha512"
25+
AuthAlgorithmAESXCBC AuthAlgorithm = "aes-xcbc"
26+
AuthAlgorithmAESCMAC AuthAlgorithm = "aes-cmac"
27+
EncryptionAlgorithm3DES EncryptionAlgorithm = "3des"
28+
EncryptionAlgorithmAES128 EncryptionAlgorithm = "aes-128"
29+
EncryptionAlgorithmAES192 EncryptionAlgorithm = "aes-192"
30+
EncryptionAlgorithmAES256 EncryptionAlgorithm = "aes-256"
31+
EncryptionAlgorithmAES128CTR EncryptionAlgorithm = "aes-128-ctr"
32+
EncryptionAlgorithmAES192CTR EncryptionAlgorithm = "aes-192-ctr"
33+
EncryptionAlgorithmAES256CTR EncryptionAlgorithm = "aes-256-ctr"
34+
EncryptionAlgorithmAES128CCM8 EncryptionAlgorithm = "aes-128-ccm-8"
35+
EncryptionAlgorithmAES128CCM12 EncryptionAlgorithm = "aes-128-ccm-12"
36+
EncryptionAlgorithmAES128CCM16 EncryptionAlgorithm = "aes-128-ccm-16"
37+
EncryptionAlgorithmAES192CCM8 EncryptionAlgorithm = "aes-192-ccm-8"
38+
EncryptionAlgorithmAES192CCM12 EncryptionAlgorithm = "aes-192-ccm-12"
39+
EncryptionAlgorithmAES192CCM16 EncryptionAlgorithm = "aes-192-ccm-16"
40+
EncryptionAlgorithmAES256CCM8 EncryptionAlgorithm = "aes-256-ccm-8"
41+
EncryptionAlgorithmAES256CCM12 EncryptionAlgorithm = "aes-256-ccm-12"
42+
EncryptionAlgorithmAES256CCM16 EncryptionAlgorithm = "aes-256-ccm-16"
43+
EncryptionAlgorithmAES128GCM8 EncryptionAlgorithm = "aes-128-gcm-8"
44+
EncryptionAlgorithmAES128GCM12 EncryptionAlgorithm = "aes-128-gcm-12"
45+
EncryptionAlgorithmAES128GCM16 EncryptionAlgorithm = "aes-128-gcm-16"
46+
EncryptionAlgorithmAES192GCM8 EncryptionAlgorithm = "aes-192-gcm-8"
47+
EncryptionAlgorithmAES192GCM12 EncryptionAlgorithm = "aes-192-gcm-12"
48+
EncryptionAlgorithmAES192GCM16 EncryptionAlgorithm = "aes-192-gcm-16"
49+
EncryptionAlgorithmAES256GCM8 EncryptionAlgorithm = "aes-256-gcm-8"
50+
EncryptionAlgorithmAES256GCM12 EncryptionAlgorithm = "aes-256-gcm-12"
51+
EncryptionAlgorithmAES256GCM16 EncryptionAlgorithm = "aes-256-gcm-16"
52+
EncapsulationModeTunnel EncapsulationMode = "tunnel"
53+
EncapsulationModeTransport EncapsulationMode = "transport"
54+
UnitSeconds Unit = "seconds"
55+
UnitKilobytes Unit = "kilobytes"
56+
PFSGroup2 PFS = "group2"
57+
PFSGroup5 PFS = "group5"
58+
PFSGroup14 PFS = "group14"
59+
PFSGroup15 PFS = "group15"
60+
PFSGroup16 PFS = "group16"
61+
PFSGroup17 PFS = "group17"
62+
PFSGroup18 PFS = "group18"
63+
PFSGroup19 PFS = "group19"
64+
PFSGroup20 PFS = "group20"
65+
PFSGroup21 PFS = "group21"
66+
PFSGroup22 PFS = "group22"
67+
PFSGroup23 PFS = "group23"
68+
PFSGroup24 PFS = "group24"
69+
PFSGroup25 PFS = "group25"
70+
PFSGroup26 PFS = "group26"
71+
PFSGroup27 PFS = "group27"
72+
PFSGroup28 PFS = "group28"
73+
PFSGroup29 PFS = "group29"
74+
PFSGroup30 PFS = "group30"
75+
PFSGroup31 PFS = "group31"
3676
)
3777

3878
// CreateOptsBuilder allows extensions to add additional parameters to the

0 commit comments

Comments
 (0)