diff --git a/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCArmor.java b/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCArmor.java index 9ac8ba2..66f52a9 100644 --- a/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCArmor.java +++ b/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCArmor.java @@ -1,6 +1,8 @@ package org.pgpainless.bouncycastle.sop.operation; +import org.bouncycastle.bcpg.ArmoredInputStream; import org.bouncycastle.bcpg.ArmoredOutputStream; +import org.bouncycastle.openpgp.PGPUtil; import org.bouncycastle.openpgp.api.OpenPGPApi; import org.bouncycastle.util.io.Streams; import org.jetbrains.annotations.NotNull; @@ -26,10 +28,11 @@ public class BCArmor return new Ready() { @Override public void writeTo(@NotNull OutputStream outputStream) throws IOException { + InputStream decodeIn = PGPUtil.getDecoderStream(inputStream); ArmoredOutputStream aOut = ArmoredOutputStream.builder() .clearHeaders() .build(outputStream); - Streams.pipeAll(inputStream, aOut); + Streams.pipeAll(decodeIn, aOut); aOut.close(); } }; diff --git a/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCDearmor.java b/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCDearmor.java index 8bfda06..f4c94fc 100644 --- a/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCDearmor.java +++ b/bc-sop-api/src/main/java/org/pgpainless/bouncycastle/sop/operation/BCDearmor.java @@ -1,6 +1,6 @@ package org.pgpainless.bouncycastle.sop.operation; -import org.bouncycastle.bcpg.ArmoredInputStream; +import org.bouncycastle.openpgp.PGPUtil; import org.bouncycastle.openpgp.api.OpenPGPApi; import org.bouncycastle.util.io.Streams; import org.jetbrains.annotations.NotNull; @@ -26,9 +26,9 @@ public class BCDearmor return new Ready() { @Override public void writeTo(@NotNull OutputStream outputStream) throws IOException { - ArmoredInputStream aIn = new ArmoredInputStream(inputStream); - Streams.pipeAll(aIn, outputStream); - aIn.close(); + InputStream decodeIn = PGPUtil.getDecoderStream(inputStream); + Streams.pipeAll(decodeIn, outputStream); + decodeIn.close(); } }; }