[java-opensaml] 16/17: Add NamedCurve impls for legacy curves as defined by SunEC provider.
Brent Putman
putmanb at georgetown.edu
Thu Feb 11 03:55:22 UTC 2021
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch dev/OSJ-82
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=5a5ce02012c4a1778b9246a37aacf066b5506036
commit 5a5ce02012c4a1778b9246a37aacf066b5506036
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Fri Feb 5 12:38:51 2021 -0500
Add NamedCurve impls for legacy curves as defined by SunEC provider.
---
.../security/crypto/ec/curves/BrainpoolP256r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/BrainpoolP320r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/BrainpoolP384r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/BrainpoolP512r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp112r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp112r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp128r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp128r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp160k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp160r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp160r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp192k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp192r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp224k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp224r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Secp256k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect113r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect113r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect131r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect131r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect163k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect163r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect163r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect193r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect193r2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect233k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect233r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect239k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect283k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect283r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect409k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect409r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect571k1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/Sect571r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb191v1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb191v2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb191v3.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb239v1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb239v2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb239v3.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb359v1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962c2tnb431r1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962prime192v2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962prime192v3.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962prime239v1.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962prime239v2.java | 35 ++++++++++++++++
.../security/crypto/ec/curves/X962prime239v3.java | 35 ++++++++++++++++
.../org.opensaml.security.crypto.ec.NamedCurve | 49 +++++++++++++++++++++-
.../security/crypto/ec/curves/NamedCurvesTest.java | 20 ++++++++-
49 files changed, 1711 insertions(+), 3 deletions(-)
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java
new file mode 100644
index 000000000..e201ff4d5
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'brainpoolP256r1', OID: 1.3.36.3.3.2.8.1.1.7.
+ */
+public class BrainpoolP256r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.36.3.3.2.8.1.1.7";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "brainpoolP256r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java
new file mode 100644
index 000000000..188e8f5a3
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'brainpoolP320r1', OID: 1.3.36.3.3.2.8.1.1.9.
+ */
+public class BrainpoolP320r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.36.3.3.2.8.1.1.9";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "brainpoolP320r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java
new file mode 100644
index 000000000..cbd23293c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'brainpoolP384r1', OID: 1.3.36.3.3.2.8.1.1.11.
+ */
+public class BrainpoolP384r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.36.3.3.2.8.1.1.11";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "brainpoolP384r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java
new file mode 100644
index 000000000..47ccb6c53
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'brainpoolP512r1', OID: 1.3.36.3.3.2.8.1.1.13.
+ */
+public class BrainpoolP512r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.36.3.3.2.8.1.1.13";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "brainpoolP512r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java
new file mode 100644
index 000000000..754da92e8
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp112r1', OID: 1.3.132.0.6.
+ */
+public class Secp112r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.6";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp112r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java
new file mode 100644
index 000000000..9e717b694
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp112r2', OID: 1.3.132.0.7.
+ */
+public class Secp112r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.7";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp112r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java
new file mode 100644
index 000000000..88dda4465
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp128r1', OID: 1.3.132.0.28.
+ */
+public class Secp128r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.28";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp128r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java
new file mode 100644
index 000000000..d047a2edd
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp128r2', OID: 1.3.132.0.29.
+ */
+public class Secp128r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.29";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp128r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java
new file mode 100644
index 000000000..543cb825c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp160k1', OID: 1.3.132.0.9.
+ */
+public class Secp160k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.9";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp160k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java
new file mode 100644
index 000000000..d8707f041
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp160r1', OID: 1.3.132.0.8.
+ */
+public class Secp160r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.8";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp160r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java
new file mode 100644
index 000000000..973610b19
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp160r2', OID: 1.3.132.0.30.
+ */
+public class Secp160r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.30";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp160r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java
new file mode 100644
index 000000000..5bc357784
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp192k1', OID: 1.3.132.0.31.
+ */
+public class Secp192k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.31";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp192k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java
new file mode 100644
index 000000000..008cd1a6c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp192r1', OID: 1.2.840.10045.3.1.1.
+ */
+public class Secp192r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.1";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp192r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java
new file mode 100644
index 000000000..7f71d766d
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp224k1', OID: 1.3.132.0.32.
+ */
+public class Secp224k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.32";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp224k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java
new file mode 100644
index 000000000..ba895d119
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp224r1', OID: 1.3.132.0.33.
+ */
+public class Secp224r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.33";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp224r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java
new file mode 100644
index 000000000..522d72ab6
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'secp256k1', OID: 1.3.132.0.10.
+ */
+public class Secp256k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.10";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "secp256k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java
new file mode 100644
index 000000000..78124128c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect113r1', OID: 1.3.132.0.4.
+ */
+public class Sect113r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.4";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect113r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java
new file mode 100644
index 000000000..c67b30568
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect113r2', OID: 1.3.132.0.5.
+ */
+public class Sect113r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.5";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect113r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java
new file mode 100644
index 000000000..05bee5ddb
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect131r1', OID: 1.3.132.0.22.
+ */
+public class Sect131r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.22";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect131r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java
new file mode 100644
index 000000000..a3d05ff2c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect131r2', OID: 1.3.132.0.23.
+ */
+public class Sect131r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.23";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect131r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java
new file mode 100644
index 000000000..fb194aeeb
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect163k1', OID: 1.3.132.0.1.
+ */
+public class Sect163k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.1";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect163k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java
new file mode 100644
index 000000000..8443ab822
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect163r1', OID: 1.3.132.0.2.
+ */
+public class Sect163r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.2";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect163r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java
new file mode 100644
index 000000000..e2c40c32c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect163r2', OID: 1.3.132.0.15.
+ */
+public class Sect163r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.15";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect163r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java
new file mode 100644
index 000000000..f917401db
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect193r1', OID: 1.3.132.0.24.
+ */
+public class Sect193r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.24";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect193r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java
new file mode 100644
index 000000000..493d2b882
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect193r2', OID: 1.3.132.0.25.
+ */
+public class Sect193r2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.25";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect193r2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java
new file mode 100644
index 000000000..8ae2c0bb8
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect233k1', OID: 1.3.132.0.26.
+ */
+public class Sect233k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.26";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect233k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java
new file mode 100644
index 000000000..6be6e92e2
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect233r1', OID: 1.3.132.0.27.
+ */
+public class Sect233r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.27";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect233r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java
new file mode 100644
index 000000000..d88cda61d
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect239k1', OID: 1.3.132.0.3.
+ */
+public class Sect239k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.3";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect239k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java
new file mode 100644
index 000000000..51f28298c
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect283k1', OID: 1.3.132.0.16.
+ */
+public class Sect283k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.16";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect283k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java
new file mode 100644
index 000000000..bbd8dc992
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect283r1', OID: 1.3.132.0.17.
+ */
+public class Sect283r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.17";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect283r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java
new file mode 100644
index 000000000..80bd951b1
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect409k1', OID: 1.3.132.0.36.
+ */
+public class Sect409k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.36";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect409k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java
new file mode 100644
index 000000000..659bb3292
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect409r1', OID: 1.3.132.0.37.
+ */
+public class Sect409r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.37";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect409r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java
new file mode 100644
index 000000000..ff6613714
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect571k1', OID: 1.3.132.0.38.
+ */
+public class Sect571k1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.38";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect571k1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java
new file mode 100644
index 000000000..f0c9d4bff
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'sect571r1', OID: 1.3.132.0.39.
+ */
+public class Sect571r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.3.132.0.39";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "sect571r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java
new file mode 100644
index 000000000..f484104b3
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb191v1', OID: 1.2.840.10045.3.0.5.
+ */
+public class X962c2tnb191v1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.5";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb191v1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java
new file mode 100644
index 000000000..40996cc97
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb191v2', OID: 1.2.840.10045.3.0.6.
+ */
+public class X962c2tnb191v2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.6";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb191v2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java
new file mode 100644
index 000000000..e4ce943fa
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb191v3', OID: 1.2.840.10045.3.0.7.
+ */
+public class X962c2tnb191v3 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.7";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb191v3";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java
new file mode 100644
index 000000000..7e23a70c7
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb239v1', OID: 1.2.840.10045.3.0.11.
+ */
+public class X962c2tnb239v1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.11";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb239v1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java
new file mode 100644
index 000000000..2a570496f
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb239v2', OID: 1.2.840.10045.3.0.12.
+ */
+public class X962c2tnb239v2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.12";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb239v2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java
new file mode 100644
index 000000000..65f9049a6
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb239v3', OID: 1.2.840.10045.3.0.13.
+ */
+public class X962c2tnb239v3 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.13";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb239v3";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java
new file mode 100644
index 000000000..bfafea7e6
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb359v1', OID: 1.2.840.10045.3.0.18.
+ */
+public class X962c2tnb359v1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.18";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb359v1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java
new file mode 100644
index 000000000..ffd834e8a
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 c2tnb431r1', OID: 1.2.840.10045.3.0.20.
+ */
+public class X962c2tnb431r1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.0.20";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 c2tnb431r1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java
new file mode 100644
index 000000000..a3602e163
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 prime192v2', OID: 1.2.840.10045.3.1.2.
+ */
+public class X962prime192v2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.2";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 prime192v2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java
new file mode 100644
index 000000000..29658a4b0
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 prime192v3', OID: 1.2.840.10045.3.1.3.
+ */
+public class X962prime192v3 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.3";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 prime192v3";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java
new file mode 100644
index 000000000..f0b26b48a
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 prime239v1', OID: 1.2.840.10045.3.1.4.
+ */
+public class X962prime239v1 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.4";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 prime239v1";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java
new file mode 100644
index 000000000..452fdd607
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 prime239v2', OID: 1.2.840.10045.3.1.5.
+ */
+public class X962prime239v2 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.5";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 prime239v2";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java
new file mode 100644
index 000000000..4c61976a8
--- /dev/null
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.security.crypto.ec.curves;
+
+/**
+ * Descriptor for named curve 'X9.62 prime239v3', OID: 1.2.840.10045.3.1.6.
+ */
+public class X962prime239v3 extends AbstractNamedCurve {
+
+ /** {@inheritDoc} */
+ public String getObjectIdentifier() {
+ return "1.2.840.10045.3.1.6";
+ }
+
+ /** {@inheritDoc} */
+ public String getName() {
+ return "X9.62 prime239v3";
+ }
+
+}
diff --git a/opensaml-security-api/src/main/resources/META-INF/services/org.opensaml.security.crypto.ec.NamedCurve b/opensaml-security-api/src/main/resources/META-INF/services/org.opensaml.security.crypto.ec.NamedCurve
index 80b2fa93c..ad9879690 100644
--- a/opensaml-security-api/src/main/resources/META-INF/services/org.opensaml.security.crypto.ec.NamedCurve
+++ b/opensaml-security-api/src/main/resources/META-INF/services/org.opensaml.security.crypto.ec.NamedCurve
@@ -1,3 +1,50 @@
+org.opensaml.security.crypto.ec.curves.BrainpoolP256r1
+org.opensaml.security.crypto.ec.curves.BrainpoolP320r1
+org.opensaml.security.crypto.ec.curves.BrainpoolP384r1
+org.opensaml.security.crypto.ec.curves.BrainpoolP512r1
+org.opensaml.security.crypto.ec.curves.Secp112r1
+org.opensaml.security.crypto.ec.curves.Secp112r2
+org.opensaml.security.crypto.ec.curves.Secp128r1
+org.opensaml.security.crypto.ec.curves.Secp128r2
+org.opensaml.security.crypto.ec.curves.Secp160k1
+org.opensaml.security.crypto.ec.curves.Secp160r1
+org.opensaml.security.crypto.ec.curves.Secp160r2
+org.opensaml.security.crypto.ec.curves.Secp192k1
+org.opensaml.security.crypto.ec.curves.Secp192r1
+org.opensaml.security.crypto.ec.curves.Secp224k1
+org.opensaml.security.crypto.ec.curves.Secp224r1
+org.opensaml.security.crypto.ec.curves.Secp256k1
org.opensaml.security.crypto.ec.curves.Secp256r1
org.opensaml.security.crypto.ec.curves.Secp384r1
-org.opensaml.security.crypto.ec.curves.Secp521r1
\ No newline at end of file
+org.opensaml.security.crypto.ec.curves.Secp521r1
+org.opensaml.security.crypto.ec.curves.Sect113r1
+org.opensaml.security.crypto.ec.curves.Sect113r2
+org.opensaml.security.crypto.ec.curves.Sect131r1
+org.opensaml.security.crypto.ec.curves.Sect131r2
+org.opensaml.security.crypto.ec.curves.Sect163k1
+org.opensaml.security.crypto.ec.curves.Sect163r1
+org.opensaml.security.crypto.ec.curves.Sect163r2
+org.opensaml.security.crypto.ec.curves.Sect193r1
+org.opensaml.security.crypto.ec.curves.Sect193r2
+org.opensaml.security.crypto.ec.curves.Sect233k1
+org.opensaml.security.crypto.ec.curves.Sect233r1
+org.opensaml.security.crypto.ec.curves.Sect239k1
+org.opensaml.security.crypto.ec.curves.Sect283k1
+org.opensaml.security.crypto.ec.curves.Sect283r1
+org.opensaml.security.crypto.ec.curves.Sect409k1
+org.opensaml.security.crypto.ec.curves.Sect409r1
+org.opensaml.security.crypto.ec.curves.Sect571k1
+org.opensaml.security.crypto.ec.curves.Sect571r1
+org.opensaml.security.crypto.ec.curves.X962c2tnb191v1
+org.opensaml.security.crypto.ec.curves.X962c2tnb191v2
+org.opensaml.security.crypto.ec.curves.X962c2tnb191v3
+org.opensaml.security.crypto.ec.curves.X962c2tnb239v1
+org.opensaml.security.crypto.ec.curves.X962c2tnb239v2
+org.opensaml.security.crypto.ec.curves.X962c2tnb239v3
+org.opensaml.security.crypto.ec.curves.X962c2tnb359v1
+org.opensaml.security.crypto.ec.curves.X962c2tnb431r1
+org.opensaml.security.crypto.ec.curves.X962prime192v2
+org.opensaml.security.crypto.ec.curves.X962prime192v3
+org.opensaml.security.crypto.ec.curves.X962prime239v1
+org.opensaml.security.crypto.ec.curves.X962prime239v2
+org.opensaml.security.crypto.ec.curves.X962prime239v3
\ No newline at end of file
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/ec/curves/NamedCurvesTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/ec/curves/NamedCurvesTest.java
index 61c591dfc..92cf3e3a1 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/ec/curves/NamedCurvesTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/ec/curves/NamedCurvesTest.java
@@ -82,7 +82,7 @@ public class NamedCurvesTest extends BaseNamedCurveTest {
* i.e. resolve to equivalent instances of ECParameterSpec, and that curve matches the NamedCurve's params.
*
*<p>
- * This test assumes that all curves we'd every register and ship with the library will be supported
+ * This test assumes that all curves we'd ever register and ship with the library will be supported
* by Bouncy Castle. If this ever becomes untrue, we can always disable the test, or remove the
* curves if there is a security or other reason to stop supporting it.
*</p>
@@ -101,7 +101,7 @@ public class NamedCurvesTest extends BaseNamedCurveTest {
ECParameterSpec specByOID = ECSupport.convert(ECNamedCurveTable.getParameterSpec(curve.getObjectIdentifier()));
Assert.assertNotNull(specByOID);
- ECParameterSpec specByName = ECSupport.convert(ECNamedCurveTable.getParameterSpec(curve.getName()));
+ ECParameterSpec specByName = ECSupport.convert(ECNamedCurveTable.getParameterSpec(mapBCCurveName(curve.getName())));
Assert.assertNotNull(specByName);
@@ -111,5 +111,21 @@ public class NamedCurvesTest extends BaseNamedCurveTest {
Assert.assertEquals(new EnhancedECParameterSpec(curve.getParameterSpec()), new EnhancedECParameterSpec(specByOID));
}
}
+
+ //
+ // Helpers
+ //
+
+ /**
+ * BC sometimes has slightly different curve simple names from SunEC, so translate here...
+ * @param standardName
+ * @return the corresponding BC curve name
+ */
+ private String mapBCCurveName(String standardName) {
+ if (standardName.startsWith("X9.62 ")) {
+ return standardName.substring(6);
+ }
+ return standardName;
+ }
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list