Virgil PFS

Virgil is a stack of security libraries (ECIES with Crypto Agility wrapped in Virgil Cryptogram) and all the necessary infrastructure to enable seamless, end-to-end encryption for any application, platform or device. Learn about Virgil Java/Android SDK https://virgilsecurity.com/api-docs/java-android/quickstart

License

License

Virgil Security, Inc. license
Categories

Categories

Security
GroupId

GroupId

com.virgilsecurity.pfs
ArtifactId

ArtifactId

pfs
Last Version

Last Version

1.1.2
Release Date

Release Date

Type

Type

jar
Description

Description

Virgil PFS
Virgil is a stack of security libraries (ECIES with Crypto Agility wrapped in Virgil Cryptogram) and all the necessary infrastructure to enable seamless, end-to-end encryption for any application, platform or device. Learn about Virgil Java/Android SDK https://virgilsecurity.com/api-docs/java-android/quickstart
Project URL

Project URL

https://www.virgilsecurity.com/

Download pfs

How to add to project

<!-- https://jarcasting.com/artifacts/com.virgilsecurity.pfs/pfs/ -->
<dependency>
    <groupId>com.virgilsecurity.pfs</groupId>
    <artifactId>pfs</artifactId>
    <version>1.1.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.virgilsecurity.pfs/pfs/
implementation 'com.virgilsecurity.pfs:pfs:1.1.2'
// https://jarcasting.com/artifacts/com.virgilsecurity.pfs/pfs/
implementation ("com.virgilsecurity.pfs:pfs:1.1.2")
'com.virgilsecurity.pfs:pfs:jar:1.1.2'
<dependency org="com.virgilsecurity.pfs" name="pfs" rev="1.1.2">
  <artifact name="pfs" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.virgilsecurity.pfs', module='pfs', version='1.1.2')
)
libraryDependencies += "com.virgilsecurity.pfs" % "pfs" % "1.1.2"
[com.virgilsecurity.pfs/pfs "1.1.2"]

Dependencies

compile (1)

Group / Artifact Type Version
com.virgilsecurity.sdk : sdk jar 4.6.0

test (4)

Group / Artifact Type Version
junit : junit jar 4.12
org.mockito : mockito-core jar 2.8.47
commons-io : commons-io jar 2.4
commons-lang : commons-lang jar 2.6

Project Modules

There are no modules declared in this project.

Introduction

Virgil Perfect Forward Secrecy (PFS) is designed to prevent a possibly compromised long-term secret key from affecting the confidentiality of past communications. In this tutorial, we will be helping two people or IoT devices to communicate with end-to-end encryption with PFS enabled.

Get started

Read Get started document which describes common cases of Virgil PFS usage.

Migration manual

Migrate to 1.1 from 1.0

Release notes

  • Added multiple sessions support

Update client dependencies

Maven

<dependencies>
    <dependency>
        <groupId>com.virgilsecurity.sdk</groupId>
        <artifactId>crypto</artifactId>
        <version>4.5.0</version>
    </dependency>
    <dependency>
        <groupId>com.virgilsecurity.pfs</groupId>
        <artifactId>pfs</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

Gradle (Android)

compile 'com.virgilsecurity.sdk:crypto-android:4.5.0@aar'
compile 'com.virgilsecurity.sdk:sdk-android:4.5.0@aar'
compile 'com.virgilsecurity.pfs:pfs-android:1.1.1@aar'
compile 'com.google.code.gson:gson:2.7'

Source code changes

  • New key attributes stored in KeyStorage. See com.virgilsecurity.sdk.securechat.keystorage.JsonFileKeyStorage.
  • setUserDefaults method of com.virgilsecurity.sdk.securechat.SecureChat class renamed to setUserDataStorage
  • Changed structure of data stored in DataStorage
  • com.virgilsecurity.sdk.securechat.SecureSession class moved to com.virgilsecurity.sdk.securechat.session package
  • added additional data parameter to SecureChat.loadUpSession method

Data migration

Call initialize(); method of SecureChat instance right after SecureChat intance created. It will migrate structure of the data stored by previous version.

com.virgilsecurity.pfs

Virgil Security, Inc.

Virgil Security, Inc. enables developers to eliminate passwords & encrypt everything, in hours, without having to become security experts.

Versions

Version
1.1.2
1.1.1
1.1.0
1.0.0