mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-26 06:12:06 +01:00
Bump sop-java to 10.0.0-SNAPSHOT and implement sopv interface subset
This commit is contained in:
parent
fa5bdfcd82
commit
3ac273757a
5 changed files with 59 additions and 3 deletions
|
@ -6,7 +6,7 @@ SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
# PGPainless-SOP
|
# PGPainless-SOP
|
||||||
|
|
||||||
[![Spec Revision: 8](https://img.shields.io/badge/Spec%20Revision-8-blue)](https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/)
|
[![Spec Revision: 10](https://img.shields.io/badge/Spec%20Revision-10-blue)](https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/)
|
||||||
[![Maven Central](https://badgen.net/maven/v/maven-central/org.pgpainless/pgpainless-sop)](https://search.maven.org/artifact/org.pgpainless/pgpainless-sop)
|
[![Maven Central](https://badgen.net/maven/v/maven-central/org.pgpainless/pgpainless-sop)](https://search.maven.org/artifact/org.pgpainless/pgpainless-sop)
|
||||||
[![javadoc](https://javadoc.io/badge2/org.pgpainless/pgpainless-sop/javadoc.svg)](https://javadoc.io/doc/org.pgpainless/pgpainless-sop)
|
[![javadoc](https://javadoc.io/badge2/org.pgpainless/pgpainless-sop/javadoc.svg)](https://javadoc.io/doc/org.pgpainless/pgpainless-sop)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
// SPDX-FileCopyrightText: 2024 Paul Schaub <vanitasvitae@fsfe.org>
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
package org.pgpainless.sop;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.pgpainless.util.ArmoredOutputStreamFactory;
|
||||||
|
import sop.SOPV;
|
||||||
|
import sop.operation.DetachedVerify;
|
||||||
|
import sop.operation.InlineVerify;
|
||||||
|
import sop.operation.Version;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of the <pre>sopv</pre> interface subset using PGPainless.
|
||||||
|
*/
|
||||||
|
public class SOPVImpl implements SOPV {
|
||||||
|
|
||||||
|
static {
|
||||||
|
ArmoredOutputStreamFactory.setVersionInfo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public DetachedVerify detachedVerify() {
|
||||||
|
return new DetachedVerifyImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public InlineVerify inlineVerify() {
|
||||||
|
return new InlineVerifyImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public Version version() {
|
||||||
|
return new VersionImpl();
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,6 +10,8 @@ import java.util.Locale;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import sop.exception.SOPGPException;
|
||||||
import sop.operation.Version;
|
import sop.operation.Version;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
@ -20,7 +22,9 @@ import javax.annotation.Nonnull;
|
||||||
public class VersionImpl implements Version {
|
public class VersionImpl implements Version {
|
||||||
|
|
||||||
// draft version
|
// draft version
|
||||||
private static final int SOP_VERSION = 8;
|
private static final int SOP_VERSION = 10;
|
||||||
|
|
||||||
|
private static final String SOPV_VERSION = "1.0";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nonnull
|
@Nonnull
|
||||||
|
@ -86,4 +90,9 @@ public class VersionImpl implements Version {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public String getSopVVersion() throws SOPGPException.UnsupportedOption {
|
||||||
|
return SOPV_VERSION;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,4 +72,11 @@ public class VersionTest {
|
||||||
assertTrue(fullSopSpecVersion.endsWith(incompletenessRemarks));
|
assertTrue(fullSopSpecVersion.endsWith(incompletenessRemarks));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetSopVVersion() {
|
||||||
|
String sopVVersion = sop.version().getSopVVersion();
|
||||||
|
assertNotNull(sopVVersion);
|
||||||
|
assertTrue(sopVVersion.matches("\\d+\\.\\d+(\\.\\d+)*")); // X.Y or X.Y.Z... etc.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,6 @@ allprojects {
|
||||||
logbackVersion = '1.2.13'
|
logbackVersion = '1.2.13'
|
||||||
mockitoVersion = '4.5.1'
|
mockitoVersion = '4.5.1'
|
||||||
slf4jVersion = '1.7.36'
|
slf4jVersion = '1.7.36'
|
||||||
sopJavaVersion = '8.0.1'
|
sopJavaVersion = '10.0.0-SNAPSHOT'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue